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
について読みましたが、機能しないか、使用方法がわかりません...
約束することはできませんが、管理者権限で起動されたWindowsコマンドプロンプトウィンドウからこれを試してください。
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
{bootmgr}
は正確に入力する必要があることに注意してください。それは変数ではありません。それでもうまくいかない場合は、Linuxでこれを試すことができます。
/boot/efi
(EFIシステムパーティション、またはESP)の内容全体をバックアップします。Sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft
と入力します。cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
と入力します。/etc/grub.d/40_custom
を参照する新しいEFI/Microsoft/bootmgfw.efi
ファイルエントリを作成します。 /boot/grub/grub.cfg
を参照するEFI/Microsoft/Boot/bootmgfw.efi
の既存のエントリをモデルにします。ブートパスからBoot
を削除し、エントリに新しい名前を付けるだけです。Sudo update-grub
と入力して、新しいGRUBエントリをインストールします。再起動すると、GRUBが表示されます。問題は、Windowsがブートローダーを再インストールすることを決定した場合に、システムが再びWindowsから直接起動を開始することです。
ステップ4では、次のことができます。
40_custom
とmenuentry 'Windows ...'
タグ/コメントのセットの間にある### BEGIN <path> ###
で始まる### END <path> ###
エントリをコピーします。これは、Boot
を含むパスを持つエントリです。menuentry
を追加して、ファイル/etc/grub.d/40_custom
に新しいエントリを作成します。Windows Boot Manager
または類似のものである必要があります)。EFI/Microsoft/Boot/bootmgfw.efi
からEFI/Microsoft/bootmgfw.efi
に変更します。編集:
この答えを書いて以来、私は EasyUEFI、 というサードパーティのWindowsツールに気付きました。これは、WindowsからEFIブート順序を調整するためのbcdedit
よりも簡単なGUIツールです。ただし、Windowsがブートごとにデフォルトとして設定する習慣がある場合、EasyUEFIがWindowsの変更を停止するかどうかはわかりません。したがって、bcdedit
はまだ必要かもしれませんが、EasyUEFIも間違いなく試してみる価値があります。
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を復元する方法についての指示があることは知っていますが、完全に確信するまで何もしません。
一部のマシンでは、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の変更をオーバーライドしているように見える理由を説明するのに役立ちます。
Acer E17上のWindows 10とUbuntu 14.04で同様の問題が発生しました(Windowsブートマネージャーが引き継いだため、ブート時にGrubにアクセスできませんでした)。上記のRod Smithの指示に従いましたが、運はありませんでした。 (非常に素晴らしい指示、ところで)
BIOSの起動順序で、Windowsブートマネージャーが最初に、HDDが2番目にリストされている設定を見つけました。それらを交換し、保存して終了/再起動すると、Grubがすぐに表示されました。
いくつかのBIOSには高速ブートオプションがあり、これも無効にする必要があるかもしれませんが、私のものにはありませんでした。
Recommended Repair
をliveCDから実行し、PCを再起動します。Backup and rename EFI files
"のチェックを外します-> "Restore EFI backups
"にチェックマークを付けます->適用どういうわけか 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と共に)到達可能になりました。