CentOS7仮想マシンをVMwareからHyper-Vへ移行後に起動しなくなったら
Linuxにあまり詳しくない人が書いています。ごめんなさい。解決のヒントになれば幸いです。
VMware Workstation 14 PlayerのCentOS7仮想機をHyper-Vへ移行しました。仮想ハードディスクを変換し、Hyper-Vの仮想機にマウントして起動すれば終わりと思っていたらうまくいきませんでした。移行手順、つまづいたところ、解決方法をまとめてみたいと思います。
環境
ホスト機OS | Windows10 Professional |
---|---|
ゲストOS | CentOS7 |
移行元仮想システム | VMware Workstation 14 Player |
移行先仮想システム | Hyper-V |
移行手順
- VMware仮想ディスクファイル(vmdk)をHyper-V仮想ディスクファイル(vhdx)に変換。
変換ツールは StarWind V2V Converter を使いました。 - Hyper-Vで仮想マシンを作成し、変換した仮想ディスクファイルをマウント
- Hyper-Vの仮想マシンを起動
つまづいたところ
Hyper-Vの仮想マシンをオンにしてCentOSの起動が開始されましたが、画面下に表示されているプログレスバーがなかなか進みません。環境が変わった影響かと思ってしばらくまっていると、エラーメッセージが表示され見慣れないプロンプトが表示されました。
エラーメッセージの抜粋
dracut-initqueue[261]: Warning: dracut-initqueue timeout - starting timeout scripts
dracut-initqueue[261]: Warning: Could not boot.
dracut-initqueue[261]: Warning: /dev/centos/root dose not exist
dracut-initqueue[261]: Warning: /dev/centos/swap dose not exist
解決方法
ググったら関係のありそうな情報が見つかりました。
RHEL7/CentOS7の仮想マシンをVMWareからHyper-Vに移行 | 株式会社ミークス / Meeks Inc.
これらの情報を元に、以下の手順を実行しました。
- 仮想マシンのDVDドライブにCentOS7のisoイメージをマウントし、DVDドライブから起動
- レスキューモードを選択
- プロンプトが表示されたら、以下2個のコマンドを実行
chroot /mnt/sysimage mkinitrd -f -v --with=hid-hyperv --with=hv_utils --with=hv_vmbus --with=hv_storvsc --with=hv_netvsc /boot/initramfs-$(uname -r).img $(uname -r)
- DVDドライブからCentOS7のイメージを取り出し、仮想マシンを再起動
(再起動後、私の環境では自動でもう一度再起動しました) - CentOSが起動しプロンプトが表示されました。
IPアドレスを設定しtelnetで接続できることを確認しました。