【Proxmox】ESXiから移行したCentOSが「/dev/centos/root does not exist」で起動しない時の解決法

CentOS7でトラブりました。
ESXiなどの他ハイパーバイザーからProxmox VEへ仮想マシン(VM)を移行した際、CentOSやRHEL系のOSで最も遭遇しやすいトラブルがこれです。起動直後に黒い画面で大量のログが流れ、最後に以下のメッセージで止まってしまう現象。

Warning: /dev/centos/root does not exist Starting Dracut Emergency Shell…

「ルートパーティションが見つからない」と言われても、ディスクは移行したはず…。 SATA接続を試しても直らない…。

この記事では、このエラーの真の原因と、誰でもできる3ステップの解決法(IDE経由での復旧)を解説します。特に最後の「コントローラー設定」は落とし穴になりやすいので要注意です。

原因:ストレージドライバと「コントローラー」の不一致

結論から言うと、原因は以下の2点です。

  1. OS側の準備不足: CentOSが「VirtIO」ドライバを持っていない(ESXi用のドライバしか読み込んでいない)。
  2. Proxmox側の設定ミス: Proxmoxの「SCSIコントローラー」の設定が、OSが期待するものと違っている。

移行直後は、OSは「ディスクが見えない」とパニックを起こします。 「ドライバを入れたのに動かない!」という場合、コントローラーの設定が旧式のままであることが多いです。

解決手順

SATAでも起動しない場合の「最終奥義」であるIDE接続を使って復旧させます。

ステップ1:ディスクを「IDE」として接続する

まずは無理やりOSを起動させます。最も古く、どんなOSでも標準ドライバを持っている「IDE」規格を使います。

  1. Proxmox管理画面で対象VMの [ハードウェア] を開く。
  2. 現在のハードディスク(scsi0 や sata0)を選択し、[デタッチ (Detach)] をクリック(データは消えません)。
  3. 出現した「未使用のディスク」をダブルクリック。
  4. バス/デバイス の項目で 「IDE」 を選択して [追加]。
  5. [オプション] タブの [ブート順序] を開き、ide0 を有効にして一番上に移動。

これでVMを起動してください。IDEは低速ですが、互換性は最強です。これで無事にログイン画面まで辿り着けるはずです。

ステップ2:VirtIOドライバをインストールする

無事にログインできたら、次は本来の性能を出すための準備です。現在はIDEで動いていますが、これを高速な「VirtIO」で動かせるようにドライバをOSに組み込みます。

ターミナル(SSHやコンソール)を開き、以下のコマンドを実行します。

# 現在のカーネルに対応したinitramfsを再構築し、VirtIOドライバを強制的に追加する
dracut -f --add-drivers "virtio virtio_pci virtio_blk virtio_scsi"

数秒〜数十秒で完了します。エラーが出なければ成功です。 一度VMをシャットダウンしてください。

ステップ3:【重要】コントローラーとディスク設定を戻す

ここが最重要ポイントです。単にディスクをSCSIに戻すだけでは起動しません。コントローラーの種類も合わせる必要があります。

  1. Proxmoxの [ハードウェア] タブへ移動。
  2. [SCSIコントローラ] の行を確認してください。
    • ここが LSI 53C895AVMware PVSCSI になっていませんか?
    • ダブルクリックして VirtIO SCSI に変更してください。
  3. 「IDE」接続になっているハードディスクを [デタッチ]
  4. 「未使用のディスク」を編集し、バス/デバイスを 「SCSI」 に変更して追加。
  5. [オプション] タブで [ブート順序] を確認(scsi0 を有効化)。

これでVMを起動します。 OS側に入れた virtio_scsi ドライバと、Proxmox側の VirtIO SCSI コントローラーが一致し、爆速で起動するはずです!

まとめ

  • 症状: /dev/centos/root does not exist はディスクが見えていない証拠。
  • 手順:
    1. IDE でとりあえず起動させる。
    2. dracut コマンドでVirtIOドライバを注入。
    3. Proxmox側で SCSIコントローラを VirtIO SCSI に変更 してからディスクを戻す。

この3ステップで、CentOS 7/8/9、AlmaLinux、Rocky Linuxなど、RHEL系OSの移行トラブルはほぼ解決できます。

まとめ記事はこちら

タイトルとURLをコピーしました