Grub ブートローダーで Windows 10 のブート オプションを復元する

Grub ブートローダーで Windows 10 のブート オプションを復元する

私はかなり長い間、Windows 10 と Ubuntu 16.04 を並行して実行してきました。Grub ブートローダーを使用してどちらの OS も起動できました。残念ながら、Windows 10 のインストールが壊れてしまい、再インストールする必要がありました。

Windows 10 を再インストールした後、Grub ブートローダーで起動できなくなりました。そこで、起動可能な Windows USB を使用して次のコマンドを実行し、Windows へのアクセスを回復しました。

bootrec.exe /fixmbr
bootrec.exe /fixboot  
bootrec.exe /rebuildbcd 

その後、easyBCDWindows 10 と Ubuntu 用の新しいブートローダー メニューを作成しました。これで、なんとか再び動作するようになりました。次に行う必要があるのは、Windows 10 ブート メニューを使用して Windows 10 または Ubuntu を選択することです。Windows 10 を選択すると、OS に直接送信されます。ただし、Ubuntu を選択すると、古い (?) Windows 10 へのリンクが壊れた (?) Grub ブートローダーに送信されます。Ubuntu を選択すると、Ubuntu OS が起動します。

私が達成したいのは、すべてを再び Grub ブートローダの下に配置することですが、ここで何が起こっているのか非常に混乱しているので、誰かがここで私を助けてくれることを期待しています。

現在のパーティションは次のとおりです。ここに画像の説明を入力してください

編集:Grub CustomizerGrub Customizer で保存しようとすると削除されるようです/etc/grub.d/40_custom。元のファイルにこれらの行を追加して保存すると、Grub Customizer にブート オプションが表示されません。

答え1

この回避策を試してください

次のコマンドを実行します:-

/etc/grub.d/

gedit 40_custom

40_custom ファイルに次の行を追加します。

menuentry "Windows 10" {
  set root='(hd0,1)'
  chainloader +1
}

それが失敗した場合は、代わりにこれを試してください:

menuentry "Windows 10" {
      set root='(hd0,msdos1)'
      chainloader +1
    }

編集後、ファイルを保存し、次のコマンドを実行します。

grub2-mkconfig -o /boot/grub2/grub.cfg 

メイン構成ファイルに Windows エントリを追加します。

次に次のように入力します:

reboot

答え2

を試してくださいos-prober。別のブートローダをインストールしたので、GRUB も再インストールする必要があります。次のコマンドを実行して、os-proberGRUB 設定をインストールして更新します。

sudo apt-get update
sudo apt-get install os-prober
sudo grub-install /dev/sda
sudo update-grub

再起動すると、GRUB メニューが修正されるはずです。

答え3

grub は Windows EFI ローダーを正常に見つけ、その後 1 つのブート エントリを追加するために停止しますが、そのエントリは無効な (古い) Windows インストールにリンクします。

Windows ブート マネージャーが現在どのモード (UEFI またはレガシー) で動作しているか確認できますか? grub は、別のレガシー代替手段をさらに調査するのではなく、(古い) EFI イメージを切り離して使用した可能性があります。

PS どちらかのブート マネージャーからどちらかの OS を起動したい場合、より公平な方法はサードパーティのブート マネージャーを使用することです。rEFInd は良い選択です。どちらの側でもシステム更新による潜在的な変更を処理できるほど安定しており、強力です。

関連情報