[KVM] 在 Ubuntu 上使用 kvm 指令建立新的 VM,安裝 Windows XP

[KVM] 在 Ubuntu 上使用 kvm 指令建立新的 VM,安裝 Windows XP

剛裝好了 KVM/QEMU,先照著書上寫的方式,

用命令列模式來建立一下 VM 吧~

命令列模式下也可以區分為使用 virsh 這個高階的指令,

或是直接用 kvm 的低階指令,這篇使用的是 kvm 指令~

 

1. 建立 .qcow2 硬碟檔

我們需要先準備一個檔案,用來代表這個 VM 使用的硬碟,

一般來說 QEMU 使用的是 qcow2 格式,

可以用 qemu-img create 指令來建立,例如:

testuser@localhost ~/qemu $ qemu-img create WinXPSP3_zhtw.qcow2 100G
Formatting 'WinXPSP3_zhtw.qcow2', fmt=raw size=107374182400
testuser@localhost ~/qemu $ ll -h
-rw-r--r-- 1 jeff_lai jeff_lai 100G Jul 27 16:24 WinXPSP3_zhtw.qcow2

 

上面的指令建立了一個 100G 容量的硬碟檔,不過格式並不是預想的 qcow2,

而是 raw 檔,導致這個檔案就直接占據了 100GB 的大小…

 

要真正建立 qcow2 格式,得加上 -f qcow2 的參數才行,

這樣建立出來的是動態調整大小的硬碟檔,一開始只有不到兩百 KB:

testuser@localhost ~/qemu $ qemu-img create -f qcow2 WinXPSP3_zhtw.qcow2 100G
Formatting 'WinXPSP3_zhtw.qcow2', fmt=qcow2 size=107374182400 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16
testuser@localhost ~/qemu $ ll -h
-rw-r--r-- 1 jeff_lai jeff_lai 194K Jul 27 16:24 WinXPSP3_zhtw.qcow2

 

2. 使用這個 .qcow2 硬碟檔來安裝 Windows XP

執行下面的 kvm 指令,

-m 選項指定記憶體是 768 MB,

-cdrom 選項指定光碟機要插入 WinXP 的安裝光碟,

-boot 選項指定用光碟機來開機

(a = 軟碟, c = 硬碟, d = 光碟,想成是 Windows 的 a: c: d: 就很好記了),

-hda 選項指定第一顆硬碟用的是我們剛剛建立出來的 .qcow2 檔案:

testuser@localhost ~/qemu $ kvm -m 768 -cdrom ~/WinXP_Pro_SP3_x86.iso -boot d -hda WinXPSP3_zhtw.qcow2
Could not initialize SDL(No available video device) - exiting

 

咦… 怎麼出現 Could not initialize SDL(No available video device) 的錯誤?

原來是因為我是透過 ssh 連線到 Ubuntu 上,執行上面的 kvm 指令,

讓它找不到顯示設備的關係…

 

直接到 Ubuntu 桌面的終端機上執行上面的指令,就沒問題了,

會跳出一個 QEMU 的視窗來開始安裝 Windows XP:

Screenshot from 2016-07-27 16-35-13  

 

安裝過程沒什麼太大的問題,可以用鍵盤操作,

只是看不到滑鼠游標,但點下滑鼠時視窗似乎有些反應 (取得焦點或失去焦點)…

在 WindowsXPUnderQemuHowTo 這篇看到了解法,

先執行下面的指令,設定 SDL_VIDEO_X11_DGAMOUSE 這個環境變數:

export SDL_VIDEO_X11_DGAMOUSE=0

 

這樣之後再執行 kvm 指令,就可以成功看到滑鼠游標,也能正常操作了~

(只不過還是會有一些不太同步的問題,有時滑鼠移動到某些位置時,

會發現 VM 裡的滑鼠指標沒辦法跟上,得想辦法移來移去讓它同步)

 

接下來進到 Windows XP 裡面,會發現網路不通,也沒有網路卡…

參考了 QEmu 1.4.0: no more internet 這篇,

可以加上 -net 選項,指定使用 Realtek 的網卡,例如:

kvm -m 768 -boot c -net user -net nic,model=rtl8139 -hda WinXPSP3_zhtw.qcow2

 

這樣就能成功上網囉~ 

 

(本頁面已被瀏覽過 926 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料