Linuxインストーラーがディスクを認識しない:SATA・NVMe・RAID・VMDの安全な診断

インストーラーに「No hard drives have been found」と表示されても、ディスクが空という意味でも、直ちに IDE モードへ切り替えるべきという意味でもありません。現代のコンピューターは SATA/AHCI、NVMe、Intel VMD/RST、マザーボードまたはハードウェア RAID、HBA を使うことがあり、仮想マシンでは VirtIO/SCSI/NVMe コントローラーも使われます。まずディスクがどの層で消えるかを特定し、その後で元に戻せる変更を一つだけ行います。

データ保護の境界: 本ガイドは読み取り専用の識別と診断だけを扱います。パーティション作成、フォーマット、RAID メタデータの消去、ディスクへの書き込みを行うコマンドは掲載しません。正しいモデル、容量、シリアル番号を確認し、復元テスト済みのバックアップを用意するまでは、「Erase disk」を選択したり、パーティションテーブルを作成したり、RAID を初期化したりしないでください。

ディスクが消える層を特定する

確認すべき証拠見えない場合の意味次の手順
UEFI/BIOS または RAID 管理画面物理ディスク、または RAID コントローラーが公開する論理ディスク電源、スロット、ケーブル、ファームウェア設定、ディスク本体、アレイの問題インストールを停止し、機器メーカーのマニュアルとハードウェア状態を確認
PCI/プラットフォームコントローラーSATA、AHCI、NVMe、VMD、RAID、SCSI、VirtIO コントローラーファームウェアによる非表示/無効化、仮想ハードウェアの未接続、プラットフォーム障害ディスク内容を変更せず、ファームウェア/VM 構成を確認
Linux カーネルのブロックデバイス/dev/sdX/dev/nvmeXnY/dev/mapper/... などカーネル/ドライバーの未対応、モジュール未ロード、署名による拒否、ファームウェア/コントローラーモードの不整合カーネルログ、ドライバーのバインド、インストールイメージの対応範囲を確認
インストーラーのストレージ画面カーネルと同じ対象ディスクまたは論理ボリュームインストーラーのフィルター、マルチパス/RAID 構成、暗号化、インストーラー不具合ログを保存し、ディストリビューション固有のストレージ文書を確認
パーティションとファイルシステム既存パーティションを識別できる暗号化、破損、未対応メタデータ「ディスク未検出」ではないため、診断目的でフォーマットしない

ファームウェアがディスクを認識していない場合、インストールイメージの変更では通常解決しません。カーネルが正しいブロックデバイスを認識しているなら、AHCI、IDE、VMD を推測で切り替えるほど危険が増します。

設定変更前の停止線

  1. 保持すべきすべてのデータについて、復元テスト済みのバックアップを作成します。RAID はバックアップではありません。
  2. ディスクのモデル、容量、シリアル番号、現在のコントローラーモード、RAID/VMD 構成、ブートモードを記録し、元のファームウェア設定を撮影します。
  3. Windows とのデュアルブートでは、Windows で BitLocker の状態を確認し、回復キーをその PC 以外の安全な場所に保管します。Microsoft は、次回起動時の回復モードを避けるため、一部のファームウェア変更前に BitLocker を中断するよう説明しています。検証後は保護を再開します。
  4. メンテナンス時間を確保し、回復メディア、メーカー手順、元の設定に戻す方法を用意します。
  5. 一度に一項目だけ変更します。既存 OS が起動しなければ、変更を重ねず、直ちに元の設定へ戻します。

次は検出手順ではありません:mkfswipefs、新しいパーティションテーブルの作成、ディスク初期化、アレイの削除/再構築、コントローラーメタデータの消去。本ガイドは意図的にこれらのコマンドを掲載しません。

読み取り専用の証拠を集める

サポート中のディストリビューションの最新インストールイメージを使い、その文書に従って署名/チェックサムを検証します。インストールを開始せず、Live、Rescue、またはインストーラーのシェルへ入ります。次のコマンドは意図的なフォーマットを行いません。

uname -a
cat /proc/cmdline
mokutil --sb-state
sudo lspci -nnk
sudo lsblk --paths --output NAME,TYPE,SIZE,MODEL,SERIAL,TRAN,FSTYPE,MOUNTPOINTS
cat /proc/partitions
lsmod
sudo dmesg --level=err,warn
sudo dmesg | grep -i -E 'ahci|ata|nvme|vmd|raid|scsi|virtio|firmware|module|signature|secure'

