【實驗】在CentOS系統環境上安裝win7虛擬機


重要!!

如果不想折騰,只想快點看到效果的話,選擇 CentOS 6,我用的是CentOS 6.10.

起初用CentOS 7沒折騰出一個能上網的虛擬機來,只留下挫敗感。

 

第一階段 在CentOS 6.10上面安裝並啟動win7虛擬機

安裝實驗環境

 實驗是在虛擬機CentOS上做的,沒錯,就是在VMWare虛擬機上面創建KVM虛擬機。

創建CentOS虛擬機(VMWare)的流程不贅述,重點是打開虛擬機配置中的CPU虛擬化選項,除此之外,VMWare配置沒有其他要特別強調的了。

 

安裝必要的軟件

sudo yum install libvirt-client gpxe-roms-qemu libvirt-python python-virtinst qemu-kvm libvirt virt-manager virt-viewer virt-top virt-what qemu-img

sudo yum install vnc vnc-server tigervnc-server

 

准備win7原版鏡像(可以在MSDN i tell you上面下載)

 

virt-manager創建虛擬機

命令行啟動:virt-manager,

雙擊QEMU/kvm,在彈出窗口中選擇存儲,點擊左下角加號,自行創建一個存儲池,比如我的vm:

 

將win7鏡像放進上圖所示的路徑中,比如我的就是 /var/lib/libvirt/imgaes/vm (可能可以不用放進來?)

回到virt-manager,點擊 按鈕就可見iso文件。

點擊左上角的File選項,如下,選擇view manager, 

點擊小電腦選項 ,創建虛擬機。我的配置參考:

點擊安裝按鈕,win7安裝開始,接下來就是安裝系統的一般流程,不贅述。

 

虛擬機參數

安裝系統之后,可見虛擬聲卡是HD,虛擬網卡是RTL8139。

 

上面的配置過程沒有修改桌面傳輸協議,默認用的是VNC,而不是Spice。

虛擬機創建用的虛擬化軟件默認是KVM而不是QEMU。

 

虛擬機的重啟

用virt-manager管理就可以了。

 

 

第二階段 CentOS改用spice連接桌面

參考 https://blog.csdn.net/llwszjj/article/details/42124169

還是采用最簡單的方案,

利用virt-manager配置spice服務,

然后CentOS上面安裝spice-server和spice-client等必要軟件,

重啟虛擬機,

最后,使用spice-client,通過以下命令即可連接桌面:

/usr/libexec/spicec -h 127.0.0.1 -p 5900

也可用virt-viewer連接桌面:sudo virt-viewer(可以配置其他參數)。我的理解,如果是使用spcie協議傳輸桌面,那么virt-viewer也相當於一個“spice-client”。

 

 

第三階段 虛擬機xml文件和其他相關文件

 

以上操作會在 /etc/libvirt/qemu里面生成一個以虛擬機名稱命名的xml文件。

這份文件可以通過virsh工具管理:

virsh define win7.xml //導入虛擬機配置(完整路徑)
virsh start win7 //開啟win7 (shutdown對應的是正常關機)
virsh list --all // 顯示所有虛擬機狀態(管理員權限運行,不然可能錯誤顯示shut off)
virsh destroy win7  //銷毀虛擬機(相當於強制掉電)
virsh undefine win7  //刪除虛擬機配置(注意備份,會把xml文件刪了的 —— 
            // virt-manager就檢測不出來本地已創建的虛擬機了,除非恢復文件,並重新virsh define一下)
virsh dumpxml win7 //顯示虛擬機xml配置

使用上面操作產生的xml,通過virsh手動啟動虛擬機,和virt-manager方式一樣,后台也會有一個qemu-kvm進程:

qemu       8996  108  2.3 1690872 92552 ?       Sl   19:55   0:25 /usr/libexec/qemu-kvm -name win7 -S -M rhel6.6.0 -enable-kvm -m 1024 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 065d597f-ff24-d86d-2a54-6f57a3335a72 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/win7.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -no-shutdown -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x7 -drive file=/var/lib/libvirt/images/win7.img,if=none,id=drive-ide0-0-0,format=raw,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive file=/var/lib/libvirt/images/vm/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=22,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:ef:51:bc,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5900,addr=127.0.0.1,disable-ticketing,seamless-migration=on -vga qxl -global qxl-vga.ram_size=67108864 -global qxl-vga.vram_size=67108864 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -msg timestamp=on

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM