歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> BSD下虛擬機qemu入門詳解

BSD下虛擬機qemu入門詳解

日期:2017/2/28 11:19:05   编辑:關於Unix


  大家在windows 下都用什麼虛擬機?可能大多數都是用VM ware 吧,那在BSD下呢?在我還用4.10的時候我也是用VM ware,但是VM ware是要授權文件的,不過這個文件是可以下載到的。但是現在,在BSD下,有了更好的選擇,那就是qemu,一個開源的虛擬機,小巧而快速,好了不多說,我現在 是在BSD下打算虛擬出一個win來,並且讓 win能上網
  1.首先,用ports安裝
  #cd /usr/ports/emulators/qemu #路徑不怎麼記得了,不好意思
  #make WITH_KQEMU=yes install clean #這裡有個選項,with_kqemu,當初我就是沒裝個,導致出錯,用了這個選項後 會在BSD啟動時加入 kqemu.ko
  然後就是幾分鐘的時間,很快的就可以裝好qemu了(呵呵,比VM 時間短)
  2.接下來就是使用qemu了,
  首先建議您重啟BSD,當然,不重啟也可以,用下面的步驟就可以了:
  #rehash
  #kldload kqemu.ko
  
  3.要用虛擬機,當然先要為虛擬機准備一塊磁盤,這裡推薦使用img格式的文件做為虛擬磁盤,當然,qemu兼容vm的文件,有興趣你也可以試試。個人感覺似乎img的磁盤文件會更快點。往下看
  #mkdir /tmp/qemu #找個地方安裝你的虛擬機,要注意下自己的空間哦,不要像我,直接放在了 /下,造成空間不足。強烈建議你先 df -h下
  #cd /tmp/qemu
  #qemu-img create windows.img 2G#這個就是創建虛擬機磁盤,後面的2G意思是創建一個2G的磁盤
  
  4.接下就是要安裝虛擬機了,我有兩手准備,一是光驅,二是ISO文件。下面就開始安裝
  #qemu -hda windows.img -cdrom /dev/acd0 -boot d -m 512 -enable-audio -localtime
  解釋下上面的語法:
  -hda.是指定硬盤,在本文裡我們使用的是剛才創建的/tmp/qemu/windows.img
  -cdrom 指定使用光驅,這個參數後面必須要跟個文件名,在上面的例子裡我用的是我的物理光驅/dev/acd0,如果你要使用ISO文件,那就寫上文件的路徑,比如我第二安裝時用的就是/mtn/e/xp.iso
  -m.是指定虛擬機使用的內存大小,後面的數字即是你要指定的內存數,我的是512M
  -boot 當然就是指定虛擬機啟動用的設備,-boot後可以選擇的參數是 a ,c ,d .其中a 是指從軟盤啟動,c 就是用硬盤啟動,d 當然就是光驅啟動了。
  -enable-audio 這個意思我就不說了。
  -localtime 就是說要使用你的實際主板bios上的時間。
  好了,按以上的步驟做了以後,就可以順利的進入虛擬機了,並開始安裝了。
  *注意:如果你在安裝QEMU沒有選擇 WITH_KQEMU,那麼你將不能使用ISO文件來安裝,這一點要注意。要想自己是否安裝了kqemu.ko就自己看下:
  
  #kldstat
  下面是引用Linux下的Qemu的使用,由天Qemu是跨平台的,所以應該通用,當然,我只是為可能出現的問題提供一個解決參考:
  安裝過程中,要求換盤:
  在qemu中按ctrl+alt+2切換到qemu monitor模式 輸入?或help可以查看可用命令及使用說明。
  (在其他版本的qemu中,運行qemu加載OS後,這個shell就會自動變成qemu monitor模式)
  change device filename -- change a removable media
  看來它就是用來換盤的了 : change cdrom /rhel4/EL_disc2.iso
  5.虛擬機裝好以後就可以用了,這裡要給大家說幾個常用的快捷鍵:
  
  ctrl+alt+F. 全屏切換
  ctrl+alt..鼠標在虛擬機和主機間切換
  
  6.虛擬XP上網的問題:
  其實用上面的方法安裝完後,你的XP已經能上網了,當然你要用DHCP方式。你也可以在啟動時加上 -user-net 這個參數。我覺得qemu可能是默認就帶了這個參數了,因為我沒用任何參數就可以上網。
  不過要說的是,采用這種默認的參數你只能 ping 你的BSD主機,不能ping 外網的,而且你得到的IP是10.0.2.X,Gateway 也一定是10.0.2.2,所以你不要奇怪。這種上網方式主機跟虛擬機的通訊不方便,至少我的samba就不行,也沒有解決掉。
  qemu也提供了第二種上網方案:tun方式,這個方式其實就是在你的BSD下虛擬一張網卡tun0,這樣你的BSD就是雙網卡上網,這種方式最大好處就是虛擬機跟主機還有外網通訊比較方便。不過首先你的內核要支持tun設備才行。我的是5.4 release-p6
  針對5.0以前的應該先這樣做:
  #cd /dev
  # sh MAKEDEV tun0
  接下來:
  #ifconfig tun0 XXX.XXX.XXX.XXX #設定tun0的IP,一般用192.168開頭的,也有人喜歡10開頭的,隨便啦,我的是192.168.0.1
  然後進入虛擬機XP裡,設定你的IP為:192.168.0.XXX,網關為 192.168.0.1(*也就是tun0)dns 就是BSD主機的dns。
  這樣設定之後,虛擬機還不能上網,但已經能用samba 了。要想用虛擬機上網,這就要用到nat 了,設置方法完全跟NAT是一樣的,我就不多說了,下面的東西就只有請你參考FreeBSD 的NAT來完成了。
Copyright © Linux教程網 All Rights Reserved