UEFI環境でChaletOSをインストールする際の「GRUB installation failed」エラーの対処法、「Boot-Repair」の使い方

私は2年に1度、メインPCを買い替えております。次は今年の12月下旬を予定していました。しかし急な事情により、8月の初旬にPC変更を行うことになりました。

ThinkPad T530(Windows7)からThinkPad E560(ChaletOS)への変更です。

初めてのUEFI環境でのインストール

これまでChaletOSをインストールし、様々なテストをしていたのはThinkPad X200s。お古のマシン。2008年〜2009年のモデルで、UEFIには未対応でした。

今回の「ThinkPad E560」は当然ですがUEFI対応。ですから今回はUEFI環境でChaletOSをインストールしようとしました。しかし、以下のエラーが出てなかなかうまく行きませんでした。

GRUB-installation-failed

GRUB-installation-failed-cropped
エラーのみ拡大

とはいえ何とか無事、UEFI環境にChaletOSがインストールできました。今回は、その解決方法についてお話したいと思います。

UEFIにインストールする際の注意事項

その前に、UEFI環境でChaletOSをインストールする際、何点か注意点があります。念のため確認します。

  • 手動でパーティション設定する必要あり
  • セキュアブート(Secue Boot)は無効化する
  • ブートモードBoot Mode)が必ず「UEFI」になっていることを確認する

まず最初の項目ですが、UEFIで環境でインストールするには「EFIブートパーティション」を確保しないといけません。そのため手動でのパーティション設定が必須なようです(私が調べた範囲では)。

ChaletOSについて言えば、インストールのかなり最初の方、Installation type(下記画面)で「Something Else」の方を選択して、適宜パーティションを手動で設定する必要があるということです。

something-else
必ず「Something else」を選択
新規パーティションの追加
「Something else」選択後のイメージ、※Ubuntuの例。「+」をクリックすると、下図のような画面になりパーティションの作成ができる。出典:【初心者でもわかる】Ubuntuのインストール方法まとめ
EFIブートパーティションの作り方
EFIブートパーティションの作成例 出典:UbuntuTips/Install/UEFI - Ubuntu Japanese Wiki

「EFIブートパーティション」は100MB〜250MB程度確保すれば良いようです。私は他所でよく推奨されていた200MBでパーティションを切りました。インストール後のパーティションは以下のようになりました。

UEFIでのパーティション設定の例

パーティション設定が苦手な方は、少し古いですが、以下の本などを参考にしてUbuntuのパーティションの設定方法を予習する必要はあるでしょう。

「EFIブートパーティション」の設定方法の詳細は、UbuntuTips/Install/UEFI - Ubuntu Japanese Wikiがとても参考になります。

青か黒かそれがかなり大事

次の「セキュアブート(Secue Boot)は無効化」する方法は簡単なので割愛

最も重要なのは「ブートモード」です。UEFIに対応したPCの多くが、現状では以下の両方のブートモードに対応しているはずです(執筆時点)。

  • Legacyブートモード
  • UEFIブートモード

マシンによってはデフォルト値が「Legacyブートモード」になっていることもあるかも知れません。ですから必ず「UEFI(BIOS)」画面を起動し、「ブートモード」を必ず「UEFI」に設定しましょう。ブートモードがUEFIになっていなければ、どう頑張ってもUEFI環境にChaletOSはインストールできません。

もちろん必要があれば同時に「セキュアブート」も必ず無効化しましょう。

UEFIブートモードかどうかは色ですぐ分かる

繰り返しですが「UEFIブートモード」になっていなければ、いくら「EFIブートパーティション」を作成しても、UEFI環境でChaletOSはインストールできません。そのくらいブートモードの確認は重要です。

しかし、その確認方法は意外と簡単です。Live USB(DVD)を起動した時、以下のような水色背景の画面が起動したら、「Legacyブートモード」です。もう一度UEFI(BIOS)画面に入り、ブートモードを「UEFI」に設定し直してください。

Legacyモードの背景は水色

一方、以下のような白黒の画面が起動していれば、ブートモードはちゃんとUEFIになっています。

UEFIモードは白黒

そのままインストールを続けましょう。

The 'grub-efi-amd64-signed' package failed to install into /target/

UEFI環境でインストールを進め、インストールも本当に最後の最後の段階になった時、例のエラーは発生します。本当にガックシきます。

※ChaletOSのインストール手順は「EFIブートパーティション」を作成する以外、基本的に以前の記事と同じです。

GRUB-installation-failed-dialogue

このエラー、実はよく発生するようです。特にデュアルブートを行っている環境では、必ずと言っていいほど発生するようです。ちなみに日本語では「grub-efi-amd64-signedパッケージを/target/にインストールするのに失敗しました」というメッセージになるようです。

