Ubuntu 15.10をUSBにインストールしようとすると、メインHDDにEFIが書き込まれる

Ubuntu 15.10をUSBにインストールしようとすると、メインHDDにEFIが書き込まれる

私は Windows 10 PC を持っていますが、子供たちに C プログラミングを教えようとしており、リムーバブル USB ドライブに Linux をインストールしようとしていました。

PC のセットアップ: i3 とギガバイト z97x ゲーミング 3 マザーボードを使用しています。SSD に Windows 10 をインストールし、BIOS で UEFI のみを起動するように設定しています (セキュア ブートはオフ)。

BIOS からインストーラー USB を選択して (明らかに UEFI と表示されています)、UEFI モード (F12 ブート メニュー) で Ubuntu インストール ISO を搭載した Linux ラップトップの Ubuntu ディストリビューションで dd を使用して作成したインストーラー USB を UEFI モードで完全に正常に起動しました。問題なく起動しました。もう一方の USB にインストールするには、インストーラー ドライブで Ubuntu インストール メニュー機能を実行しました。次に、インストーラー USB に独自のパーティションを設定しました。512 MB の EFI パーティション (プライマリ)、27 GB の ext4 部分 (プライマリ)、および 4 GB のスワップ部分 (プライマリ) を作成しました。

ブートローダーを /dev/sdc にインストールすることを選択しました。インストールは正常に完了し、再起動します。

さて...ちょっとおかしなことになってしまいました。何が間違っているのかわかりません。

F12 ブートセレクターでブート オプションを見ると、4 つのオプションがリストされています。Windows ブート マネージャー、Ubuntu、Ubuntu (はい、2 つ)、Samsung 32GB UEFI ブート (USB ドライブは Samsung です)。Windows を選択すると、Windows が起動します。Samsung 32GB UEFI を選択しても、やはり Windows が起動しますか? しかし、Ubuntu を選択すると...32GB USB ドライブ上の Ubuntu が起動します。

さらにイライラするのは、USB ドライブを取り外すと、Samsung UEFI ブート オプションは消えますが、Ubuntu オプションは残ることです。USB ドライブを挿入せずにそれらをクリックすると、GRUB メニューが表示され、起動しません。BIOS では、これら 2 つの Ubuntu オプションが SSD ドライブの下にリストされているので、そこにインストールしないように明示的に指示したにもかかわらず、GRUB がインストールされたのでしょうか?

幸い、Windows ブート マネージャーが選択されていれば Windows は起動しますが、これは非常にイライラします。なぜおかしくなったのでしょうか。Windows 修復に行き、bootrec を使用して /FixMbr と /FixBoot の両方を実行しましたが、Ubuntu オプションはそのままです。Grub はどこかに詰まっているようですが、どこなのかわかりません。USB ドライブも私のラップトップでは起動しません (インストーラーは UEFI モードで問題なく起動しますが)。

何を間違えたのかわかりません。インストール時に BIOS モードではなく UEFI モードになっていることを確認しました。また、ブート時に /dev/sda にアクセスして HD に影響を及ぼすようなものは選択しませんでした。

Fedora 23 は、USB ドライブにインストールすると正常にインストールされ、UEFI モードで起動します。

本当に助けていただければ幸いです。ありがとうございます!

答え1

EFI でインストールする場合、「ブート ローダー インストール用デバイス」オプション (またはそれが何と呼ばれているかはわかりませんが、詳細は確認していません) は無視されます。実際に機能するかどうかは確認していませんが、ブート ローダーが配置される場所を指定する別の方法があります。それは、「その他」パーティション リストで「EFI ブート パーティション」または「EFI システム パーティション」(Ubuntu のバージョンによって用語が異なります) としてマークされているパーティションです。理論的には、USBドライブのESPにマークを付け、ハードディスクのESPのマークを外すと、インストーラはUSBドライブにGRUB 2を配置するはずです。これが実際に機能するかどうかはテストしていませんが、すべき仕事。

とはいえ、別の問題にも遭遇しています。USBドライブから起動するためのEFIブートマネージャーエントリは、ないEFI/ubuntu/shimx64.efiは、Ubuntu が最初のブート ローダーを保存するファイルを起動します。代わりに、そのオプションは、「フォールバック」 EFI ブート ローダー ファイル を起動します。このEFI/BOOT/bootx64.efiファイル名は、リムーバブル メディアの「汎用」ブート ローダー ファイル名として使用されます。OS インストーラーまたはその他の外部メディアには機能する NVRAM エントリがない可能性が高いため、OS インストーラー、緊急ディスクなどを起動するには標準化されたブート ローダーの場所が必要であるという考えに基づいています。したがって、x86-64 EFI ベースのコンピューターで起動できる USB ドライブを作成する場合は、EFI/ubuntuをにコピーしEFI/BOOTて に名前を変更する必要があります。IIRC では、1 つ以上のバイナリにハードコードされたパスがあるため、 もそのまま残す必要があるため、両方のディレクトリが必要になります。EFI/BOOT/shimx64.efiEFI/BOOT/bootx64.efiEFI/ubuntu

もう 1 つのポイント: USB ドライブを 1 台のコンピューターでのみ使用する場合は、GRUB を にコピーしなくても問題ない場合がありますEFI/BOOT。ただし、一部の EFI は、起動時にエントリにアクセスできないと判断すると、NVRAM エントリをクリーンアップします。したがって、USB ドライブを取り外し、挿入せずに起動すると、エントリが失われる可能性がありますubuntu。この理由だけでも、GRUB をバックアップ ファイル名にコピーすることが望ましいです。

USB ドライブを取り外した状態でオプションをgrub>起動しようとするとプロンプトが表示されるのは、Ubuntu の GRUB 構成が ESP (内部ディスク上) の GRUB バイナリと Ubuntuパーティション (USB ドライブ上) の構成ファイルに依存しているためです。したがって、USB ドライブを取り外した場合、GRUB は起動しますが、構成ファイルを読み取ることができないため、失敗します。ubuntu/boot

答え2

grub の既知のバグ 1173457 に遭遇しました。これは、指定した場所ではなく、常にプライマリ EFI にインストールされるというものです。ただし、新しい UEFI ブート メカニズムにも困惑しています。Ubuntu ブートローダー (shim、grub) は、独自のディレクトリ /EFI/ubuntu の EFI ファイルシステムに配置され、Windows を上書きすることはありません。簡単な解決策は、プライマリ ディスクの EFI ファイルシステムを USB にコピーし、それを最初のブート デバイスとして選択することです。もう 1 つの問題は、Ubuntu の grub ではセキュア ブートが有効になっている Windows をまだブートできないことです。EFI ブート メニュー (電源投入時にデバイス/OS を選択するためのファンクション キー) を使用するか、セキュア ブートを無効にする必要があります。


1173457 のバグ「リスト」に自分自身を追加してください (「このバグは私に影響しますか」という質問)。2 人目の人が自分自身をリストに追加していないため、2013 年に報告されたこのバグは「確認済み」にさえなっていないため、修正されなかった可能性があります。

アップデートに関する良い質問ですが、間違った ESP にアップデートが行われたとしても、古いバージョンは動作し続けるので、気付かない可能性があります。

関連情報