Windows10がインストールされているシステムにUbuntuをインストールしました。GRUBを使ってWindowsでもUbuntuでも普通に起動できるのですが。Ubuntuのパーティションを削除したいのですが、まずWindows10のMBRを復元する必要があります。
Use Bootrec.exe in Windows RE to troubleshoot problems (apply to Windows 7 and Windows Vista) では、/FixMbr
/FixBoot
オプションで Bootrec.exe を使用するとありますが、コマンドプロンプトで "bootrec.exe /FixMbr" と入力すると Windows は次のように述べてきます。
'bootrec.exe' は、内部コマンドまたは外部コマンドとして認識されません。
Windows 10を起動し、そこからコマンドプロンプトを実行できる(インストールメディアを使う必要はない)と言うのですが、何を入力すればいいのかわかりません。
Windows 8/8.1/10でMBRを修正するコマンドは、"bootsect.exe"です。
bootsect /nt60 drive_letter: /mbr
これは、"drive_letter:" にマップされたパーティションのブートレコードと、そのパーティションが配置されたディスクのMBRを修正するものです。
C:\Windows\system32>bootsect
bootsect {/help|/nt60|/nt52} {SYS|ALL|<DriveLetter>:} [/force] [/mbr]
Boot sector restoration tool
Bootsect.exe updates the master boot code for hard disk partitions in order to
switch between BOOTMGR and NTLDR. You can use this tool to restore the boot
sector on your computer.
Run "bootsect /help" for detailed usage instructions.
また、bcdboot.exe、bootsect.exeなどのグラフィカルインターフェースや、ブートセクタービューなどの便利な機能を持つ"Dual-boot Repair Tool" を使用することもできます。Windows 10/8/7/Vista用のワンクリック・デュアルブート修復機能(Windows XP起動ファイルも修復できます)です。
私は次のような問題を抱えていました。
UbuntuとWindows 10を持っていて、Windows 10を使ってUbuntuのパーティションを削除していました。再起動後、「パーティションが見つかりません」というエラーが発生し、自動的にGRUBに入りました。
以下は、その解決方法です。
1.Windows 10 CDを焼く]1、トラブルシューティングに入り、そこからWindowsコンソールに入りました。 2.そして、入力しました。ブートセクト /nt60 drive_letter:2.そして、「bootsect /nt60 drive_letter: /mbr` 」と入力しました(drive_letterは、あなたの文字に置き換えてください。) 3.そして、最終的にうまくいきました。
また、私と同じ悩みを持つ方々の解決方法が明確になれば幸いです。
ここにある他の回答は MBR/BIOS システムではうまくいきますが、私のような UEFI システムの場合、bootsect
は半機能的なブート MBR を [GPT protective MBR] の上に書き込むだけです (https://en.wikipedia.org/wiki/GUID_Partition_Table#Protective_MBR_(LBA_0)) と bootrec
は "Access denied" エラーメッセージを出すだけで、どちらも壊れた EFI system partition を修正する機能的なオプションを持っていません、UEFI/GPT ドライブでは、MBR に保存されていた起動ローダが含まれているものなんですがね。UEFI Windows Boot Manager の修正に関する最新のガイドは残念ながらほとんどありません (ほとんど全てのガイドはグラフィカルな Startup Repair ユーティリティを実行するように言っていますが、全てのケースで問題を解決できるわけではありません)。しかし私はようやく この記事 に埋もれた正しい解決法を見つけました。それは代わりに bcdboot
コマンドを使用することを要求しています。
1.メディア作成ツール](https://www.microsoft.com/en-us/software-download/windows10)を使って、Windows 10のインストールDVDまたはUSBドライブを作成し、それを使って起動します。
2.2.プロンプトが表示されたら、"Repair your computer"を選択し、次に"Troubleshoot"、"Advanced Options"、最後に"Command Prompt"と進みます。
3.3. diskpart
を実行し、次に list volume
を実行します。EFIシステムパーティション(ESP)のボリューム番号をメモしてください。
4.4. 次に select volume x
(ここで x
は ESP のボリューム番号) を実行し、次に assign letter=N:
を実行してパーティションをマウントします。もう一度 list volume
を実行し、ESP にドライバ文字が割り当てられていることに注 意してください。exitを実行して
diskpart` を終了します。
5.(オプション) もし現在デュアルブートをしておらず、新しいブートローダを書き込む前に ESP を完全にクリーンアップしたい場合は、format N: /FS:FAT32
を実行して FAT32 として再フォーマットしてください。しかし、通常の状況では、これはおそらく必要ないでしょう。なぜなら、 bcdboot
はそれ自体できれいにするのに良い仕事をしてくれるからです。特に 別のパーティションに Linux distro を入れている場合は、この作業を行わないでください そうしないと、この作業が終わった後に GRUB も再インストールしなければならなくなります。また、ESP 上の GRUB の既存のディレクトリを削除しない限り、以下の手順は EFI GRUB のインストールに影響を与えないことに注意してください。
6.6. 最後に、bcdboot C:\windows /s N: /f UEFI
で新しいブートローダをパーティションに書き込んでください。このコマンドは N: にマウントされた ESP 上に C:\windows にマウントされた Windows インストールを使用して新しい UEFI 互換のブートローダを再構築します。このディレクトリには新しい Windows Boot Manager を含む Microsoft
ディレクトリとフォールバックブートローダを含む boot
ディレクトリ (Linux 用 GRUB などインストールした他のブートローダ用のディレクトリも含まれます) があるはずです。
7.(オプション) デュアルブートしている場合、おそらく Linux ディストロを起動し、 sudo update-grub
を実行して、GRUB スクリプトが新しい Windows ブートローダを検出し追加できるようにする必要があるでしょう。また、次のステップをスキップして、GRUB を最初のブートとして残し、両方のオペレーティングシステムにアクセスできるようにする必要があります。
8.8. BIOSセットアップを起動し、quot;Windows Boot Manager"がトップブートの選択肢として設定されていることを確認します。保存して再起動すると、ようやくWindowsに戻ります。