最小構成のインストール環境には mokutil がなかったり、dmesg の読み取りが制限されたりしますが、それだけではディスク障害ではありません。コマンド、ディストリビューション、ISO チェックサム、カーネル版、マシン/マザーボードのモデル、時刻を記録します。ログを共有する前に、シリアル番号、WWID、ホスト名、ユーザー名、ネットワークアドレス、その他の資産識別子を伏せてください。

証拠は次の順序で読みます。

  • lspci -nnk に関連コントローラーがまったくない:ファームウェアまたは VM 構成の層へ戻ります。
  • コントローラーはあるが Kernel driver in use が空、またはログに未対応/ファームウェア不足がある:正確なモデル、リリース、アーキテクチャに対するディストリビューションとハードウェアメーカーの対応を確認します。
  • モジュール署名、鍵、ロックダウンのエラーがある:Secure Boot の分岐へ進み、無作為な .ko ファイルを取得しません。
  • lsblk に正しいディスクがあるがインストーラーにはない:インストーラーログ、特殊ストレージ/マルチパス/RAID 画面、既知の問題を確認し、推測でコントローラーモードを変えません。
  • lsblk にインストール USB しかない:モデルと転送方式で確認し、対象ディスクと取り違えないようにします。

イメージに nvme-cli が含まれている場合は、次も実行できます。

sudo nvme list

コマンドがない場合、インストール環境へ未知のソフトウェアを導入する必要はありません。lsblk、PCI バインド、カーネルログで主要な証拠を得られます。

ストレージトポロジー別の診断

SATA と AHCI

現代の Linux は通常、SATA ディスクを AHCI 経由で使います。2011 年当時の「Compatibility/IDE に切り替える」という助言は、特定の旧式ハードウェアとインストーラーにだけ該当し、現在の既定手順ではありません。まず新しいサポート対象イメージを試し、正確なモデルについて機器メーカーまたはディストリビューションが明示的に要求する場合だけ互換モードを検討します。

SATA モードを変えると、既存 OS からの起動ディスクの見え方も変わります。デュアルブート機では、バックアップと BitLocker の条件を満たし、Windows 側のコントローラー移行準備を先に行います。Windows に INACCESSIBLE_BOOT_DEVICE が出たら、元のコントローラーモードへ戻して診断を停止します。

NVMe

NVMe ディスクは OS に直接公開される場合も、VMD、RAID、別のプラットフォームコントローラー配下にある場合もあります。ファームウェアに NVMe のモデルが表示され、Linux では VMD/RAID コントローラーだけが見える場合、そのトポロジーに対するプラットフォームとディストリビューションの対応を確認します。/dev/nvme0n1 がないだけでディスク故障とは断定できません。

まずディストリビューションの最新インストールメディア、またはメーカーが対応するファームウェア版へ移行し、前後の証拠を記録します。ファームウェア更新には電源断と BitLocker 回復の危険があるため、メーカー手順に従い、証拠のない最初の試行にはしません。

Intel VMD/RST とファームウェア RAID

VMD/RST は単一ディスクまたはアレイをコントローラー経由で公開できます。Canonical の現行文書は、RST を無効化したり RST から AHCI へ変更したりすると、アレイへアクセスできなくなる、または既存 Windows が起動しなくなる可能性を明確に警告しています。

安全な順序は次のとおりです。

  1. 通常の単一ディスク、キャッシュ/Optane、ファームウェア RAID、企業管理アレイのどれかを特定します。
  2. 新しいサポート対象のインストールイメージで直接認識できるか確認します。
  3. デュアルブートが必須なら、ディストリビューションと機器メーカーによるモデル固有の RST-to-AHCI 手順へ厳密に従い、先にバックアップ、回復キーの準備、ロールバック検証を行います。
  4. 一項目を変更した後、Linux インストーラーへ戻る前に Windows/既存 OS が正常起動することを確認します。
  5. 実 RAID ではコントローラーの無効化、メンバーディスクの分離、論理ディスクの新規作成をせず、アレイ管理者がバックアップ/復旧計画の下で作業します。

ハードウェア RAID では通常、OS がインストール先を認識する前に、コントローラー上に正常な論理ディスクが必要です。その作成や再構築はデータを消去する可能性があるため、本ガイドの安全な診断範囲外です。

仮想マシン

仮想ディスクが接続済みで、別のスナップショット/VM 専用になっていないことを確認し、仮想コントローラーの種類を記録します。現代の仮想化では VirtIO、SCSI、SATA、NVMe が一般的であり、「IDE に変える」は一般的な修復ではありません。

