kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。 Ubuntuの最新情報も紹介しています。

Ubuntuから認識されるHDDが、GRUB2で認識されない

  環境によっては、Ubuntuから正常に認識され利用可能なHDDが、GRUB2で認識されないことがあります。

  もしUbuntuをインストールしたHDDからUbuntuを起動できない場合、同じ現象になっていないか確認してみるとよいです。

  Ubuntuからは正常に認識されるので、ライブメディアから起動したUbuntuでも同様に、HDDが正常に認識されます。
  もちろんUbuntuのインストーラーからもHDDが認識され、正常にインストールが行われます。

  結果から言いますと、UEFI/BIOSの設定画面でSATAコントローラーのブート設定が、ブート可能な設定になっているか確認するということです。

現象を確認した環境

  ここではこの現象を確認した環境の一例を紹介します。
  この環境では、以下の2種類のSATAコントローラーがマザーボードに搭載されています。

ubuntu@ubuntupc:~$ lspci | grep SATA
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
04:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9120 SATA 6Gb/s Controller (rev 12)

  IntelのSATAコントローラー

    IntelのSATAコントローラー(2行目)は、チップセットに内蔵されているSATAコントローラーです。
    こちらはメインで使用するSATAコントローラーなので、このSATAコントローラーに接続されたHDDは、常にブート可能な設定になっています。

    ハードウェアレベルの内容なので、HDDにOSがインストールされているかどうかは関係ないです。
    言い換えれば、起動ディスクとして使用するかどうか、ということになります。

    多くのPCでは、チップセット内蔵のSATAコントローラーなど、メインで使用するSATAコントローラーに接続されたHDDは、常にブート可能な設定になっていると思います。

  MarvellのSATAコントローラー

    MarvellのSATAコントローラー(3行目)は、SATAポート追加のため、オプションで搭載されているSATAコントローラーです。
    こちらのSATAコントローラーがポイントです。

    このSATAコントローラーに接続したHDDを、ブート可能なHDDとして扱うかどうかを、UEFI/BIOSの設定画面から設定することができます。

    もし、UEFI/BIOSの設定画面でブート不可の設定を行っていた場合、このSATAコントローラーに接続されたHDDからUbuntuを起動することができません。

    起動ディスクとして扱われないためです。

  HDDの構成

    もし、HDDを1つだけMarvellのSATAコントローラーに接続し、そのHDDにUbuntuをインストールした場合、ブート可能な設定になっていないとGRUB2すら起動しません。

    ここでは2台のHDDを、それぞれIntelのSATAコントローラーとMarvellのSATAコントローラーに接続しています。
    それぞれのHDDを「HDD_I」、「HDD_M」と記述します。

    GRUB2は「HDD_I」にインストールされています。
    Ubuntuは、「HDD_M」にインストールされています。

    MarvellのSATAコントローラーのブート設定は、ブート不可になっています。

現象

  発生した現象の内容です。

  Ubuntuの起動

    IntelのSATAコントローラーに接続されている「HDD_I」は、ブート可能になっているため、PCを起動すると「HDD_I」からGRUB2が起動します。

    GRUB2のブートメニューから「HDD_M」にインストールされたUbuntuを選択します。
    ここで「no such partition」と表示されPCが再起動しました。

  GRUB2で認識されているHDDを確認

    以下のように、GRUB2で認識されているHDDを確認することができます。
 

    ここで「HDD_M」が認識されていないことが分かりました。

というわけで

  UEFI/BIOSの設定画面を表示し、MarvellのSATAコントローラーのブート設定をブート可能に変更後PCを起動したら、「HDD_M」にインストールされたUbuntuを起動することができました。

  MarvellのSATAコントローラーのブート設定をブート可能に変更すると、PC起動時にMarvellのSATAコントローラーの初期化を行うメッセージが表示されました。 

  どうやらブート不可にすることで、MarvellのSATAコントローラーの初期化はOS側で行い、起動時間を短縮しているようです。

  そのためUbuntuからはHDDが認識されるが、GRUB2では初期化を行わないため、今回の現象が発生したと思われます。


関連コンテンツ
同一カテゴリーの記事
コメント
オプション