虛擬機器中archlinux嘗試LVM分割槽

2022-08-19 12:09:11 字數 3004 閱讀 5384

archlinux

created 星期六 26 一月 2013

本來是打算玩一下 lfs 的,總是用發行版(還幾年 ubuntu——入門版 linux ),搞得自己太業餘了點(不過,lfs也沒多專業,好吧)。但是呢官網 lfs 的 live cd 是比較老的,而且不更新了。於是乎,看來使用虛擬機器更好玩一點,如果是在主機上分割槽出了亂子就損失大了。那麼試試 archlinux 吧,不能總用 ubuntu 吧。想看詳細過程的直接拉到後邊吧。

第一次嘗試 archlinux 非常順利,因為 wiki 實在詳細,按部就班就是了。除了那個 nat 網路有點問題(第3次嘗試的時候,虛擬機器的網絡卡調成 virtio-net,照 wiki 再搞終於好了),每次總是需要手動 dhcpcd 一下。但是我的分割槽沒有搞得太好,總不能我的 lfs 放在 archlinux 分割槽內部吧,最好還是有單獨的分割槽好一點,使用的 mbr 分割槽表。

於是我想重灌 archlinux,第二次當然不甘心還是老樣子安裝了,試試 lvm 分割槽吧。沒想到把/boot安裝到 lvm 有一點小蹊蹺,最後的 grub2 總是安裝不上 「core.img is unusually large」,第三次重灌還是這樣。

搞了大半夜才搞明白原來grub安裝時有乙個幾十kb大小的 core.img 放在 mbr 和第乙個分割槽之間的數百kb內的(一般的分割槽工具預設的空間都非常小,除非你自己設定第乙個分割槽從 2m開始,用 parted 方便一點,單位最好 unit compact)。但是由於那個 core.img 的 lvm 分割槽載入支援模組比較大,於是導致那一點空間放不下新的加了模組的「大」core.img 了,最後 grub-install 抱怨你的 core.img is unusually large,沒有空間放置。

本來可以使用 parted 所有分割槽向後移動 2m 就可以了,但是為了一次成功,還是來第四次重灌吧,畢竟移動分割槽這樣的操作很容易出問題。這一次分割槽,第乙個分割槽 使用 parted 空下2m開始,其他的 lfs 分割槽,swap 分割槽(為了照顧 lfs 編譯)照舊。ok,果然grub-install install finished no error 了。但是重啟問題又來了 grub 找不到 分割槽 wtf...

需要用到的 wik i分在4個不同頁面。

總結:rtf wiki pages carefully!!

然後安心的 lfs 吧。

下邊是主要過程:

開啟 virtualbox 設定硬碟大小。網路選 nat ,網絡卡驅動選 virtio-net ,匯入 archlinux 映象。

選擇第一項進入映象系統。

系統自動執行了 dhcpcd,所以 ping -c 3 www.baidu.com 是 ping 得通的,如果虛擬機器宿主機可以上網的話。

#使用 parted 分割槽

parted

#設定單位

unit compact

#分第乙個區 /dev/sda1 給 arch 的 lvm 卷,從 2m 開始,大小 10g

mkpart

primary

2m10242m

q#分第二個區 /dev/sda2,給 lfs 的 lvm 卷,這次使用 cfdisk,這樣方便直觀一點,大小5g;最後給 swap ,type 為82,分割槽大小 2g。write 寫入分割槽表,quit 退出。注意 cfdisk 中,前邊顯示空了2m,不要管它,後邊安裝 grub2 時,core.img 就是放在那裡的,不需要分割槽。

#載入 lvm 需要的 module

modprobe dm-mod

#建立物理卷(pv)

pvcreate /dev/sda1

pvcreate /dev/sda2

pvdisplay

#建立捲組(vg),vg_arch 只有一塊物理卷(pv),vg_lfs 也只有一塊pv

vgcreate vg /dev/sda1

vgcreate vg /dev/sda2

vgdisplay

vi /etc/locale.gen

去除掉一下注釋

en_us.utf-8 utf-8

zh_cn.gb18030 gb18030

zh_cn.gbk gbk

zh_cn.utf-8 utf-8

zh_cn gb2312

#然後執行

locale-gen

vi /etc/locale.conf

#新增如下

lang=zh_cn.utf-8

lc_time=en_gb.utf-8

#做個鏈結

ln -s /usr/share/zoneinfo/asia/shanghai /etc/localtime

hwclock --systohc --utc

#編輯 /etc/modules-load.d/virtio-net.conf

#新增如下

# load virtio-net.ko at boot

virtio-net

#myhostname 是你的主機名字

echo myhostname > /etc/hostname

#因為是虛擬機器,直接動態ip得了省事

systemctl enable [email protected]

#這玩意兒是什麼?wiki 說當系統啟動的時候 initramfs 僅需要包含讀取根檔案系統的必要檔案。但是如本文需要使用lvm或者加密分割槽這樣的檔案系統,就需要特殊設定模組了。

#儲存後執行

mkinitcpio -p linux

#用 passwd 設定乙個root密碼:

passwd

pacman -syy

pacman -s grub-bios

#grub-install --modules=lvm --target=i386-pc --recheck /dev/sda

# cp /usr/share/locale/en\@quot/lc_messages/grub.mo /boot/grub/locale/en.mo

grub-mkconfig -o /boot/grub/grub.cfg

重啟,應該沒問題了。

虛擬機器下執行多個VxWorks的嘗試

在軟體除錯階段肯能會遇到需要執行兩個vxworks系統,彼此交聯。在vmware中,lz嘗試在一台pc的vmware上同時執行兩個vxworks,但尚未成功,先把前期工作記錄下來,後面有時間了繼續嘗試。前提 已經在vmware中執行起了乙個vxworks。這裡執行兩個vxworks的困難在於 1 同...

KVM巢狀虛擬化 在虛擬機器中建立虛擬機器

一般情況下,我們是無法在kvm虛擬機器裡面再去建立虛擬機器的,因為我們的kvm虛擬機器的cpu預設情況下並不支援虛擬化功能,對於inter的cpu來說,如果要支援虛擬化功能,必須要有乙個叫vmx的特性,以下是乙個物理伺服器的cpu資訊 在cpu特性 flags 中包含了vmx這個特性,說明這台伺服器...

centos7 kvm虛擬機器中開啟虛擬機器

1 檢視當前宿主機系統中是否支援。cat sys module kvm intel parameters nested y 結果為y表示當前的作業系統已經支援了巢狀虛擬化,使用跑虛擬化的程式直接使用就ok了 n 那當然就表示當前作業系統未配置巢狀虛擬化嘍2 如果你的結果為n,看下配置過程吧 vi e...