既存の仮想ディスクを削除しないでください。ドライバー問題と元ディスクの問題を区別するには、シャットダウンとスナップショット/バックアップの後、容量で容易に識別できる明確に空のテストディスクを追加できます。検証後は、元のディスクチェーンやスナップショット関係を変えずにテストディスクを外します。

インストールイメージ、カーネル、ドライバー

ディストリビューションの最新サポート対象ポイントリリースを優先し、署名/チェックサムを検証します。古い ISO のカーネルはコントローラーより古いことがあります。「新しい Live イメージでは見え、古いイメージでは見えない」は強い証拠ですが、ディスクへの書き込みを許可するものではありません。

ディストリビューション、ハードウェアメーカー、信頼できるコントローラーメーカーが必要だと明示した場合にだけ、正確なディストリビューション、リリース、カーネル、アーキテクチャ、コントローラー IDに合う公式ドライバー更新メディアを読み込みます。Red Hat の現行インストール文書も、ドライバー更新は任意で、必要性が確認された場合だけ使うものとしています。

Secure Boot が有効な場合、追加カーネルモジュールは署名が信頼されず拒否されることがあります。Secure Boot を維持するのが既定です。合致するディストリビューション/メーカー署名済みドライバーを入手し、ログを確認します。Secure Boot の恒久的な無効化や未知モジュールの強制ロードを優先策にしないでください。

BitLocker、暗号化、「ディスクはあるが内容が見えない」

BitLocker でロックされた内容は Linux インストーラーから読めません。これはファームウェアやカーネルがディスク自体を認識しない場合とは異なります。Canonical は、BitLocker 有効時に一部の並行インストール手順が Windows データを安全にマッピングできないと説明しています。

  • Windows を残す:インストールを停止し、使用中の Windows 版に対応する最新 Ubuntu/Microsoft 文書に従います。先にバックアップと回復キーを検証します。
  • Windows 全体を置き換える:データ所有者が復元不能な削除を明示的に受け入れ、対象ディスクを再確認した後だけ、破壊的なインストール経路を選びます。
  • 企業端末:BitLocker、Secure Boot、VMD/RST、ファームウェアのポリシーが管理されている可能性があります。回避せず管理者へ連絡します。
  • LUKS、自己暗号化ディスク、その他の暗号化も同じ境界です。ブロックデバイスは見えるが内容が読めないことは、ストレージドライバーを読み込む理由ではありません。

一つの変更、一つの検証、一つのロールバック地点

試行成功の証拠失敗/停止条件ロールバック
検証済みの最新インストールイメージを使う同じファームウェア設定で正しいディスクが現れるコントローラー/ブロックデバイスが依然ない元のメディアへ戻し、比較用ログを保持
公式の一致するドライバー更新を使うコントローラーが想定ドライバーへバインドし、モデル/容量が一致署名失敗、版不一致、異常 I/Oドライバーメディアを外し、クリーン環境を再起動
公式 RST/VMD-to-AHCI 手順に従う既存 OS と Linux の双方が正しくディスクを認識Windows が起動しない、アレイ/キャッシュ警告、ディスク数の変化記録した元のファームウェア設定へ直ちに戻す
仮想コントローラーを調整テスト/対象ディスクの対応が明確スナップショットチェーン、ディスクパス、起動ディスクが曖昧シャットダウンし、VM スナップショット/元のコントローラーを復元
ファームウェアを更新メーカーのリリースノートが問題を対象とし、証拠が改善モデル/版の不一致、電源/復旧条件が不足メーカー対応の復旧経路を使い、強制書き込みしない

ディスクが現れた後も最後の条件を適用します。モデル、シリアル番号、容量、既存パーティション、予定するインストール先を比較し、可能なら別の担当者にも確認してもらいます。バックアップ完了と書き込みの明示的承認がある場合だけ、本ガイドの読み取り専用段階を離れます。

停止して上位対応へ移すべき場合

  • ファームウェアにディスクがない、または媒体エラー、切断、コントローラーの反復リセット、I/O エラーがある。
  • RAID が縮退/外来構成、キャッシュ未書き込み、またはメンバー数が違う。
  • 会社/学校の端末で、ファームウェア、BitLocker、Secure Boot が管理されている。
  • 対象ディスクが唯一のデータコピーを持つ、または回復キー/バックアップを検証していない。
  • 続行に信頼できないドライバー、セキュリティポリシーの回避、ディスク取り外し、メタデータ書き込みが必要。

