Quantcast
Channel: Jamyy's Weblog » trouble-shooting
Viewing all articles
Browse latest Browse all 22

將 Ubuntu 上的 KVM/libvirt 虛擬機器移植到 CentOS 6

$
0
0

目的: 解決以下問題

  • 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:


Viewing all articles
Browse latest Browse all 22

Trending Articles