web-dev-qa-db-ja.com

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

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

最初に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パーティションには、BOOTEFIという2つのディレクトリがあります。 BOOTは単一のファイル-boot.sdiです。 EFIディレクトリには、BOOTMicrosoftという2つのディレクトリがあります。 BOOTの中には、bkpbootx64.efibootx64.efiの2つのファイルがあります。 Microsoftディレクトリには、Bootという名前のディレクトリがあります。その中には、通常のMicrosoft EFIファイルがあります(私が知る限り)。

まだGRUBファイルが残っていると思って、UEFIパーティションでfind . -iname "*grb*"find . -iname "*grub*"を実行しましたが、空のファイルbootx64.efi.grb(削除した)は1つしか見つかりませんでした。

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

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

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

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

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

9
Torvero

私はあなたが問題を修正したことを知っていますが、何が間違っていたのか、どのように修正する必要があるのか​​を指摘したいと思います(エンドユーザーとUbuntuの開発者の両方による)。

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

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

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

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

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

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

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


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

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

29
Rod Smith

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

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

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

2
Jess

私がしたことは、Ubuntuをアンインストールした後、いくつかのアンインストーラーでそれを行うか、単にUbuntuライブCDまたはUSBスティックから起動してGPartedでLinuxパーティションをフォーマットすることです-EFIパーティションもフォーマットし(FAT32) WindowsインストールディスクからのWindowsブートリカバリ。

私は数十のアドバイスやチュートリアルを読み、うまくいかない方法で多くの時間を失ったことに言及しなければなりません。結局、私は私にとって論理的に思える唯一のことをしました。

1
Srdjan

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

1
user394891

さて、これは私が推測するすべてのコンピューターで動作するわけではありませんが、これがmeを修正したものです。

最初に、ラップトップのBIOSオプションを使用して「System Recovery」を起動しました。これによりWindowsにアクセスできましたが、その後起動するたびに、Windowsが起動する前にNo partition activeというメッセージが1秒間表示されました。私は次のことを行うことでこれを取り除きました:

  1. Windowsを起動する
  2. SHIFT +「再起動」をクリック
  3. トラブルシューティング
  4. 高度な
  5. コマンド・プロンプト
  6. bootrec.exe /fixmbrを実行しています

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

1
Torvero