UEFIラップトップからのGRUBのアンインストール


9

私はWindows 8と一緒にUbuntuをインストールしましたが、Ubuntuをunisntallすることにしました。

まず、Parted Magicを起動し、GPartedを使用してすべてのext4とswapパーティションを削除しました。

これにより、Ubuntuをインストールする前と同じパーティションが残ります。

/dev/sda1 ntfs WINRE_DRV
/dev/sda2 fat32 SYSTEM_DRV (my UEFI partition)
/dev/sda3 fat32 LRS_ESP
/dev/sda4 unknown Microsoft Reserved Partition
/dev/sda5 ntfs Windows8_OS
/dev/sda6 ntfs LENOVO
/dev/sda7 ntfs PBR_DRV

パーティションを削除すれば、Ubuntuを削除してWindows 8で起動できるようになると思いましたが、起動するたびに次のエラーが発生します。

error: no such partition.

GRUBレスキューが続きます:

grub rescue>

私のUEFIパーティションには、2つのディレクトリBOOTとがありEFIます。中には、BOOT単一のファイルであります- boot.sdi。ではEFI、ディレクトリ別の二つのディレクトリです、BOOTMicrosoft。内部はBOOT二つのファイルです、bkpbootx64.efibootx64.efiMicrosoftディレクトリには、という名前のディレクトリがありBootます。その中には、通常のMicrosoft EFIファイルがあります(私の知る限り)。

まだGRUBが残ったファイルがあった考えると、私は走ったfind . -iname "*grb*"find . -iname "*grub*"UEFIパーティションに、しかし唯一の空のファイル、見つかったbootx64.efi.grb(私は削除しました)。

GRUBはまだどのようにインストールされていますか、またどのようにアンインストールできますか?

UEFIは初めてなので、詳細に説明する必要があるかもしれません。コンピューターはLenovo IdeaPad Z580です。

編集:言及するのを忘れてubuntu、UEFIパーティションのフォルダーを削除しました。

編集2:ラップトップのBIOS設定の「システム回復」オプションを使用してWindowsに戻ることができました。これで問題が解決する場合と解決しない場合があります。

編集3:さて、私は今やほぼ普通に起動できます。起動するとNo partition active、数秒後にWindowsが起動します。どうすれば削除できますか?

回答:


28

あなたは問題を修正したと思いますが、何が問題で、どのように修正すべきか(エンドユーザーとUbuntuの開発者の両方による)を指摘したいと思います。

まず、Ubuntuの開発者は、Ubuntuルート(/)パーティション内のファイルとEFIシステムパーティション(ESP)に依存するGRUB構成を作成することを決定しましたこれにより、GRUBはLinuxパーティションの削除または損傷に対して脆弱になるため、Ubuntuを削除した後、またはUbuntuインストールが何らかの方法で損傷した場合にコンピューターを起動することが困難になります。この脆弱性は不要です。ESP上のすべてのサポートファイルと構成ファイルを検索するようにGRUBを構成することが可能です。GRUBがこのように構成されている場合(Fedoraと同様)、Ubuntuを削除しても、GRUBがWindowsにリダイレクトする機能に影響はありません。システムは引き続きGRUBを介して起動しますが、少なくとも起動します。それで、間違った方法でGRUBを設定したことをUbuntuで恥じる。

次に、あなたが言及したファイル名に基づいて、ある時点でUbuntuのブート修復ツールを実行したようです。このツールは、Windowsブートローダーの名前を自動的に変更し、EFI/Microsoft/Boot/bootmgfw.efiその場所にGRUBのコピーを配置します。EFIフォールバックブートローダーで同じことを行い、EFI/BOOT/bootx64.efiGRUBの別のコピーをとしてドロップしますEFI/Microsoft/Boot/bootx64.efi。これは、少数のEFIのバグの回避策として行われます。問題は、ブート修復がデフォルトでこれを行うことです。ほとんどのコンピューターでは必要。その後、ブート構成に変更を加えることが望ましい場合、ユーザーは何が起こっているのかをユーザーが推測する必要があるため、GRUBのこの名前変更とレプリケーションは複雑になります。ですから、Boot Repairの開発者たちが自分たちの修理について微妙なことをしていないのは恥です。(ただし、防御策として、ブート修復で、デフォルトの方法でブートファイルを移動する必要があるバグがあるコンピューターを確実に検出することは非常に困難です。)

もう1つ重要な点は、正しく機能しているEFIシステムでは、ブートプログラムのリストがNVRAMに保持されていることです。EFIは、このリストの各プログラムを順番に試行します。1つが失敗するか存在しない場合は、次のものが試行されます。Ubuntuをインストールすると、そのバージョンのGRUBがリストの一番上に追加されます。ほとんどのEFIでは、ユーザーが組み込みのブートマネージャーから使用するブートプログラムを指定することもできますが、この組み込みのブートマネージャーはほとんどのEFIで粗雑です。

これらすべての要因を合計すると、元の問題に対する最も簡単な解決策は次のようになります。

  1. ブート修復ツールの変更を元に戻します。これは、ブート修復ツール自体を使用して実行できます。「EFIバックアップの復元」と呼ばれるチェックボックスのある詳細オプションメニューがあります。これを使用すると、GRUBの複数のコピーが削除され、Windowsのブートローダーが復元されます。または、これは手動で行うこともできます。最も重要なことは、bootmgfw.efi(おそらくbkpbootmgfw.efiBoot Repairの一部のバージョンでは別の名前が使用されていますが)のバックアップをEFI/Microsoft/Boot/bootmgfw.efiESPにコピーする必要があります。
  2. EFI/ubuntu/grubx64.efiUbuntuの場合、公式/適切な場所にあるGRUBを削除します。セキュアブートがアクティブだった場合は、EFI/ubuntu/shimx64.efi代わりに削除が必要になります。実際、EFI/ubuntuディレクトリ全体を削除するか、少なくとも名前を変更することで、どのような場合でもジョブを実行できます。

