解決:Linux インストール時に “No hard drives have been found” と表示される

解決:Linux インストール時に “No hard drives have been found” と表示される

問題の説明

Linux のインストール時に、インストーラーが次のように表示することがあります。

No hard drives have been found.

You probably need to manually choose device drivers for the installation to succeed.

Would you like to select drivers now?

これは、インストーラーが利用可能なハードディスクを認識できておらず、ディスクコントローラーのドライバーを手動で選択または読み込む必要がある可能性を示しています。

原因の分析

よくある原因は、インストーラーが現在のハードディスクコントローラーのモードに対応していないことです。特に、古い Linux ディストリビューション、古いカーネル、仮想マシンのデフォルト SCSI ディスク、または実機で SATA/AHCI モードが有効になっている場合に起こりやすくなります。

仮想マシンにインストールしている場合、デフォルトで作成されたハードディスクが SCSI タイプになっていることがあります。古いインストーラーでは認識できない場合があるため、IDE 仮想ハードディスクに変更できます。

実機にインストールしている場合は、BIOS で SATA コントローラーを互換モード、レガシーモード、または IDE モードに切り替える必要があるかもしれません。あるいは、インストール時に対応する SATA/SCSI/RAID コントローラードライバーを読み込む必要があります。

解決方法

仮想マシン

仮想マシンでデフォルト作成されるハードディスクは SCSI タイプの場合があります。そのコントローラーに対応していない古い Linux インストーラーでは、IDE ディスクに変更できます。

具体的な手順は次のとおりです。

  1. 仮想マシンをシャットダウンします。
  2. 仮想マシンの設定で、現在の SCSI 仮想ハードディスクを削除します。
  3. IDE タイプの仮想ハードディスクを新規追加します。
  4. インストーラーを再起動し、ハードディスクを認識できるか確認します。

注意:仮想ハードディスクを削除する前に、保存しておくべきデータが入っていないことを確認してください。既存データがある場合は、先にバックアップするか、「新しい IDE ディスクを追加」する方法でテストしてください。

実機

方法 1:SATA/SCSI/RAID ドライバーを読み込む

マザーボード、サーバー、またはディスクコントローラーに対応する SATA、SCSI、RAID ドライバーを入手し、インストーラーがドライバーの読み込みを求めた時点で手動で読み込みます。

この方法は通常、特殊な環境や古い Linux バージョン、たとえば一部のサーバー向けディストリビューションで使われます。新しい Linux カーネルには多くの SATA/AHCI ドライバーが標準で含まれているため、メーカーが提供するドライバーは RHEL 4/5、SUSE Enterprise など、特定のシステムバージョン向けに限られることがよくあります。一部のサーバーマザーボードや独立した RAID カードでも専用ドライバーが必要になる場合があります。

方法 2:SATA 互換モードを有効にする

BIOS/UEFI に入り、SATA コントローラーのモードを AHCI、RAID、Enhanced から Compatibility、Legacy、IDE などの互換モードに変更します。

具体的な場所はマザーボードによって異なりますが、一般的な手順は次のとおりです。

  1. 起動時に F1F2Del、または Esc を押して BIOS/UEFI に入ります。
  2. Config -> SATAStorage ConfigurationIntegrated Peripherals のような項目を探します。
  3. SATA モードを CompatibilityLegacy、または IDE に変更します。
  4. 設定を保存して再起動し、Linux のインストールをやり直します。

注意点として、元の Windows が AHCI または RAID モードでインストールされていた場合、IDE/Compatibility モードへ切り替えると Windows が正常に起動しないことがあります。修復や再インストールが必要かどうかは、Windows のバージョンとドライバー構成によります。また、互換モードでは NCQ など SATA/AHCI の一部の性能機能が失われる可能性もあります。

確認のすすめ

可能であれば、より新しい Linux インストールイメージを使うことをおすすめします。新しいカーネルのほうが、通常 SATA/AHCI/NVMe コントローラーへの対応が良好です。インストール前にインストール環境または Live システムへ入り、次のコマンドでハードディスクが認識されているか確認することもできます。

lsblk
lspci | grep -i -E 'sata|ahci|raid|scsi|nvme'
dmesg | grep -i -E 'sata|ahci|raid|scsi|nvme|disk'

lsblk で対象のハードディスクが見えない場合は、BIOS/UEFI のディスクモード、仮想マシンのディスクタイプ、そしてインストールイメージが古すぎないかを優先して確認してください。

Leave a Reply