目的: 解決以下問題
- CentOS 6 啟動虛擬機器時發生錯誤:
uses a qcow2 feature which is not supported by this qemu version: QCOW version 3 - CentOS 6 啟動虛擬機器後虛擬機器 Blue Screen:
DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS
環境:
- Host OS: Ubuntu 14.04 / 14.10, CentOS 6.6
- Guest OS: Windows XP Pro SP3
在 Ubuntu 14.04 / 14.10 的處理
$ virsh dumpxml winxp > winxp.xml
$ sudo qemu-img convert -f qcow2 winxp.qcow2 -o compat=0.10 -O qcow2 winxp-4el6.qcow2
將 winxp.xml 與 winxp-4el6.qcow2 都複製到 CentOS 6.6 機器上, 更名 winxp-4el6.qcow2 為 winxp.qcow2
在 CentOS 6.6 的處理
# yum install libvirt libvirt-client python-virtinst qemu-img qemu-kvm
# chkconfig libvirtd on
# service libvirtd start# vi winxp.xml
原: <type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type> 改: <type arch='x86_64' machine='pc'>hvm</type> 原: <emulator>/usr/bin/qemu-system-x86_64</emulator> 改: <emulator>/usr/libexec/qemu-kvm</emulator> 原: <source file='/路徑/winxp.qcow2'/> 改: <source file='/實際路徑/winxp.qcow2'/> 刪除 <cpu>...</cpu> 刪除所有 <address type='pci'...匯入虛擬機器設定檔
# virsh define winxp.xml啟動虛擬機器
# virsh start winxp
連線遠端 VM
$ virt-viewer --connect qemu+ssh://me@my.linux.host/system winxp
解決 XP Blue Screen 問題
重新啟動虛擬機器, 進入安全模式, 執行 regedit
點入 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
將 AmdK7、intelppm、Processor 的 Start 值都改成 4
後記
- CentOS 6.6 無法處理新版 qcow2 (compat: 1.1) 檔案, 一定要在新版環境 (如: Ubuntu 14.04, 14.10、CentOS 7) 將 qcow2 convert 成 compat=0.10 才能讓 CentOS 6.6 使用該 qcow2 檔案
- 若已將 compat=1.1 的 qcow2 檔案丟到 CentOS 6.6 機器上, 可在 CentOS 6.6 運行 Docker 裡的 Ubuntu 14.04 將 qcow2 檔案轉成 compat=0.10
Ref: