Copy qemu image to physical hard drive.
自從換成Linux後,只有需要的時候才開Windows虛擬機處理事情。
使用Linux的QEMU虛擬機的好處就是KVM加持下性能比較好,虛擬機Windows需要時還可以直通顯示卡。用QCOW2當虛擬硬碟儲存Windows的系統檔案,重裝系統時設定虛擬機機器的開機設置就好了,此QCOW2可以製作許多副本。
那虛擬機有沒有可能複製、轉換到實體硬碟呢?QEMU還真的支援這種操作。
目前我的電腦有一個SSD安裝主要系統(openSUSE Tumbleweed),還有一個閒置的HDD,不如就來試試看把使用已久的Windows直接複製到HDD硬碟上吧,這樣就可以搞Linux/Windows雙重開機。
先不論Windows在HDD慢的要命的問題!XD
1. 確認HDD的掛載位置#
- 用
lsblk
確認HDD的掛載位置
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465.8G 0 disk
└─sda1 8:1 0 465.8G 0 part /run/media/ivon/A4EC-C8C5
- 確認沒有重要東西後,取消掛載
umount /run/media/ivon/A4EC-C8C5
2. 將QCOW2寫入至硬碟#
我的QCOW2容量是64GB,Windows 10使用UEFI開機。要寫入的HDD則是500GB。注意寫入後系統容量仍只有64GB,要使用磁碟管理程式延伸磁碟區。
- 找到qcow2所在的目錄,開啟終端機,將qcow2轉換成raw格式並寫入HDD。轉換過程會顯示百分比進度。
sudo qemu-img convert -p -f qcow2 -O raw win10.img /dev/sdb
電腦重開機進BIOS,設定開機順序為HDD優先 (Windows Boot Manager)。
因為我的虛擬機沒有安裝virtio之類的驅動,所以幸運的話Windows會自動偵測硬體變更,並成功開機。
開機後解除安裝Spice Tools和QEMU daemon的程式,調整系統時間,接著讓Windows Update安裝更新。
開啟磁碟管理員,將多餘空間砍掉(recovery分區要用DISKPART砍)。
右鍵將Windows系統延伸磁碟區至未分配的空間上。
系統轉移到HDD後使用上沒異狀,但跟SSD速度相比,HDD開機真的要等幾分鐘後再操作,才不會lag。
參考資料#
Move qcow2 image to physical hard drive - Unix & Linux Stack Exchange