Centos7

將 CentOS7 從 vmware 遷移到 Xen 後 /dev/centos/root 不存在

  • January 22, 2021

我正在將 CentOS 7 系統從 VMware Server 2 遷移到 XenServer 6.5。CentOS 系統是使用最小安裝方式安裝的。我使用 ovftool 使用此處的說明將 .vmdk 文件轉換為 .img

https://www.mylesgray.com/virtualisation/using-vmwares-ovftool-convert-vmx-ova/

並使用 XenCenter 將其導入 XenServer。啟動時出現以下錯誤:

dracut-initqueue[286]: Warning: dracut-initqueue timeout - starting timeout scripts
dracut-initqueue[286]: Warning: /dev/centos/root does not exist
dracut-initqueue[286]: Warning: /dev/centos/swap does not exist
dracut-initqueue[286]: Warning: /dev/mapper/centos-root does not exist

它繼續啟動緊急外殼。

我認為問題出在磁碟的設備名稱上。在原始系統上,磁碟位於 /dev/sda。在新系統上是 /dev/xvda。使用安裝盤,我可以啟動到救援模式並掛載 /mnt/sysimage。我不知道如何解決這個問題。我能找到的唯一與設備名稱相關的文件在 /mnt/sysimage/boot/grub2/device.map 中。我嘗試將其更改為

(hd0)    /dev/xvda

但這沒有任何區別。我認為邏輯磁碟管理器配置需要在某處更改。

我怎樣才能解決這個問題?我需要簡單的(ish)說明,因為我不是 Linux 專家,尤其是在啟動過程方面。

Reddit 上有同樣的問題

主要思想——你需要重新生成 initrd。

  1. 啟動進入linux救援
  2. dracut -f根據這篇文章呼叫。

不久前,我一直在使用 Starwinds V2V 轉換器https://www.starwindsoftware.com/converter來完成類似的任務。它支持多種虛擬機磁碟格式,並在轉換過程中進行內部硬體修補。還有一個選項可以在轉換期間啟用救援模式,它支持多個 VM 的批處理。它是免費的。

從字面上節省了我很多時間。試試看。

引用自:https://serverfault.com/questions/772753