web-dev-qa-db-ja.com

ドライブからGrubを削除する方法? +奇妙なブートローダーの動作を修正するには?

ショートバージョン:インストール中に個別のハードドライブを選択したにもかかわらず、私が実行するすべてのUbuntuインストールでは、Windowsハードドライブにブートローダーが移動します。 「ubuntu」と呼ばれる私のUEFIブートメニューのオプション(起動時にF8を押して起動)で立ち往生しています。この起動オプションはどうやら私のWindowsハードドライブにあります。 ただし、Windowsブートマネージャーオプションを選択することで、Windowsを問題なく起動できます

これが私がこの状況に入った方法を理解するのに役立つ可能性があるため、ここにコンテキストがあります

最近、Windowsを実行する1TB SSDと2TBハードドライブを搭載した新しいゲーミングPCを手に入れました。以前は専らUbuntuユーザーでしたので、2台目の2TBハードドライブにUbuntuをインストールする必要がありました。私はXubuntuから始めて、空の2TBハードドライブに3つのパーティションを追加しました。 1つはブート用、もう1つはルート用、もう1つはホーム用です。また、ブートローダー用に空の2TBハードドライブを選択しました。

これは、インストール中に「rsyslog」がUSBをいっぱいにするバグのために機能しませんでしたが、インターネットの助けを借りて、無効にし、同じ3つのパーティションをフォーマットして同じ目的で使用した後、再試行しました。ブートローダーとして2 TBのハードドライブを使用して、ブート、ルート、およびホーム。

次に、いくつかのPCIEバスエラーが原因で、起動または非常に遅くなったため、「pci = noaer」を設定してカーネルを起動する必要がありました。

これは機能しましたが、この大きな画面ではXubuntuがあまり好きではないことがわかったので、このマシンでGnomeがどのように実行されるかを確認するために、標準のUbuntuに切り替えることにしました。私は上記で述べたまったく同じ手順に従い、Ubuntuをインストールしました。

これで、私が現在いる場所に到達しました:私はUbuntuをインストールしていますブートローダーが明らかに私のPCのブートメニューに従って)Windowsのインストールを保持する他のハードドライブにインストールされている2TBハードドライブ。 Ubuntuのインストールには、ログインまたはターミナルを使用するたびにパスワードを3回要求するなど、奇妙な癖がたくさんあります。

ここで何が問題になっていますか?また、UbuntuブートローダーをWindowsドライブから適切に削除して、ブートメニューに表示されないようにするには、2番目のドライブをワイプして、Ubuntuを最終的にインストールできるようにします。

Windowsでのディスク管理のドライブのスクリーンショットは次のとおりです: r

1

ブートローダーの場所に対するユーザー入力を無視するインストーラーの問題の回避策については、ランチパッドのバグ#1396379およびバグ#1174357を参照してください。バグの「これは私に影響を与えますか?」に追加します。基本的には、「Ubuntuを試す」デスクトップからインストールし、ターミナルを起動し、インストール中にタイムリーに/ boot/efiをWindowsディスクからアンマウントし、2番目のディスクからEFIを再マウントすることをお勧めします。

最初のディスクのEFIに既に書き込みを行っている場合は、すべてのファイルを最初のEFIから2番目のEFIにコピーします。 Windowsブートローダーは必要ありませんが、適切なバックアップです。 ubuntuセットアップには... EFI/ubuntu.grub.cfgがあり、これは2番目のディスクのubuntuルートを参照するため、機能します。 2番目のディスクのEFIにも、デバイスブートローダーが... EFI/Boot/bootx64.efiにあります。セキュアブートがオンでインストールされているかどうかによって、shimx64.efiまたはgrubx64.efiになります。サイズをチェックして、bootx64.efiがどれであるかを確認します。 shimx64.efiの場合は、同じディレクトリ(EFI/Boot)にgrubx64.efiのコピーが必要です。

デバイスを選択して2番目のディスクが正常に起動すると、efibootmgrを使用してEFIメニューの不要な「ubuntu」エントリを削除できます。必要に応じて、EFI/ubuntu ...ディレクトリとファイルを単に削除しますが、これらは2番目のディスクのEFIのバックアップです。


最初のディスクのEFIファイルを2番目のディスクのEFIにコピーします。

2番目のディスクにEFIパーティションをセットアップまたは作成し、FATファイルシステムでフォーマットした場合、ブートローダーの場所としてインストーラーに何を指定したかに関係なく、2番目のEFIに空のファイルシステムが必要です。 EFIパーティションが2番目のディスクの最初のパーティションであると想定して、以下では/ dev/sdb1と呼びます。別のディスク文字またはパーティション番号を使用する場合は調整してください。すべてのUEFIブートローダーは単なるファイルであり、通常のファイルコピーツールでコピーできます。最初のディスクのEFIブートローダーを使用して、2番目のディスクでubuntuを起動できるはずです。実行中のシステムは、最初のディスクのEFIパーティションを/ boot/efiにマウントします。これがコピーするファイルのソースです。 2番目のディスクのEFIをマウントするには、/ mntを使用するか、/ mntがすでに他の目的で使用されている場合は、/ mntにディレクトリを作成し、それをマウントに使用します。

Sudo mkdir /mnt/secondefi

2番目のディスクのEFIをマウントします。

Sudo mount -tvfat /dev/sdb1 /mnt/secondefi

すべてのファイルを最初のEFIパーティションから2番目のパーティションにコピーします

Sudo cp -r /boot/efi/* /mnt/secondefi

2番目のディスクには、完全に読み込まれたEFIパーティションがあります。 EFI/ubuntu/grub.cfgファイルには常に2番目のディスク上のUbuntuルートパーティションのUUIDが含まれているため(この2番目のディスクが存在しない場合、grubは失敗します)、変更する必要はありません。

2番目のディスクのセットアップを完了するには、2番目のディスクのEFIのUUIDを使用するように、/ boot/efiエントリーの/ etc/fstabエントリーを編集します。 2番目のディスクのEFI UUID(PARTUUIDではない)を出力から選択します。

Sudo blkid

インストーラーブートローダー作成のクリーンアップ。インストーラーはいくつかのことを正しく行わないでしょう:

1)最初のディスクのEFIを指すubuntuのファームウェアエントリを作成しました。 (適切に設定された2番目のディスク)の起動時にエントリは必要ありません。このエントリはefibootmgrで削除するか、最初のディスクのEFIにのみブートローダーを残す場合はそのままにしておくことができます。

2)最初のディスクのEFIのEFI/ubuntuディレクトリが削除される場合があります。これを行う場合は、ファームウェアエントリも削除する必要があります。

3)最初のディスクのEFI default/devceボットローダーであるEFI/Boot/bootx64.efiは、grubx64.efi(またはshimx64.efi)に置き換えられました。通常、このブートローダーは使用すべきではありませんが、フォールバックとして呼び出される場合があります。元のWindowsブートローダーEFI/Microsoft/Boot/bootmgfw.efiを単にEFI/Boot/bootx64.efiにコピーして戻すか、バックアップファイル... bkpをbootx64.efiにコピーして戻すだけです。

0
ubfan1