manual

Linux Mint 22が起動しない!ブートローダーGrubを確実に指定のドライブにインストールする方法

EFIパーティションのフラグを変更する⑤
この記事は約14分で読めます。

Linux Mint22やUbuntu22ではインストール時に「ディスクを削除してインストール」または「それ以外(手動パーティショニング)」を選択した場合に、ブートローダーGrubが指定のドライブにインストールされない不具合があります。これの対処方法として正しいインストール方法を説明しています。

Linux Mint22やUbuntu22でブートローダーGrubを確実に指定のドライブにインストールする方法

インストールの際は下記の記事も参考にしてください。

Linux Mint22やUbuntu22ではインストール時に「ディスクを削除してインストール」または「それ以外(手動パーティショニング)」を選択した場合に、起動しない場合があります。この現象は一部の機種でのみ起こるのか全体の不具合なのかは不明です。どちらにしてもすぐに修正されないといけない重大なバグだと思いますが・・・・Ubuntu22でも同じ現象が起きていた気がしますので、それをベースにしているLinux Mint22でも引き継がれています。Ubuntu24では修正されていてこのような事は起きません。

結論から言うと、他のドライブにEFIパーティションがあった場合に、インストール対象のドライブのEFIパーティションにブートローダーがインストールされず、他のドライブのEFIパーティションにインストールされてしまう不具合の為に起こります。

EFIパーティションの役割

EFIパーティションは、ESP(EFI System Partition)と呼ばれUEFIファームウェアの場合に必要なパーティションになります。パーティション名が「EFI」となっている事が多いです。

このパーティションには2つの役割があります。一つ目がUEFIのセキュリティ認証を通すための署名キーのファイルが置かれます。2つ目が起動の為の設定ファイルを置かれます。

1つ目に関しては、ファイルが無い場合またはダミー署名キーの場合はセキュアブートを無効にすれば起動できます。セキュアブートを有効にした場合はポリシー違反で起動できません。2つ目は起動に必要なファイルのため無いと起動できません。

  1. UEFIセキュアブートの認証を通すためのMicrosoftに認証された署名キーファイルが置いてある。
  2. ブートローダーGrubの設定ファイルや起動メニューに必要なファイルなどが置いてある。

どのインストール方法を選んだとしてもEFIパーティションは必ず作成します。そして「ブートローダーのインストール」はEFIパーティションにこれらのファイルのインストールが含まれます。これらのファイルが適切な場所にインストールされていないと当然起動できない訳です。

Ubuntu22セキュアブート対応状況

Ubuntuは基本的にセキュアブートに対応していますが、Ubuntu22に関してはインストールイメージファイルのISOの入っている署名キーはダミーファイルの為デフォルトのままでは起動できません。セキュアブートに対応するように設定する必要があります。(Ubuntu24では修正されていて、認証できる署名ファイルが入っています)

Linux Mint22はUbuntu22などをベースにしていますが、この設定をしなくてもセキュアブートに対応しています。ISOファイルには認証できる署名キーのファイルが入っているのでセキュアブートを有効にしたまま起動できます。

ブートローダーが正しいドライブにインストールされないケース

正常なケースと不具合であろう現象を比べてみましょう。そもそも、ブートローダーはそのドライブにインストールされるべき、且つドライブにはEFIパーティションは1つというのが前提になります。一般的に1つのドライブに複数のEFIを構成しません。

  1. ブートローダーはインストールするドライブのEFIパーティションにインストールする。
  2. 1つのドライブにEFIパーティションは1つ。

基本的なインストール構成としては以下の4つが考えられるのでそれぞれのケースについて説明します。(前の記事より引用)

  1. 1つのドライブにWindowsとLinux Mint22をインストールする:Aを選択(事前準備が必要)
  2. 外付けのHDD/SSDやUSBメモリにインストールする場合:Cを選択
  3. 1つの内部ドライブにインストールする場合(PC1台に対してLinux Mint22のみ):BCを選択
  4. 2つの内部ドライブが有り、1つはWindowsなど、もう1つはLinux Mint22をインストールする場合:Cを選択
