web-dev-qa-db-ja.com

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

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について読みましたが、機能しないか、使用方法がわかりません...

37
Kouros

約束することはできませんが、管理者権限で起動された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_custommenuentry 'Windows ...'タグ/コメントのセットの間にある### BEGIN <path> ###で始まる### END <path> ###エントリをコピーします。これは、Bootを含むパスを持つエントリです。
  2. コピーしたmenuentryを追加して、ファイル/etc/grub.d/40_customに新しいエントリを作成します。
  3. 新しいエントリの名前を変更します(元はWindows Boot Managerまたは類似のものである必要があります)。
  4. パスをEFI/Microsoft/Boot/bootmgfw.efiからEFI/Microsoft/bootmgfw.efiに変更します。

編集:

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

33
Rod Smith

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がブートエントリを修復している間に短いフラッシュが発生しました。

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

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

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

0
lebatsnok

一部のマシンでは、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の変更をオーバーライドしているように見える理由を説明するのに役立ちます。

0
sudr minz

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

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

いくつかのBIOSには高速ブートオプションがあり、これも無効にする必要があるかもしれませんが、私のものにはありませんでした。

0
mason81
  1. Boot-Repair 's Recommended RepairをliveCDから実行し、PCを再起動します。
  2. それでもうまくいかない場合は、ブート修復を実行します->詳細オプション-> "Backup and rename EFI files"のチェックを外します-> "Restore EFI backups"にチェックマークを付けます->適用
0
LovinBuntu

どういうわけか 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
riedlblower