LoginSignup
3
2

Ubuntuインストール時「’grub-install /dev/sda’ の実行に失敗しました。」 エラーの解決方法

Posted at

はじめに

10年ほど前に購入したPCがwindows8のため、Linux化しようと試みました。その際に生じた表題のエラーの解決方法について記載します。

環境

使用したPC情報

  • 実装メモリ(RAM)8.00GB
  • システムの種類 64ビット オペレーティングシステム、x64 ベース プロセッサ
  • UEFIモード

インストールしたLinux

  • Ubuntu Desktop 22.04.2 LTS

Ubuntuをインストールした方法

今回、私が実行したUbuntuをインストールした方法について簡単に記載します。

  1. Ubuntuをダウンロードする
  2. Rufusというプログラムを用いてUSBメモリへダウンロードしたUbuntuをインストールする
    • ダウンロードサイト: https://rufus.ie/ja/
      • Portableタイプを使用しました。
    • 使用するUSBメモリ内の元々あるデータは上書きされて消えてしまうとのことで、新しいUSBメモリを用意しました。
    • YUMIという別のプログラムを用いることも可能でしたが、ChatGPTに聞いたらRufusの方が書き込みが早く初心者にとっても使いやすいとのことでRufusにしました。
  3. UbuntuをインストールしたいPCにて、作成したUbuntu起動用USBメモリから起動させる
  4. Ubuntuのinstallアプリを起動し、インストールする

表題エラー発生時の状況

Ubuntuが9割ほどインストールされたくらいのタイミングで表題のエラーが発生しました。
grubのインストールに失敗しているようです。
その際、インストールの種類という画面で「ディスクを削除してUbuntuをインストール」を選択しておりました。

表題エラー解決策

  1. インストールの種類という画面で「それ以外」を選択し続けるを押下
  2. 既存のパーティションを全て削除
  3. 「空き領域」を選択し「+」をクリックすることで以下のパーティションを上から追加していく
    サイズ パーティションタイプ 新しいパーティションの場所 利用方法 マウントポイント
    20GB 基本パーティション  この領域の始点 ext4ジャーナリングファイルシステム /
    メモリの2〜1.5倍 基本パーティション この領域の始点 スワップ領域
    200MB 基本パーティション この領域の始点 EFIシステムパーティション
    最大(出てきた数字) 基本パーティション この領域の始点 ext4ジャーナリングファイルシステム /home
  4. インストールする

解決策の裏付け

上記のようにググってでてきた解決策の通り実行したらインストールできましたが、なぜ解決できたのか腹落ちできていないため、ChatGPTに聞いてみました。

EFIシステムパーティションを設定したことによって、インストールが成功した理由は以下の通りです。

  1. EFI互換システム: EFI (Extensible Firmware Interface) は、BIOSの代わりとなるファームウェアインタフェースです。EFIシステムパーティションを作成することで、コンピュータがEFI互換システムであることを認識し、それに応じたブートプロセスを実行します。
  2. ブートローダーの配置: EFIシステムパーティションには、EFIブートローダーやカーネルイメージなどのブートに必要なファイルが格納されます。これにより、コンピュータが起動時にEFIシステムパーティションを見つけ、そこから適切なブートローダーを読み込むことができます。
  3. GPTパーティションスキーム: EFIシステムパーティションは、GPT (GUID Partition Table) パーティションスキームに必要なパーティションの1つです。GPTは、MBR (Master Boot Record) に代わるパーティションスキームであり、大容量のディスクや複数のOSの管理に適しています。

したがって、EFIシステムパーティションを設定することで、EFI互換システムを正しく認識し、ブートローダーを適切に配置して起動することができます。これによって、インストールがエラーなく成功したと考えられます。

難しかったので、小学生でも分かるように解説してもらいました。

通常、コンピュータは起動する際に、特別なソフトウェア(ブートローダー)を使ってオペレーティングシステム(OS)を起動します。EFIシステムパーティションは、そのブートローダーと関連するファイルが保存される場所です。

EFIシステムパーティションを設定することで、コンピュータは正しくブートローダーを見つけて起動できるようになります。これにより、OSがちゃんと起動することができるのです。

また、EFIシステムパーティションは、大きなディスクや複数のOSを管理するための特別なディスクの仕組み(GPT)に必要です。GPTは、コンピュータのディスクを管理するためのルールのようなものです。

だから、EFIシステムパーティションを設定することで、コンピュータはちゃんと起動するための準備が整うのです。

つまり、EFIシステムパーティションを作ることで、コンピュータがちゃんと起動するようになり、インストールがエラーなく成功するようになるのです。

grub-installコマンドはブートローダーGRUBをインストールするコマンドであり、通常ブートパーティションのあるディスク/dev/sdaにGRUBをインストールするが、今回の条件では、EFIシステムパーティションを設定することで、適切にブートローダーを配置して起動できるようになった、ということでしょうか、、、

おわりに

ひとまず無事Linux化できたので、Linuxライフを楽しもうと思います。

参考

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2