Windows 8とUbuntu 12.10の両方をUEFIスタイルでインストールしました(win8を最初に、次にubuntu)。 GRUB2はUbuntuとWin8の両方のエントリーを表示します。
Ubuntuを起動しても問題ありません。 GRUB2が変更されていないといつでも再起動できます。
Win8を起動するとストーリーが変わります。 GRUB2を使用してWin8を起動すると、Windowsブートマネージャー(Windows 8エントリのみ)に移動します。 Windowsを押すと、うまく起動します。再起動すると、GRUB2もWinローダーもありません。ブートローダーはありません。
LiveCDをブートし、ブート修復をダウンロードしましたが、すべてが戻ってきました。それは終わりのないサイクルです。
GRUB2はWinブートローダーをロードすることになっていますか?修正するにはどうすればよいですか?
詳しくは:
USER@MACHINE:~$ ls -l `find /boot/efi -iname "*\.efi"`
-rwxr-xr-x 1 root root 1357480 Dec 9 21:41 /boot/efi/EFI/Boot/bootx64.efi
-rwxr-xr-x 1 root root 1357480 Dec 9 21:41 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
-rwxr-xr-x 1 root root 1350896 Jul 25 20:57 /boot/efi/EFI/Microsoft/Boot/bootmgr.efi
-rwxr-xr-x 1 root root 1357480 Dec 9 21:41 /boot/efi/EFI/Microsoft/Boot/bootx64.efi
-rwxr-xr-x 1 root root 1263856 Jul 25 20:57 /boot/efi/EFI/Microsoft/Boot/memtest.efi
-rwxr-xr-x 1 root root 897400 Dec 9 21:41 /boot/efi/EFI/ubuntu/grubx64.efi
-rwxr-xr-x 1 root root 1357480 Dec 9 21:41 /boot/efi/EFI/ubuntu/shimx64.efi
USER@MACHINE:~$ ls -l `find /boot/efi -iname "*\.bkp"`
-rwxr-xr-x 1 root root 1354480 Jul 25 20:57 /boot/efi/EFI/Boot/bootx64.efi.bkp
-rwxr-xr-x 1 root root 1354480 Jul 25 20:57 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi.bkp
USER@MACHINE:~$ Sudo parted /dev/sda print
Model: ATA ST31000524AS (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 316MB 315MB ntfs Basic data partition hidden, diag
2 316MB 420MB 105MB fat32 EFI system partition boot
3 420MB 555MB 134MB Microsoft reserved partition msftres
4 555MB 751GB 750GB ntfs Basic data partition
5 751GB 998GB 248GB ext4
6 998GB 1000GB 2000MB linux-swap(v1)
Linuxを起動し、シェルに次の3つのコマンドを入力して、出力をここに投稿します。
ls -l `find /boot/efi -iname "*\.efi"`
ls -l `find /boot/efi -iname "*\.bkp"`
Sudo parted /dev/sda print
これらは、find
コマンドを囲むバックティック(ほとんどのキーボードの「1」キーの左側)であることに注意してください。
結果は、通常の名前とブート修復によって作成された名前を変更したバージョンの両方を含む、ESP上のすべてのブートローダーのリストになります。ディスク上のすべてのパーティションのリスト。
また、どのようなコンピューターを使用していますか? (ブランドとモデル。)Windows 8に付属していましたか、それとも自分でインストールしましたか?
残念ながら、一部のメーカーは、プリロードされたWindows 8コンピューターでブートローダーを使用して非常に迷惑なゲームをプレイしています。私見、それらのインストールを吹き飛ばし、ゼロから始めることは、ますます良いソリューションのように見えます。
指定された新しい情報の編集/回答:
出力には奇妙なものや予期しないものは何もないので、Windowsの何かが独自の「壊れた」ブートローダーと見なされるものを「修復」しているように見えます。これには、詳細が必要です。これは、何が起こっているかを理解するのに役立ちます。
EFI(またはEFI 2.xのみのUEFI)の実装では、NVRAMエントリをチェックして、ブート時に実行するブートローダー(.efi
拡張子を持つファイル)を決定します。ただし、一部の実装は壊れており、EFI/BOOT/bootx64.efi
またはEFI/Microsoft/Boot/bootmgfw.efi
ブートローダーのみを起動します。他のユーザーは、「Windows Boot Manager」または「Red Hat Enterprise Linux」という名前を持っている場合にのみ、他のブートローダーを起動します。
このタイプのバグを回避するために、Ubuntuブート修復ツールは、バイパスするバグと少なくとも同じくらいくて混乱する修正を実装します。これらの2つのデフォルトブートローダーの名前を.bkp
拡張子に変更し、GRUB代わりにGRUBを調整して、新しい名前を使用してWindowsブートローダーを起動します。これはGRUBブートを取得しますが、Windowsが認識せず、それ自体を「修正」しようとする可能性があります。私はこれが起こっていることだと思う-Windowsが起動するとき、そのブートローダーが別のものによって上書きされているのを見ているので、問題を修正しようとします。
以下を試してみることをお勧めします。
efibootmgr
ユーティリティをインストールします。 UbuntuライブCDでは、Sudo apt-get install efibootmgr
と入力してこれを行います。Sudo efibootmgr -c -l \\EFI\\ubuntu\\shimx64.efi -L "Windows Boot Manager" -p 2
と入力します。指定されたとおりに、このコマンドexactlyを入力するように注意してください。ディレクトリパスの区切り文字として二重になったバックスラッシュも含まれます。これは、デフォルトのブートローダーとして起動するようにGRUBを設定し、バグがある場合に備えてファームウェアラベル「Windows Boot Manager」を与える必要があります。 (あなたはそれほど欺de的な名前ではなく、動作するほとんどのシステムで試すことができますが、あなたのためではないかもしれません。)セキュアブートを使用している場合not、grubx64.efi
をshimx64.efi
に置き換えることができますこのコマンドでは、システムにshimx64.efi
が存在する場合、セキュアブートを使用していると思われます。この時点で動作する場合は、素晴らしいです。 GRUBで起動するが、GRUBがWindowsを起動できない場合は、EFI/Microsoft/Boot/bootmgfw.efi
ではなくEFI/Microsoft/Boot/bootmgfw.efi.bkp
を参照するようにGRUB構成を調整する必要があります。
この方法でシステムを起動できないGRUBの場合、非常に脳が損傷したファームウェアが、Windowsの何かと組み合わされ、ブートごとに自動的に「損傷した」ブートローダーを「修正」する可能性があります、あなたの最善の(しかしい)修理の道を閉める。その場合、さらにいくつかの提案があります。
t
オプションを使用する)、Windowsに独自のブートローダーを表示させながら、ファームウェアに希望のブートローダーを使用させることができます。ブートローダー。ただし、これは投機的高度です。まったく機能しない可能性があります。REFIndを含むソリューションを使用する場合は、 Secure Boot を使用してセットアップする必要がある場合があることに注意してください。 (この状況はやがて改善されますが、今のところまだ少し厄介です。)あるいは、ファームウェアでセキュアブートを無効にすることもできます。
これがお役に立てば幸いです!
高速再起動機能を有効にしたWindows 8は、シャットダウン時にEFIブートローダーを含む一部のデータを「回復」します。したがって、デュアルブート環境のセットアップを完了してWindows 8を1回ブートすると、次回のブートでデュアルブート設定が失われます。そのため、高速再起動機能をオフにする必要があります。
管理者としてcmd.exeを起動し、次を入力します。
powercfg /h off
設定を確認します。
powercfg /a
推奨される修復の代わりに、これを試してください:
Backup and rename EFI files
を選択解除-> Restore EFI backups
を選択->適用。Ubuntu
エントリを起動し、再起動します。Microsoftはいつものように嫌いです。彼らは別のOSを必要としないため、ブートマネージャーを上書きするだけです。 Windows 8でbcdedit
を探してください。今までそれを変更する方法を知りませんでした。