私は最近、ラップトップ、次の仕様のAcer Aspire R15を購入しました:17 7500U、12GB DDR4、256GB SSD、GTX 940MX 2GB。
Windows 10にプリインストールされていますが、プログラミングのためにデュアルブート構成でDebianをインストールしたいと思っていました。
とにかく、DebianをC:ドライブの別のパーティションにインストールし、grubをインストールしました。 PCを再起動すると、Windows 10に直接移行しましたが、grubは起動しませんでした。私はいくつかのグーグル検索を行ってこれを試してしまいましたが、この方法は機能しませんでしたが、それでも私のPCはWindowsで直接起動しました。次にこれを試しましたが、これも機能しませんでした。次に、refineのusbフラッシュドライブを使用してdebianで起動した後、debianを介してreFINDを直接インストールし、Grubの代わりにrefindを使用できるかどうかを確認しましたが、何も実行されませんでした。
TL; DR:私のPCはgrubをロードする代わりに直接Windowsで起動し、これを修正するために見つけたすべての方法を試しましたが、どれも機能しませんでした。誰かが私のPCをGRUBで起動するのを手伝ってくれる?
UEFIは最初に表示されるもの(たまたまWindows 10ブートローダー)を起動しています。次のように、これをGRUB/reFIndに変更する必要があります。
私の経験では、セキュアブートを無効にしたり、レガシーモードを有効にしたりする必要はありません。
これで、新しいブートローダーを使用してLinuxを起動できるようになります。ほとんどのディストリビューションはWindows 10を起動するためのエントリも追加しますが、Windows 10を起動するには手動でこれを行う必要がある場合があります。
BIOS設定を確認してください。 LinuxブートオプションをバイパスしてWindows 10に直接入るHPラップトップでまったく同じ問題に直面しました。レガシーモードを有効にし、セキュアブートオプションを無効にすることで問題が解決しました。 BIOSでも同様のオプションを確認してください。
Windowsブートローダーは通常、Windowsシステムのみを起動します。 Linuxを起動する場合は、別のブートローダーを使用するようにシステムに指示する必要があります。
Windows 10を使用していて、rEFIndについて言及しているので、おそらくUEFIシステムを使用しています。
Debianとgrubを正しくインストールした場合、それらを使用するには、BIOS/UEFIで起動順序を変更するか、起動中に製造元に依存するキーを使用して、インタラクティブに起動デバイスを選択します-一般にF11またはF12など。ハードドライブと起動可能なパーティションが一覧表示されます。
Grubがインストールされているものを選択すれば、問題ありません。
起動順序をいじる必要なく、両方のOSにアクセスできるようにするには、次のように/etc/grub.d/40_customへのエントリを含むWindowsエントリをgrubに追加する必要があります。
menuentry "Windows 10" {
insmod part_gpt
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 XXXX-XXXX
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
boot
}
ブートオーダーをefibootmgr
で確認します(最初にインストールする必要がある場合があります):
$ efibootmgr
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0008,0002,0005,000A,0009,0007,000B,000C
Boot0002* Grub
Boot0005* LITEON IT LCS-256L9S
Boot0007* UEFI: Built-in EFI Shell
Boot0008* Windows Boot Manager
Boot0009* PLDS DVD-RW DH16AFSH
Boot000A* SAMSUNG MZ7LN512HMJP-00000
Boot000B* Generic Usb Device
Boot000C* CD/DVD Device
次に、grubを最初の行に設定します。
$ Sudo efibootmgr -o 2,8,5,A,9,7,B,C
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0008,0005,000A,0009,0007,000B,000C
Boot0002* Grub
Boot0005* LITEON IT LCS-256L9S
Boot0007* UEFI: Built-in EFI Shell
Boot0008* Windows Boot Manager
Boot0009* PLDS DVD-RW DH16AFSH
Boot000A* SAMSUNG MZ7LN512HMJP-00000
Boot000B* Generic Usb Device
Boot000C* CD/DVD Device
再起動して完了。
これは、WindowsがWindowsブートローダーをデフォルトのブートローダーとして登録するために発生します。そのため、GRUBが表示されません。
この問題を解決するために、
まず、LinuxのライブCDを作成します。次に、コンピュータの電源を切り、ライブCDで起動します。そして、ブートリペアを試してください ここ の手順に従ってください。
それが機能しない場合は、Windowsを起動します。
Linuxシステムが64ビットの場合。
bcdedit /set {bootmgr} path \EFI\debian\grubx64.efi
linuxシステムが32ビットの場合。
bcdedit /set {bootmgr} path \EFI\debian\grubia32.efi
このコマンドは、システムのGRUBブートローダーをデフォルトのブートローダーにします。
私はこれらのすべてのステップを実行しましたが、ウィンドウは最初に再有効化/ブートを続けました。最後に、セキュアブートを有効にすることで修正し、BIOSで自分の「信頼できる」efiファイルを選択できるようにしました(私はgrubを選択しました)。その後、これが起動順序に表示され、上位に表示され、セキュアブートがオフになりました。 Grubは毎回最初にロードするようになりました。これは、UEFI、GPTドライブがParrot OSとWin 10をデュアルブートしようとしているAcerに関するものです。
外部にGRUBを再インストールします......
方法がわからない場合は、PuppyLinux(250 M.B.のような)のようなOSを起動してそこからインストールします。プロセスはグラフィカルで簡単です。インストール後GRUB Puppy Linuxから........それは最初にgrubを起動し、Debianがそこにあるかどうかを確認できます.......リストにない場合は、正しくインストールされていません.....正しくインストールされていない場合は、再インストールしてください
それが役立つ場合、またはエラーが発生した場合は、親切に回答してください
これは私にとってUbuntuでうまくいきました:
bcdedit /set "{bootmgr}" path \EFI\ubuntu\grubx64.efi
Debianでも同様のものが機能する可能性があります。