Linux Mint22インストール画面。GRUBのインストール先

①1つのドライブにWindowsとLinux Mint22をインストールする場合

①のWindowsと同じドライブにインストールする場合は、既にWindowsによってEFIパーティションが作れらています。そのため、そのEFIに「Ubuntu」フォルダーと「boot」フォルダーが作成され(Linux Mint22のベースはUbuntuなので)、署名キーとGrub設定ファイルなどが作成されます。これは正しい挙動になります。

②外付けのHDD/SSDやUSBメモリにインストールする場合

②の外付けのHDD/SSDやUSBメモリにインストールする場合は、EFIパーティションはそのドライブに作成されます。手動パーティショニングの場合もEFIパーティションを作成するはずです。しかし、Windowsや他のOSがインストールされているドライブがある場合、署名キーとGrub設定ファイルなどはこの場所にインストールされません。

WindowsのドライブのEFIにインストールされます。手動パーティショニングでブートローダー(Grub)のインストール先を指定した場合も同様です。更に厄介なことに、インストールするためのブータブルUSBにもEFIパーティションがある場合が多いですが、このブータブルUSBのEFIパーティションにインストールされる場合もあります。多分boot指定しているパーティションにインストールされると思われます。これは不具合になります。

インストールしたPCでは起動できるので、インストールが上手くいったと思われてるかもしれませんが実はそうではないかもしれません。そして、当然他のPCでは起動できません。Grubの黒い画面でレスキュー画面が表示されます。Windowsの場合は他のPCで起動できませんが、通常多くのLinux OSの場合、他のPCで起動できるのが当たり前なんです。

③1つの内部ドライブにインストールする場合

③の1つの内部ドライブにインストールする場合(PC1台に対してLinux Mint22のみ)は、確認していませんが、ブータブルUSBにboot指定したEFIパーティションが在る場合はそこにインストールされる可能性があります。この場合も起動できないと思われます。多分、セキュリティポリシー違反の画面かGrubの黒い画面のどちらかになると思います。

ブータブルUSBにboot指定したEFIパーティションがない場合はインストールは正常に行われると思われます。当サービス作成した場合やRufus、Ventoyで作成したブータブルUSBの場合は、EFIパーティションはありますが、boot指定していないので、正常にインストールされると思います。他のブータブルUSB作成アプリに関しては不明です。

④2つの内部ドライブでWindowsとLinux Mint22をインストールする場合

④の2つの内部ドライブが有り、1つはWindowsなど、もう1つはLinux Mint22をインストールする場合は②と同じケースの可能性があります。

確実にブートローダーを指定のドライブにインストールする方法

Ubuntu22系OSやLinux Mint22で、ブートローダーを指定のドライブにインストールする方法を説明します。Windows11 24h2、Linux Mint Cinnamon 22.1 (Live起動)で検証を行っています。

同一ドライブでWindowsとデュアルブートする場合は以降の手順は行う必要はありません。

Ubuntu24系OSでは、以降の手順を行う必要はありません。

これ以降の手順ではOSが起動しなくなる操作が含まれます。念のためWindowsなど他のOSやブータブルUSBのLive起動のデータのバックアップを取り、そのOSのリカバリメディアを用意して行ってください。自己責任でお願いします。一読して頂き、分からない場合は行わないでください。

OSに関係なく、EFIパーティションには「ESP(EFI System)やBoot」のフラグが設定がされています。PCの内部ドライブやブータブルUSBのEFIパーティションのフラグを一時的に無くすことで、Linux Mint22で認識されないようにします。(上記で説明した通り、RufusやVentoy、当サービスのブータブルUSBはこれに該当しません)

