Archlinux我所欲也,VirtualBox亦我所欲也,兩者可以得兼,AV是也。
現在機器性能越來越強,新機器上跑的虛擬機性能不會比5年前的電腦差,如果只是上上網聊聊天,聽聽音樂看看電影,簡直就是浪費。所以我經常嘗試新系統、新軟件,自從有了虛擬機就象是孫悟空得了那金箍棒,腰不酸腿不疼,吃嘛嘛香,花果山我的地盤我做主。再說現在虛擬化和云計算一樣,正時髦呢,好比楊冪上戛納,咱顯擺的就是虛擬。
維基百科上有張虛擬機軟件比較表,我只用過其中的bochs、qemu、virtualbox、vmware。據說內核開發bochs比較好,我還想學學內核,當會專文記錄,暫且按下不表。從開源和性能方面考慮,virtualbox實在是居家旅行殺人滅口的必備良藥啊:
sudo pacman -S virtualboxsudo gpasswd -a $USER vboxusers
virtualbox安裝后,系統中多了個vboxusers用戶組,只有屬于該組的用戶能使用虛擬機
/etc/rc.conf
MODULES=(…… vboxdrv vboxnetflt)
/etc/rc.local
# Dry-load vbox* modules and trigger a rebuild if modprobe failsmodprobe -nqs vbox{drv,pci,net{flt,adp}} >/dev/null 2>&1 || ( /usr/bin/vboxbuild && . /etc/rc.conf && modprobe -ab ${MODULES[*]} )
內核更新后需要重新編譯模塊,上面提供的方案先嘗試加載模塊,如果失敗則自動編譯
官方wiki上現在推薦的方法是使用mkinitcpio hook,以便在內核更新時會自動編譯,相關hook在aur中。
按通常方法在virtualbox中安裝archlinux后,archlinux還只是“可用”,要“好用”就需要一些特別設置和調整
sudo pacman -S virtualbox-archlinux-additionssudo groupadd vboxsfsudo gpasswd -a $USER vboxsf
要實現開機自動加載共享目錄等功能,用戶必須是vboxsf組成員,你需要手工創建該用戶組
/etc/rc.conf
MODULES=(... vboxguest vboxsf vboxvideo)……DAEMONS=(... vbox-service ...)
vbox-service默認開啟了很多實用功能,如與host主機同步時間,開機加載共享目錄等,你也可以用VBoxService命令手動控制它們
.xinitrc
VBoxClient-all &exec ck-launch-session startkde
VBoxClient命令提供了剪貼板共享等高級桌面功能,VBoxClient-all用來開啟所有這些功能
創建/etc/modprobe.d/blacklist.conf
blacklist i2c_piix4
虛擬機不含SMBus系統總線,啟動時udev會有報錯信息,將i2c_piix4模塊列入黑名單即可
技巧及其它:共享文件夾在客戶機中會被掛載到/media目錄下的sf_sharedfolder目錄