対象
- Hyper-V へ virtual box などから移行した人
- HDDを認識せず、起動せず、dracut~というコンソールに突入してしまう
対応策
CentOS 7/8
- チェックポイントを作成する(念のため)
- レスキューモードで起動する(grubでrescureとかがあれば、そのカーネルを選択する)
- root権限でログインして以下のコマンドを実行する(数分かかる)
dracut --kver 4.18.0-147.3.1.el8_1.x86_64 -f \
--add-drivers "hv_vmbus hv_storvsc hv_netvsc hv_utils hv_balloon hyperv-keyboard hyperv_fb hid-hyperv"
# note:
# -kverはカーネルバージョン、このオプションなしの場合、
# 現在のイメージ(レスキュー)に対して操作してしまうので、私は設定した。
# 指定しなくてもいいのかは、わからない。
# -f は存在しても上書きする。
参考文献
実は、以下にすべての解決策が記載されている。
- CentOS 7 will not boot after migration to Hyper-V (CentOS Forum)
- Updating the Linux boot image before migrating from VMWare to Hyper-V
その他
dracutって、debianのdkmsみたいなものなのかな...?今度調べる。