つまり、EFIパーティションではなく通常のパーティションと認識させることによってインストールするドライブのEFIパーティションのみにします。EFIパーティションは全体で1つしかないので、そこにインストールせざるを得ない状態にすることで正しい場所にブートローダーがインストールされます。

変更したフラグはインストール後に元に戻すのを忘れないでください!またフラグを変更したままシャットダウンや再起動を絶対に行わないでください。

EFIパーティションのフラグの変更をしたまま再起動するとどうなるのか

先にWindowsのEFIパーティションのフラグの変更をしたまま、Windowsを立ち上げてしまうとどうなるのかお知らせしておきます。Windowsが立ち上がってしまうとシャットダウンや再起動ができなくなります。シャットダウンや再起動をしてもログイン画面を繰り返します。つまり、UEFIを起動することはできなくなります。Windowsが起動する前に再びUSBブートはできるので、Windowsが起動する前ならセーフです。

立ち上がらなくなるよりはマシだと思いますが、ここではWindowsでのフラグの変更ついては説明しませんので十分気を付けてください。

①Gparted アプリを起動する

パーティションを操作する「Gparted 」アプリがLive起動で標準でインストールされているのでこれを使います。(PCなどにインストールした場合は入っていないので別途インストールが必要)

①Mintアイコンからアプリ一覧を表示します。
②検索枠に「g」と入力します。
③「Gparted」を起動します。

Linux Mint22のGpartedを起動

②Windowsのドライブを選択する

Widowsのドライブを選択します。ドライブ名は下記のようになり、毎回接続した時の状況によって記載が異なります。ターミナルから「lsblk」と入力すると接続しているドライブの一覧を見ることができるので毎回確認すると良いです。(より詳細に見たい場合は「sudo fdisk -l」コマンドもあります)

  • nvmeXn1:NVMe接続のSSDの場合の表記です。複数のドライブがある場合は「nvme」の後の数字が0,1,2,3…となります。P1,2,3…はパーティション番号です。
  • sdX:SCASI接続とSATA接続のSSD/HDDドライブやUSBメモリの場合の表記です。複数ドライブがある場合は「sd」の後にa,b,c,d…と続き、ポートか接続順かでアルファベットが変わります。

EFIパーティションを選択します。WindowsのEFIパーティションは先頭にあることが多いです。ファイルシステムは「FAT32」でだいたい100MB位のパーティションです。フラグの欄に「boot、esp」と書かれています。

EFIパーティションのフラグを変更する①

③フラグの編集

EFIパーティションを選択し、右クリックメニューから「フラグを編集」を選択します。

EFIパーティションのフラグを変更する②

④bootフラグのチェックを外す

boot」のチェックを外します。

EFIパーティションのフラグを変更する③

「boot」のチェックを外すと「esp」のチェックも自動的に外れて下図の状態になります。

EFIパーティションのフラグを変更する④

閉じる」を押すと反映されます。心配ならもう一度開いて確認して下さい。

⑤ブータブルUSBのドライブを選択する

ブータブルUSBにもbootフラグが付いたEFIパーティションがあるかもしれないので調べます。当サービスのブータブルUSBを例に説明します。(実際はbootフラグは付いていません)

ブータブルUSBのドライブを選択します。接続ドライブ名は異なりますので「lsblk」か「fdisk -l」コマンドで調べてください。
EFIパーティションを選択します。一番最後のパーティションでラベルが「EFI」になっています。

EFIパーティションのフラグを変更する⑤

⑥bootフラグのチェックを外す

①EFIパーティションを右クリックし、「フラグを編集」を選択します。
②「boot」のチェックを外すと下図になります。
③「閉じる」ボタンを押します。

EFIパーティションのフラグを変更する⑥

他にもOSをインストールしたドライブがある場合は同様に行います。

これでEFIフラグの変更が終わりましたので、この状態でLinux Mint22をインストールします。インストールが終わったらフラグを元に戻すので。Gpartedの画面は忘れないように開いたままにしておくことをお勧めします。

