わかりました。私は長い間 GRUB をロードしようとしてきました (2 年近く試行しています)。私は Sony VAIO ( SVS151190X
) に Windows 7 をインストールしており、GRUB 経由で Ubuntu 15.04 を起動しようとしていますが、GRUB にアクセスできません...
この投稿は全体的に詳細の拡張同様の/同じ問題が投稿されています:https://askubuntu.com/questions/666690/cannot-boot-ubuntu-15-04-using-sony-vaio-with-win-8-1-pre-installed
試したこと:
- easyBCDを使用する(はい、MBRベースのシステムでのみ機能することに気づいたので、それを使って行ったすべての操作を元に戻しました)
- Windows の cmd の コマンドを使用しての
bcdedit
パスを に変更しましたが、うまくいきませんでした。boot-repair を実行し、それを使用して grub のみを再インストールし、その後 Windows に戻って のパスを に変更しましたが、まだ成功しませんでした。次に、のパスを元の Windows パス ( )にリセットしました。{bootmgr}
/EFI/ubuntu/grubx64.efi
{bootmgr}
/EFI/ubuntu/shimx64.efi
{bootmgr}
/EFI/Microsoft/Boot/bootmgfw.efi
- 次に、他の記事で言及されていたことを試しました。bootmgfw.efi を grubx64.efi ファイルに置き換える、 しかしそれはうまくいかなかった
/EFI/Microsoft
とには、他にも多くのefiブートファイル(grub.cfgに記載されているUEFIブート用のファイルで、いくつかのファイルの機能を理解するために参照として使用しました)がありました/EFI/Boot
。grubx64.efi を搭載したすべてのもの(もちろん名前は変更されています)。置換ごとに、Windows ファイルの名前を から に変更しましfile.efi
たfile.win.efi
。
ちなみに、grub.cfg を直接編集しようとしました (編集するはずだったファイルを参照として使用し、bootmgfw.efi へのすべての参照をファイルで検索しました。リストのみを編集し、具体的には Windows ファイルの名前を変更したときのパスを編集しました。それ以外は何も編集していません (リストのすぐ下に Windows の 1 つのパスがある箇所を除く)。これを実行しなければならなかった理由は、sudo grub-update
次のエラーが返されたためです:
/usr/sbin/grub-probe: error: failed to get canonical path of /cow.
これは、ライブ セッションで boot-repair をインストールした後に発生しました。インストールする前は、boot-repair は単なる不明なコマンドです...ただし、このライブ セッションで今 (後sudo apt-get install grub
) もう一度試してみたところ、正常に動作し、Windows パスが正しく設定されていることを確認しましたが、実際に grub にアクセスするまではこれは重要ではありません。
また、私のBIOSには、内蔵HDD、外付けデバイス、ディスクドライブ、またはネットワークから起動するオプションしかありません。WindowsまたはUbuntuを選択するオプション、HDDのみ。
私は次のような多くのヘルプ ページを参照しました。
- Sony Vaio で Windows 8 と Ubuntu 14.04 のデュアルブートを修正するにはどうすればよいですか?
- Sony VAIO SVS1512 で Ubuntu 12.10 と Windows 8 uefi をデュアルブートする
- Ubuntu UEFI セキュアブートのインストールを理解するにはどうすればいいですか?
- https://help.ubuntu.com/community/Laptop/Sony/Vaio/Duo11/Trusty
- Sony Vaio で Windows 8 と Ubuntu 14.04 のデュアルブートを修正するにはどうすればよいですか?
- http://ubuntuforums.org/showthread.php?t=2227580
- 他にも思い出せないほどたくさん
では、私が上に挙げた方法がうまくいかなかった後、うまくいく解決策を見つけて、Ubuntu と Windows のデュアルブートに成功した人はいますか?
ご協力いただければ幸いです。よろしくお願いします。
編集: 明確に言うと、Ubuntu はインストールされており、grub ブートローダーもインストールされていますが、ラップトップを起動したときに grub ブートローダーに到達できないだけです。
答え1
多くのソニー製品には、Windows ブート マネージャー以外の起動を拒否する粗悪なファームウェア (EFI) が搭載されていますEFI/Microsoft/Boot/bootmgfw.efi
。私が知っている唯一の回避策は、そのファイルを GRUB (または、セキュア ブートがアクティブな場合は Shim で、GRUB をディレクトリ内の通常のファイル名で保存EFI/Microsoft/Boot
) に置き換えることです。ブーツ修理プログラムはこれを自動的に実行できますが、詳細メニューに入り、「ブート ファイルのバックアップと置換」などと呼ばれる適切なオプションを選択する必要があります (正確な言葉は覚えていません)。
他に試すことができるのは、標準のWindowsインストールを、小売(OEMではない)ディスクからの新規インストールに置き換えることです。ここさまざまな Windows インストール メディアを合法的に入手する方法については、こちらをご覧ください。この手順の目的は、ほとんどのコンピューターに蔓延し、起動プロセスをさらに複雑にする可能性のある、製造元固有の不要なファイルを削除することです。
最も根本的な解決策は、EFI モードのブートを回避して、すべてを BIOS/CSM/レガシー モードで再インストールすることです。Sony の制限は EFI モードにのみ適用されるため、BIOS モードのブートではこれらの問題を回避できます。ただし、このような変換は完全な再インストールなしでは実行が難しく、再インストールしたとしても問題が発生します。CSM 問題に関する私のページ詳細については。
いろいろ試してみたが、うまくいかなかったとおっしゃっているのは承知しています。残念ながら、あなたの問題は、お使いのコンピューターに欠陥があるということです。それほど長い間使用していなかったのであれば、店に返品して返金してもらうことをお勧めしますが、2年も経てば返品を受け付けてくれるかどうかは疑問です。
答え2
Vaio SVS1511T9ES で GRUB にたどり着いたようです。これは長い道のりで、奇妙な手順がたくさんあり、もちろんあなた (または将来の読者) にとってうまくいくかどうかはわかりませんが、誰かの役に立つかもしれないのでここに投稿します。
答え3
HD を交換後の状況:
- UEFI + セキュアブートの使用
- Windows 10をインストールしました
- Ubuntu 19.04をインストールしました
システムは毎回 Windows を起動します。Grub の兆候はありません。実際、Windows に入って「詳細ブート オプション」を選択し、「Ubuntu」を選択すると Windows が起動します。
このマシン (Sony Vaio S1513Z9E/B) でのこれまでの苦労した経験に基づくと、EFI で Windows 以外のものを起動する唯一の方法は、ファイル /EFI/Microsoft/Boot/bootmgfw.efi を置き換えることです。
ブート レコードの置き換えや BCDEdit も試しましたが、効果がありませんでした。
ステップ1. bootmgfw.efiを置き換える
- Windows 10を起動する
- 「diskpart」を実行する
- 「list disk」を実行する
- ブートディスクを選択します。例: 'sel disk 0'
- 'list vol' を実行する
- EFIボリュームを選択します(例:'sel vol 2')
- 空いているドライブ文字を割り当てます。例: 'assign letter=E:'
Windows ブート マネージャーの名前を変更し、Ubuntu の「shim64x」ブート マネージャーに置き換える必要があります。この例は、UEFI + セキュア ブートにのみ適用されます。
- cd /d E:\EFI\Microsoft\Boot\
- bootmgfw.efiをbootmgfw_org.efiに移動します
- E:\EFI\ubuntu*.efi をコピーします。
- shimx64.efi bootmgfw.efi をコピーします
E:\EFI\ubuntu\ からは少なくとも shimx64.efi と grubx64.efi が必要になります。
ここでコンピューターを再起動します。Grub が起動するはずです。Grub には、Ubuntu と Windows 10 のメニュー オプションがあります。「Ubuntu」を選択すると、予想どおり Ubuntu が起動します。
Windows のエントリに問題があります。まだ bootmgfw.efi を指しているため、誤って Ubuntu が起動します。
Windows を正しくロードする grub エントリを作成するには、次の手順に従います。
- EFI パーティションの blkid を見つけます。例: 'sudo blkid /dev/sda2' (sda2 は EFI パーティションです)。
- UUID フィールドの値 (PARTUUID ではありません) が必要になります。
- /etc/grub.d/40_customを編集して次のエントリを追加します。
menuentry "Windows 10 UEFI" --class windows --class os { insmod ntfs search --no-floppy --set=root --fs-uuid D604-55F0 chainloader (${root})/EFI/Microsoft/Boot/bootmgfw_org.efi }
- 代替エントリ、同じ機能。
menuentry "Windows 10 UEFI" { search --set=root --fs-uuid D604-55F0 --file /EFI/Microsoft/Boot/bootmgfw_org.efi chainloader /EFI/Microsoft/Boot/bootmgfw_org.efi }
- grub 設定を再作成します (例: 'sudo update-grub')。
この後、grub メニュー エントリ「Ubuntu」は Ubuntu を起動します。メニュー エントリ「Windows 10 UEFI」は Windows 10 を起動します。
上で言及されている「bootmgfw_org.efi」は、名前が変更された元の Windows ブート マネージャーであることに注意してください。Vaio は他のファイルの起動を拒否するため、この方法を実行する必要があります。UEFI 仕様で意図されているとおりに Ubuntu を起動するように BCD を編集/再構成する試みは失敗しました。