vmware workstation 虛擬機遷移到KVM之後無法啟動的問題
阿新 • • 發佈:2018-06-07
VMWare 遷移 KVM轉換磁盤鏡像格式之後導入KVM系統無法啟動,但是可以進入恢復模式,可能是virtio的內核模塊沒有加載,把磁盤改為IDE模式後正常。
但是IDE模式效率沒有virtio高,這時可以手動加載virtio模塊,方法參考騰訊雲幫助文檔
https://cloud.tencent.com/document/product/213/9929
grep -i virtio /boot/config-$(uname -r)
檢查內核模塊是否包含virtio
CONFIG_VIRTIO_BLK=m
CONFIG_VIRTIO_NET=m
有這兩項,說明有了這個模塊,如果後面的m是y,那麽說明這個不是作為模塊加載的,而是編譯到內核中了,編譯到內核中的理論上不應該啟動不了,所以可能是其他問題,請略過此文,找別的解決方法,如果是m,請繼續
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
initramfs是否包含virtio驅動
Arguments: -f --add-drivers ‘ virtio_blk virtio_pci‘ -rw-r--r-- 1 root root 7752 May 9 14:59 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/block/virtio_blk.ko.xz -rw-r--r-- 1 root root 12960 May 9 14:59 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/char/virtio_console.ko.xz -rw-r--r-- 1 root root 14296 May 9 15:00 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/net/virtio_net.ko.xz -rw-r--r-- 1 root root 8168 May 9 15:01 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/scsi/virtio_scsi.ko.xz drwxr-xr-x 2 root root 0 Jun 6 20:56 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/virtio -rw-r--r-- 1 root root 4560 May 9 15:01 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/virtio/virtio.ko.xz -rw-r--r-- 1 root root 9696 May 9 15:01 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/virtio/virtio_pci.ko.xz -rw-r--r-- 1 root root 8284 May 9 15:01 usr/lib/modules/3.10.0-862.2.3.el7.x86_64/kernel/drivers/virtio/virtio_ring.ko.xz
如果類似上面的結果,說明不是驅動問題,請略過此文,另外尋找原因,如果沒有結果,說明是內核模塊沒有加載,請執行以下命令
cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak #備份原有的initramfs
mkinitrd -f --with=virtio_blk --with=virtio_pci /boot/initramfs-$(uname -r).img $(uname -r) #制作新的initramfs
完成之後使用上面的lsinitrd命令查詢,應該正常了,關閉guestos,調整磁盤模式為virtio,啟動guestos,問題解決
以上方法適用於CentOS或者RedHat RHEL 7 以上版本
vmware workstation 虛擬機遷移到KVM之後無法啟動的問題