ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
Hyper-VからESXiに移行したLinux仮想マシンが起動しませんでした。
具体的には以下のようなエラーが出ています。
dracut-initqueue[xxx]: Warning: dracut-initqueue timeout - starting timeout scripts Warning: Could not boot. Warning: /dev/xxxxx/xxxx does not exist
これは、/をマウントする前にメモリ上に展開するinitramfsで問題が発生した場合に出力するメッセージです。
ですのでESXiに移行したLinuxのinitramfsを再構築する必要があります。参考にしたのは以下のサイトです。
CentOSのDVDからブート
仮想マシンの編集で仮想ハードウェアにCD/DVDドライブを追加し、CentOSのISOファイルを指定します。
これでうまくDVDから起動できない場合には、仮想マシンオプションタブに移り、「次回仮想マシンの起動時に、強制的にBIOSセットアップ画面に入る」にチェックを入れてDVDブートできるようにしてください。
Rescue(レスキュー)モード
DVDからCentOSを起動してRescueモードに入ります。
initramfsの再構築
さてRescueモードに入ったらHDDにインストールされたOSのproc、dev、sys、runディレクトリをrootディレクトリマウントします
sh-4.4# mount --bind /proc /mnt/sysimage/proc sh-4.4# mount --bind /dev /mnt/sysimage/dev sh-4.4# mount --bind /sys /mnt/sysimage/sys sh-4.4# mount --bind /run /mnt/sysimage/run sh-4.4# systemctl start multipathd.service sh-4.4# cd sh-4.4# chroot /mnt/sysimage sh-4.4# cd /boot sh-4.4# dracut -f /boot/initramfs-3.10.0-1127.18.2.el7.x86_64.img 3.10.0-1127.18.2.el7.x86_64 sh-4.4# exit exit sh-4.4# reboot
initramfsの再構築はdracut -f だけでもOKかもしれません(が私は失敗したので指定を行いました)。
これでちゃんと移行したLinuxが起動できるようになります。
記事は以上!