とはいえ、私はデュアルブートはしていません。Windows7が入っていたHDDを取り出し、空のSanDisk240GBに換装しChaletOSをインストールしようとしていました。

しかしこれもはっきりとは分かっていませんが、デュアルブートでなくても、そのPCに別のOSが一度でもインストールされていれば、同エラーが発生するケースもあるようです。今回私は後者のケースに当たったんだと思います。

3つの対処方法

この問題、結構多発しているので割と多くの情報収集ができました。その中では以下のような解決策が提案されていました。

  1. インストールより先に「EFIブートパーティション」を作成する
  2. オフラインにしてもう1度インストールしてみる

1番目は「ガセ」だと思います。結局やることは同じですから、でも騙されたつもりでやってみましたが、エラーは解消せず。当然です。

2番目は「Linux Mint 18.1 MATE Release Notes - Linux Mint」の「Known isuues」に書いてあったので、多分これでいけると思いました。

結果はダメ。やはりディストリビューションごとに解決方法が違うのでしょう。仕方ありません。

Boot-Repairでインストール成功

そこで、最後はもうダメ元で「Boot-Repair」というプログラムを試すことにしました。「Boot-Repair」とは、OSの起動に関する問題を修復するプログラムです。

よくWindowsとのデュアルブート環境でUbuntuが起動しなくなった時に使われるツールだそうです。結論を言いますと、このツールでUEFI環境にChaletOSをインストールすることができました

ライブ環境でBoot-Repairのインストール

では早速「Boot-Repair」を利用してChaletOSをインストールする方法をご説明します。まず例のエラーが出ましたら、「OK」でエラー画面は閉じます。

GRUB-installation-failed-dialogue

その後、またライブ環境に戻りますので、そこで端末を起動します(Ctrl+Alt+T)。端末(Terminal)が起動したら、以下のコマンドを入力し、ライブ環境に「Boot-Repair」をインストールします。

※「sudo」コマンドがありますが、ライブ環境なのでパスワードは不必要。

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair

インストールが完了しましたら、以下のコマンドで「Boot-Repair」を起動しましょう。

boot-repair

Boot-Repairの使い方

「Boot-Repair」が起動しますと、以下の画面が現れます。

Boot-Repairの起動画面
出典:Boot-Repair - Community Help Wiki

まず上記画面で「Recommended repair」ボタンをクリックします。そうすると先程のエラーの過程でインストールできなかったソフトなどの分析が始まります。

分析後、ブート問題の解決に必要なコマンドが提示されます。そのコマンドを、手動で一行づつ端末に入力します。ですから端末はもう1つ起動しておいたほうが良いでしょう。

※先に以下の動画を最後までご覧いただくと、分かりやすいと思います。2分27秒辺りから最後までです。

端末にコマンドを入力し処理が終わりましたら「Boot-Repair」の「Foward」ボタンを押下。また分析が始まり、コマンド入力。その繰り返しが2〜3回あったと思います。

最後に「Boot successfully repaired.」となれば、修復完了。そのまま再起動して大丈夫です。

起動OS名がUbuntuでも大丈夫

再起動後、無事OSが立ち上がります。

起動OSがUbuntu

ちなみに「Boot-Repair」の対策を施す前は、再起動してもOSは全く起動しませんでした。ようやく一安心。と思ったら何か違和感が。

起動OSがUbuntuになっている

起動OS名がChaletOSではなくUbuntuになっているのです。「失敗した〜」と思いつつ、Ubuntuが選択された状態で「Enter」。

単なる杞憂でした。その後はいつもChaletOSの画面になり、普通にChaletOSが起動しました

これでUEFI環境でChaletOSが無事インストールできました。この方法が最も合理的かどうかは正直わかりません。ただ、インストール後、約1ヶ月経ちますが、全くエラーは発生していません

ただしLinux初心者が考えた方法なので、あくまで参考程度とお考え下さい。

脱Windowsで快適PCライフ

今回の記事のトラブルはありましたが、これで無事、脱Windows脱マイクロソフトに成功。今拙宅には稼働中のWindows機は1つもありません。それでもハッキリ言って、何の問題も不便も感じないです

むしろ、ChaletOSの圧倒的な軽快さに日々感動しています。起動もシャットダウンも速いです。全体的に動作がキビキビとしています。これはデスクトップ環境がXfceというのが主な原因でしょう。

デスクトップ環境
出展:デスクトップ環境 - Wikipedia

ですから他のディストリビューションで、脱Windowsしても快適かどうかは分かりません。ですが、特にWindows10の使いにくさ、トラブルの多さに辟易しているのなら、Windows7以前のUIに近く軽量・堅牢なChaletOSへの移行を強くお勧めします。

良いですよChaletOS。

※関連記事