web-dev-qa-db-ja.com

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

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

PCのセットアップ:ギガバイトのz97xゲーム3マザーボードを搭載したi3を持っています。 SSDにWindows 10があり、BIOSでのみUEFIを起動するように設定しています(セキュアブートはオフです)。

インストーラーUSBをBIOS(明らかにUEFI)から選択してUEFIモードで完全に起動し、Linuxラップトップのubuntuディストリビューションでddを使用して、UEFIモードでubuntu install isoを使用して作成しました(F12ブートメニュー)。起動しました。他のUSBにインストールするには、インストーラードライブでUbuntuのインストールメニュー機能を実行しました。次に、Installee USBに自分のパーティションをセットアップします。私は512mb efiパーティション(プライマリ)、27GB ext4パーツ(プライマリ)、4GBスワップパーツ(これもプライマリ)を作成しました。

ブートローダーを/ 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ドライブの下にリストされていますが、そこにインストールしないように特別に指示したにもかかわらず、まだドライブがインストールされていますか?

Windowsブートマネージャーが選択されている場合、幸いにもWindowsは起動しますが、これは非常にイライラします。なぜそれを台無しにしたのですか? Windowsの修復に行ってbootrecを使用し、/ FixMbrと/ FixBootの両方を実行しましたが、ubuntuオプションは残っています。グラブはどこかにそれ自体を詰め込んだようですが、私はどこにいるかわかりません! USBドライブも私のラップトップでは起動しません(インストーラーはUEFIモードで問題なく起動しますが)。

何を間違えたかわかりません。インストール時にBIOSモードではなくUEFIモードになっていることを確認しました。起動時に/ dev/sdaに触れてHDを台無しにするようなものを選択したことはありません。

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

本当にいくつかの助けに感謝します!ありがとう!

2
FrostedCookies

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

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

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

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

2
Rod Smith

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


自分を1173457のバグ「リスト」に追加してください(「このバグは私に質問に影響しますか」。2人目は自分自身を追加したことがないため、2013年に提出されたこのバグは「確認済み」になったことがないため、おそらくそれはなぜ修正されなかったのか。

更新についての良い質問ですが、間違ったESPに移動した場合でも、古いバージョンは機能し続けるので、気付かない可能性があります。

2
ubfan1