識別情報を除いた証拠を保存し、機器メーカー、ディストリビューションサポート、ストレージ管理者、または専門のデータ復旧業者へ連絡してください。

現行の公式資料

歴史的な原文アーカイブ(2011年、来歴確認専用)

アーカイブ注記: 以下は source_export の表示可能な本文すべてで、行末空白だけを正規化しています。安全性/プライバシー上の省略や置換はありません。当時の IDE 互換モード推奨、旧ディストリビューションの例、表現をそのまま保存しており、現行手順ではありません。リンクはプレーンテキストのコードブロック内にあり、操作用の入口ではありません。

解决:安装linux时出现:No hard drives have been found

Table of Contents

Toggle

- [问题描述](https://blog.lazying.art/en/html/computer_internet/unix_linux/429/%e5%ae%89%e8%a3%85linux%e6%97%b6%e5%87%ba%e7%8e%b0%ef%bc%9ano-hard-drives-have-been-found.html/#%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0)
- [原因分析](https://blog.lazying.art/en/html/computer_internet/unix_linux/429/%e5%ae%89%e8%a3%85linux%e6%97%b6%e5%87%ba%e7%8e%b0%ef%bc%9ano-hard-drives-have-been-found.html/#%E5%8E%9F%E5%9B%A0%E5%88%86%E6%9E%90)
- [解决方案](https://blog.lazying.art/en/html/computer_internet/unix_linux/429/%e5%ae%89%e8%a3%85linux%e6%97%b6%e5%87%ba%e7%8e%b0%ef%bc%9ano-hard-drives-have-been-found.html/#%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88)

  - [虚拟机](https://blog.lazying.art/en/html/computer_internet/unix_linux/429/%e5%ae%89%e8%a3%85linux%e6%97%b6%e5%87%ba%e7%8e%b0%ef%bc%9ano-hard-drives-have-been-found.html/#%E8%99%9A%E6%8B%9F%E6%9C%BA)
  - [实体机](https://blog.lazying.art/en/html/computer_internet/unix_linux/429/%e5%ae%89%e8%a3%85linux%e6%97%b6%e5%87%ba%e7%8e%b0%ef%bc%9ano-hard-drives-have-been-found.html/#%E5%AE%9E%E4%BD%93%E6%9C%BA)

    - [方案1](https://blog.lazying.art/en/html/computer_internet/unix_linux/429/%e5%ae%89%e8%a3%85linux%e6%97%b6%e5%87%ba%e7%8e%b0%ef%bc%9ano-hard-drives-have-been-found.html/#%E6%96%B9%E6%A1%881)
    - [方案2](https://blog.lazying.art/en/html/computer_internet/unix_linux/429/%e5%ae%89%e8%a3%85linux%e6%97%b6%e5%87%ba%e7%8e%b0%ef%bc%9ano-hard-drives-have-been-found.html/#%E6%96%B9%E6%A1%882)

## 问题描述

安装linux时出现:

No hard drives have been found.

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

Would you like to select drives now?

## 原因分析

如果你是在本身机器上安装,需要把硬盘接口设置成IDE的;如果你是用虚拟机的话必须创建一个IDE硬盘。

## 解决方案

### 虚拟机

虚拟机默认创建的硬盘是SCSI的。

具体操作:

在虚拟机里把现在的scsi硬盘删除,然后再添加一个ide硬盘就可以了。

### 实体机

#### 方案1

找你的 SATA 驱动,在安装时载入 SCSI 的地方载入 SATA 驱动。不过前提是你的 Linux 系统是特殊的一些版本,基本都是服务器专用版本,因为新版本的内核自带 SATA 驱动,所以一把厂家只提供特殊需要的一些系统版本,一般都只有 RHEL 4/5 系列,SUSE 企业版两个。另外还需要你的主板是特殊的主板,一般都是服务器专用主板(就是一个主板价格顶上一台家用机的那种)。

#### 方案2

打开主板 SATA 的兼容模式(有的叫传统模式),但这样如果你的 Windows 系统是 SATA 状态下面安装的,它会变得不能使用,听说需要重装,但也不绝对。但这样 SATA 的性能优势全无,听说也不能打开 DMA 来加速硬盘的读写。但性能损失多少不知道。

具体操作

按F1(或F2、ESC)进入BIOS,Config–>SATA–>Compatibility[或IDE]

Leave a Reply