Windows 8はデフォルトのブートマネージャーとしてGrubを削除します


37

Windows 8がプリインストールされたSony VAIO Sシリーズがあり、Ubuntu 12.10を新しいパーティションにインストールしました。PCが起動するとGrubが表示され、Windows 8(最初は動作しなかったため、Grubの設定を変更する必要がありました)とUbuntu 12.10を選択できます。Ubuntu 12.10を選択するとすべて問題ありませんが、Windows 8を使用し、Grubを再起動すると表示されなくなります(Windows 8はすぐに起動します)。

Ubuntu 12.10 LiveUSBを起動して使用efibootmgrしたところ、Windows 8(起動するたびに)がEFIのデフォルトブートローダーをGrubからWindowsブートマネージャーに変更することがわかりました。

Windows 8でこれを変更するにはどうすればよいですか?について読みましたbcdeditが、機能しないか、使用方法がわかりません...


あなたはこれを自分で解決する良い方法にいると思います。掘り続ける[;
メロン

3
うん、ちょっとしたことが必要なだけなら、その方法を説明するチュートリアルを作成します。マイクロソフトは、デフォルトのブートマネージャーを変更する必要があるのはなぜですか?私の意見では、人々がマイクロソフト製品以外のものを使用できないようにすることです。
クーロス

ああ、彼らはそれが気にしないと思う。とにかく、すぐにチュートリアルをご覧ください。
メロン

これについてマイクロソフトのカスタマーサービスに問い合わせたところ、フォーラムに案内されました。フォーラムでは、窓がそもそもそもそも置かれていると言われました。期間。気に入らない場合は、起動時に終了するたびに実行されるバッチファイルをWindowsで作成します。bcdedt-sWindows uefi configを使用すると、次にgrubを起動できます。いいね
netom

GPTファイルシステムには、ブートセクタの複製が含まれています。WindowsはMBRチェックサムをチェックし、元の保護MBRデータで上書きすることでそれを「修復」しているようです。セキュリティのベストプラクティス。en.wikipedia.org/wiki/GUID_Partition_Table

回答:


33

約束することはできませんが、管理者権限で起動されたWindowsコマンドプロンプトウィンドウからこれを試してください。

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

{bootmgr}正確に入力する必要があることに注意してください。それは変数ではありません。それでもうまくいかない場合は、Linuxでこれを試すことができます。

  1. /boot/efi(EFIシステムパーティション、またはESP)の内容全体をバックアップします。
  2. を入力しsudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoftます。
  3. を入力しcp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efiます。
  4. 新しいを作成します /etc/grub.d/40_customを参照ファイルエントリをEFI/Microsoft/bootmgfw.efi。その中の既存のエントリ/boot/grub/grub.cfgを参照してモデル化しEFI/Microsoft/Boot/bootmgfw.efiます。Bootブートパスから削除して、エントリに新しい名前を付けてください。
  5. 入力sudo update-grubして、新しいGRUBエントリをインストールします。

再起動すると、GRUBが起動するはずです。問題は、Windowsがブートローダーを再インストールすることを決定した場合に、システムが再びWindowsを直接起動し始めることです。

ステップ4では、次のことができます。

  1. コピー40_customで始まるエントリmenuentry 'Windows ...'のセットの間に位置### BEGIN <path> ###し、### END <path> ###タグ/コメントを。これはを含むパスを持つエントリBootです。
  2. /etc/grub.d/40_customコピーしたを追加して、ファイルに新しいエントリを作成しますmenuentry
  3. 新しいエントリの名前を変更します(元の名前Windows Boot Managerまたはそれに類似した名前)。
  4. パスをからEFI/Microsoft/Boot/bootmgfw.efiに変更しますEFI/Microsoft/bootmgfw.efi

編集:

この答えを書いてから、EasyUEFIと呼ばれるサードパーティのWindowsツールに気付きました。これは、bcdeditWindowsからEFIブート順序を調整するよりも簡単なGUIツールです。ただし、Windowsがブートごとにデフォルトとして自身を設定する習慣がある場合、EasyUEFIがWindowsの変更を停止するかどうかはわかりません。したがって、bcdeditまだ必要かもしれませんが、EasyUEFIも試してみる価値があります。


5
私を支援することを検討し、ステップ4の特定の端末プロンプトを教えてください。入力するコマンドが正確にわからなかったため、そのステップ以外のすべてを実行しました。Grubが動作するようになりましたが、Windowsを起動できません。ほら!

ステップ4を詳しく説明してください
ji-ruh

\EFI\ubuntu\shimx64.efiUbuntu 18.0.4 LTS
CSGO

2

Windows 8でこれを変更するにはどうすればよいですか?私はbcdeditに関する何かを読みましたが、それが機能しないか、それを使用する方法を知りません...

ここで同じ問題、私はついにこの最新のW8.1アップデートがそれを行ったことを見つけました、そして私は今日アップデートしたばかりで、HPパビリオンが私に言ったので。

とにかく、ここに働いたものがあります:

このUtubeビデオに従って、「自動[ブート]修復」を停止しました:http : //www.youtube.com/watch? v=VRQYmtysFkg

次に、Rodが提供する上記のソリューションを使用してbootmgrを変更しました。bcdedit/ set {bootmgr} path \ EFI \ ubuntu \ grubx64.efi

ビンゴ!

btw:LiveUsbからのブート修復はnadaを行いましたが、W8がブートエントリを修復している間に短いフラッシュを引き起こしました。


1
あなたが助けることを決めたことは素晴らしいことです!しかし、あなたの答えは、(ビデオ)リンクのための任意のコンテキスト提供していないあなたが投稿をし、我々はここで、Ubuntuはそれをしたい依頼します。(ビデオ)リンクが遅かれ早かれ死んでしまう可能性があるため、ここでの答えがコンテキストを提供することを望んでいます。
VenkiPhy6

0
  1. 走る ブート修理が「S Recommended RepairのLiveCDから、その後、PCを再起動します。
  2. それでもうまくいかない場合は、Boot-Repairを実行します->詳細オプション->チェックを外します " Backup and rename EFI files"->チェック " Restore EFI backups"->適用

2
NOPの問題は、Windows 8から来る
クーロス

0

私は答えの一部しか持っていません:それを永久に修正する方法を見つけるまでほとんど問題がない実用的なソリューションです。

同じ問題がありました:Windows 8に付属のthinkpad edge; ubuntuをデュアルブートとしてインストールし、8.1が出るまでほとんどウィンドウを忘れていました。ウィンドウを削除する前に試してみようと思いました。8.1をインストールした後、起動時にgrubは表示されなくなりますが、F12を押すと別のメニューが表示され、ubuntuを起動できます。それが今の私のコンピューターの起動方法です。しかし、毎回F12を押すのを忘れて、それでもWindowsを起動します(ほとんど望んでいません)。

したがって、F12キーを押すとしばらく役立ちます(これが動作するかどうかはわかりませんが、試してみる価値はあります)。GRUBを復元する方法についての指示があることは知っていますが、完全に確信するまで何もしません。


0

どういうわけか、Windows 8.1がUbuntuを完全にブロックしているのは、この質問の複製です。私はそうは思いませんが、ここでしかコメントできません。Windows 8.1がUbuntuを完全にブロックしているのと同じ症状を経験しました

私の場合、解決策は、起動時にF2を押して、ubuntuがリストの一番上になるように起動順序を変更することでした。デュアルブート(Win / ubuntu)ラップトップをWin 8からWin 8.1にアップグレードした後、何らかの理由で、ubuntu、DVD、USBなどの前にブートリストの上部に「windows」が表示され、ラップトップはWindows 8.1私の選択。

起動中にF2を押し、ubuntuをリストの一番上にすると、MicrosoftストアからWindows 8.1にアップグレードした後、問題が解決し、ubuntuが(Windows 8.1と共に)到達可能になりました。


0

Acer E17上のWindows 10とUbuntu 14.04では、同様の問題が発生しました(Windowsブートマネージャーが引き継いだため、ブート時にGrubにアクセスできませんでした)。上記のRod Smithの指示に従いましたが、運はありません。(非常に良い指示、ところで)

BIOSの起動順序で、Windowsブートマネージャーが最初に、HDDが2番目にリストされている設定を見つけました。それらを交換し、保存して終了/再起動すると、Grubがすぐに表示されました。

他の場所では、一部のBIOSには高速ブートオプションがあり、これも無効にする必要があるかもしれませんが、私の場合はそれがありませんでした。


0

一部のマシンでは、BIOS設定がUEFIパーティション内の* .efiファイルの起動優先度を制御します。HP Pavilion 15-f039wmラップトップがその機能を持っていることはすぐにはわかりませんでしたが、その機能を備えていることがわかりました。BIOSで設定すると、.efiファイルを直接操作したり、bcdeditを使用したりするよりも簡単です。

そのマシンの場合、F10を押してBIOSセットアップに進み、カーソルを移動して「Boot Options」を選択します。再配置可能なUEFIブート優先度のオプションがあり、そのうちの1つは「OSブートマネージャー」です。ただし、このオプションには、強調表示してEnterキーを押すと、「OSブートマネージャー」内の「ubuntu」と「Windowsブートマネージャー」の優先順位を再配置するポップアップが表示されるという追加機能があります。F5 / F6で「ubuntu」を一番上に置き、ポップアップの内容をF10で保存してから、もう一度F10を押して保存し、BIOSセットアップを終了します。

これで、ブートごとの介入なしで、デフォルトでUbuntuをブートするGrubメニューが表示されます。GrubメニューからWindowsを起動するか、F9キーを押してUEFIブートマネージャーメニューを取得することにより、安全なブートを取得できます。

このBIOS機能は、UEFIコードがUbuntuのefibootmgrで行ったBootOrderの変更を上書きしているように見える理由を説明するのに役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.