環境
ホストOS: windows 10 pro 64bit 1803
ゲストOS: CentOS Linux release 7.5.1804 (Core)
移行前VM管理ツール: VirtualBox
移行後VM管理ツール: Hyper-V
背景
Virtualbox上で、CentOSを運用していたのですが、
あまりにもVirtualBoxが重かったので、Windows 10 pro 1803より標準で搭載された
Hyper-Vを使って管理を行うことにしました。
移行方法
- VirtualBoxに標準で同梱されているvboxmanageコマンドを使って、
ディスクイメージを変換
Vboxmanage clonehd --format VDI [vmdkファイル名] [vdiファイル名]
- Hyper-V 管理マネージャより、マシンを作成。
念のため、移行前のマシンスペックと揃えておいた。
仮想ハードディスクの接続のところで、「既存のハードディスクを~」を選択し、 1で作成したイメージを指定する。
現象
起動後、しばらくすると、以下のような画面でOSが起動しない。。。
しかもHyper-Vのターミナルのため、プロンプトをさかのぼれず、全容が全く分からない。。。
原因の切り分けと対処
- OSのインストールディスクを使ったレスキューモードで起動が可能か
⇒Noの場合、指定したディスクが壊れている可能性があるので、ディスクイメージの変換からやり直す。 - kernelのrescueで起動が可能か。下記画面の赤枠部分
⇒今回、私の場合、これでも起動は可能だった。
3.ほかのバージョンのkernelでも起動するか。
特に下から2番目のバージョンの kernelでも起動ができるかどうかを確認する。
⇒私の場合、下から2番目のバージョンでも起動はできたが、他になると起動できなくなっていた。
4.再度手順2で起動し、ディスク上のデータに欠損がないことを確認。
5.以下のページに従って、initramfsを再作成
https://wiki.centos.org/TipsAndTricks/CreateNewInitrd
6.起動時には、起動可能でかつ最新のkernelを使って起動する。
(※kernelやinitramfsを触ったり、レスキューモードを使用したりするため、操作には充分気を付けるようにしてください。)
なぜ起きたのかが不明なので、なにか情報を持っている人はコメントを残していただけるとありがたいです。。。