適応障害で退職、そして転職へ

40代、元システムエンジニアの日記です。 適応障害、転職活動など日々のことを書いています。

CentOS7仮想マシンをVMwareからHyper-Vへ移行後に起動しなくなったら

f:id:kzms4126:20180822155914p:plain

Linuxにあまり詳しくない人が書いています。ごめんなさい。解決のヒントになれば幸いです。
VMware Workstation 14 PlayerのCentOS7仮想機をHyper-Vへ移行しました。仮想ハードディスクを変換し、Hyper-Vの仮想機にマウントして起動すれば終わりと思っていたらうまくいきませんでした。移行手順、つまづいたところ、解決方法をまとめてみたいと思います。

環境

ホスト機OS Windows10 Professional
ゲストOS CentOS7
移行元仮想システム VMware Workstation 14 Player
移行先仮想システム Hyper-V

移行手順

  1. VMware仮想ディスクファイル(vmdk)をHyper-V仮想ディスクファイル(vhdx)に変換。
    変換ツールは StarWind V2V Converter を使いました。
  2. Hyper-Vで仮想マシンを作成し、変換した仮想ディスクファイルをマウント
  3. Hyper-Vの仮想マシンを起動

つまづいたところ

Hyper-Vの仮想マシンをオンにしてCentOSの起動が開始されましたが、画面下に表示されているプログレスバーがなかなか進みません。環境が変わった影響かと思ってしばらくまっていると、エラーメッセージが表示され見慣れないプロンプトが表示されました。

f:id:kzms4126:20180822170645p:plain

エラーメッセージの抜粋
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.

mangolassi.it

これらの情報を元に、以下の手順を実行しました。

  1. 仮想マシンのDVDドライブにCentOS7のisoイメージをマウントし、DVDドライブから起動
  2. レスキューモードを選択
  3. プロンプトが表示されたら、以下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)
  4. DVDドライブからCentOS7のイメージを取り出し、仮想マシンを再起動
    (再起動後、私の環境では自動でもう一度再起動しました)
  5. CentOSが起動しプロンプトが表示されました。

IPアドレスを設定しtelnetで接続できることを確認しました。