UEFIな環境でWindows10からLinuxが入ってるパーティションを削除してGrub rescueの画面だしちゃった場合の対処法

まずはブートメニューでWin10のブートローダー選択

UEFIとLinuxをWindows10を一つのストレージでデュアルブートしてるノーパソでWinからLinuxをそのまま消しちちまってGRUB rescueの画面でたので対処方法メモ。

Linux入ってるパーティション削除したあとPCに再起動かけてない人はスキップ。再起動かけてGRUB rescueの画面だしちゃった人向け。

PCを再起動してブートメニュー立ち上げたらWin10のブートローダーか、UbuntuだのManjaroだのとLinux系のブートローダーと混在してるはずなのでWin10のブートローダーを選択する。そのまま普通にWin10が起動すると思う。

Diskpartを起動する。

管理者権限のWindows PowerShellかコマンドプロンプトで"diskpart"と入力する。Windows Power Shellは"pow"、コマンドプロンプトは"cmd"とスタートメニューで検索をかけると出てくる。

Diskpartの操作

パーティション分けてデュアルブートに使ってたディスクを選択する。以下のコマンドを入力。

list disk

以下のようにディスクの一覧が表示される。今回はディスク0にブートファイルが入ってる。

ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
* ディスク 0    オンライン           167 GB  1024 KB        *

ディスクを選択する。xには指定したいディスクの番号を入れる。上記の例だと"0″が入る。

sel disk x

ボリューム一覧を表示する

list vol

一覧が表示される

Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0     C                NTFS   Partition    167 GB  正常         ブート
  Volume 1                      FAT32  Partition    100 MB  正常         システム

ファイルシステムがFAT32になってるやつを選ぶ

sel vol 1 

空いてるドライブレターを割り当ててwindows上にマウントさせる。ここではZを使用

assign letter=Z:

Diskpartを終了させる

exit

コマンドプロンプトorPower Shell上の操作

exitでDiskpartを抜けると普通のコマンド操作画面に戻るだろうから、そのまま先ほどマウントしたZドライブにアクセス。

z:

直下のディレクトリを確認する

dir

すると、EFIというディレクトリが確認できるので移動する

cd EFI

EFI直下のディレクトリを確認すると、自分がインストールしてたOSのブートに関連するファイルがあると思う。うちの環境だと以下のような状態だった。

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       2019/10/16     11:10                Microsoft
d-----       2020/01/31     16:24                Boot
d-----       2020/02/22      6:28                ubuntu
d-----       2020/02/08     19:54                Manjaro

以下のコマンドで該当のディレクトリごと削除する。上記の例だとXにubuntuとManjaroが当てはまる。

rmdir X

再起動

あとは再起動かけたら普通にWindows10が起動するようになってるはず。