それでおしまい。これら2つが完了すると、EFIはUbuntuのブートオプションをスキップします。これは、Ubuntuのブートオプションが無効になり、Windowsのブートが続行されるためです。一部のEFIは、ブートマネージャーのメニューからもUbuntuブートオプションを自動的に削除しますが、これは一般的ではありません。

あなたの場合、マシュー、これらのことはお勧めしません。動作する構成があり、彼らが言うように、「壊れていない場合は修正しないでください」。ESPにいくつかの浮遊ファイルが残っている可能性がありますが、それらは何の害もないので、そのままにしておくことをお勧めします。他の誰かが役に立つと思うことを期待して、私の答えを提示しました。


編集:上記は私が最初に書いたときは正しく、原則は同じままです。ただし、ブート修復はWindowsブートローダーの名前を自動的に変更せず、GRUBの別のコピーに置き換えます。(ブートリペアはオプションでこれを実行できますが、オプションは詳細オプションメニューに埋め込まれているため、デフォルトでは実行されません。)この事実により、この問題からの回復は2013年よりも簡単になりました。ほとんどの場合、必要なのはEFI/ubuntuESP上のディレクトリを削除して、システムを直接Windowsで起動します。これを行ってもGRUBが表示される場合は、前述のように、ブート修復オプションを使用してブートファイルをバックアップし、名前を変更した可能性があります。

別のオプションは、コンピューターの組み込みのブートマネージャー(通常、コンピューターの電源を入れた直後にファンクションキー、Esc、またはEnterキーを押すことでアクセス)を使用してGRUBをバイパスし、Windowsを起動することです。次に、EasyUEFIを使用して、ブート順序を調整したりubuntu、ブートリストからエントリを削除したりできます。このアクションはESPからGRUBを削除しませんが、GRUBをバイパスします。


この回答をありがとう!それは問題を非常によく説明しています。私は実際にBoot Repairを実行しましたが、この質問にそれを含めるのを忘れていました。これは間違いなく将来の誰かを助けることができ、問題を修正するはるかにきれいな方法であるため、これを答えとしてマークしました。
Torvero 2013

遅れましたが、とにかく尋ねます。また、デフォルトのEFIブートローダーをGRUBに置き換えます。それがまだUbuntu 18.04インストーラで置き換えられていると仮定して、それを回復する方法はありますか?
ゾーイ

3

私はこのスレッドが古いことを知っていますが、自分でこの問題を解決しようとしたときに自分の検索でそれに遭遇しました。他の答えがないのでうまくいく解決策を見つけたので、共有する必要がありました。

私はラップトップでWindows 10と一緒にデュアルブートUbuntuを使用していました。Ubuntuを削除することを決定し、そのパーティションを削除しましたが、grubは引き続きブートローダーに割り込み続けました。フォーラムに残された多数の提案を試した後、私はついに私自身の笑いでそれを削除するための非常にシンプルでグラフィカルな方法に出くわしました。(したがって、免責事項、他のバージョンのWindowsにこのオプションがあるかどうかはわかりません)

しかし、私がしたことは、コンピュータがブートオプションに入るようにブートしている間、F12キーだけでした。そして、他のオプションの下で、BIOSセットアップを選択しました。左側で[ Boot Sequence]を選択し、その右側にさまざまなブートオプションをリストしました。それらを選択して、順序を変更したり、それらを削除したり、必要なものを削除したりできます。私がしなければならなかったのは、「ubuntu」だけがマークされていることを確認してから、「ブートの削除」をクリックして終了したことだけです。ログイン画面が続いたので、ノートパソコンを再起動して、問題が解決したことを確認しました。


インターネットはUEFI以外のソリューションでいっぱいのようですが、これはうまくいきます!
Peter Lehnhardt

1

わかりました。これは、想定しているすべてのコンピュータで機能するわけではありませんが、これが問題を修正したものです

まず、ノートパソコンのBIOSオプションから「システムリカバリ」を起動しました。これでWindowsに入ることができましたが、その後に起動するたびに、No partition activeWindowsが起動する前に1秒間メッセージが表示されました。私は次のようにしてこれを取り除きました:

  1. Windowsを起動する
  2. SHIFT +「再起動」をクリック
  3. トラブルシューティング
  4. 上級
  5. コマンド・プロンプト
  6. ランニング bootrec.exe /fixmbr

そして再起動。これでメッセージは表示されなくなり、すべてが正常に見えます。


1

私がしたことは、Ubuntuをアンインストールした後、一部のアンインストーラーを使用して、またはUbuntuライブCDまたはUSBスティックを起動してLinuxパーティションをGPartedでフォーマットすることにより、EFIパーティション(FAT32)もフォーマットしてから、 WindowsインストールディスクからのWindowsブートリカバリ。

何十ものアドバイスやチュートリアルを読んだり、機能しない方法で時間を無駄にしたりしたことに触れなければなりません。結局、私は自分にとって理にかなっているように思える唯一のことをしました。


1

Surface Proでは、UEFIメニューから[セキュアブートキーの再インストール]オプションを選択して、Grub 2を回避することができます。


あなたはこれ以上のオプションを少しいじる必要があるかもしれません-私は「Windowsキーだけを許可する」のようなことを言わなければならなかったと思います。無効なブート構成に関するメッセージが引き続き表示されますが、その後もブートは続行されます。
bbarker
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.