インストールが終わると試用を続けるかLinux Mint22を起動するか聞かれるので、「試用を続ける」を選択してください。フラグの変更を元に戻さない限り再起動やシャットダウンを行わないでください!!!

Linux Mint22のインストール方法については説明を割愛しますが、下記の記事を参考にしてください。

EFIパーティションのフラグを元に戻す

インストールが終わったら忘れずにフラグを元に戻します。

①Windowsのフラグを元に戻す

WindowsのドライブのEFIパーティションを選択し、「boot」にチェックを入れます。「boot」にチェック入れると「esp」にも自動的にチェックが入って、下図のようなります。

EFIパーティションのフラグを変更する③

②ブータブルUSBのフラグを元に戻す

ブータブルUSBのEFIパーティションを変更した場合は、同じように「boot」にチェックを入れます。Windowsと同じ状態なります。

③他のドライブのフラグを元に戻す

他のドライブもある場合も同じように「boot」にチェックを入れて元に戻します。

ブートローダーが正常にインストールされたか確認する

インストールしたドライブのEFIパーティションにブートローダーがインストールされたか確認する方法を説明します。

LinuxではUSBメモリなどのドライブ(デバイス)の接続には「マウント」をする必要があります。これはパーティション単位で行います。そして、接続を解除する場合は「アンマウント」をします。いくつかのドライブのパーティションは起動時に自動的にマウントされます。

①ディスク アプリを起動する

EFIパーティションは通常自動マウントされないのでマウントします。コマンドでもできますが、今回はわかりやすく「ディスク」アプリを使ったマウント方法を紹介します。このアプリはLive起動の場合もインストールした場合も両方に標準インストールされています。

①Mintアイコンからアプリ一覧を表示します。
②検索枠に「d」と入力します。
③「ディスク」を起動します。

Linux Mint22のディスクアプリを起動

②EFIパーティションをマウントする

インストールしたドライブを選択します。
EFIパーティションを選択します。画面下の説明欄のところに「パーティションタイプ:EFI System」となっています。
③「」アイコンを押します。

「UUID」はパーティションに振られるユニークな識別番号になります。インストールする毎に変わります。余談ですが、ブート時にこの番号もしくはパーティション名やラベル名でパーティションを識別しているのでパーティション名やラベル名を安易に変更してしまうと起動できなくなる可能性があります。

ディスクアプリでデバイスをマウント①

このアプリはパーティション操作する場合に便利なんですが、例えばパーティションを削除した場合ボタンを押したら即反映されてしまうので使用する場合は注意してください。確認の画面は表示されません。

③EFIパーティションを開く

マウントするとデスクトップにUUIDの名前のアイコンが表示されます。

ディスクアプリでデバイスをマウント②

④フォルダーが存在するか確認する

「EFI」フォルダーが有れば正常にインストールされています。「EFI」フォルダーの中には「BOOT」フォルダーと「Ubuntu」フォルダーが有ります。

ディスクアプリでデバイスをマウント③

ここでフォルダー内が空だった場合は、他のドライブにインストールされています。(ドライブを間違えてないか確認してください)接続しているドライブの全てのEFIパーティションを確認し「Ubuntu」フォルダーがないか探します。これの修正方法は下記の記事をご覧ください。

⑥アンマウントする

確認が終わったら、EFIパーティションをアンマウントします。デスクトップにあるパーティションアイコンの右クリックメニューからでもアンマウントできます。

ついでに他のパーティションもアンマウントしておいてください。

①EFIパーティションを選択し、「」アイコンを押します。
②他のパーティションもマウントされている場合は「」アイコンを押します。

※この画面のツールバーにある電源マークでOFFにしてアンマウントすることもできます。

ディスクアプリでデバイスをマウント④

Comment

タイトルとURLをコピーしました