web-dev-qa-db-ja.com

Windows 10をGrubに追加する

私はここで他のいくつかの質問( GRUBはWindowsを検出しない など)を調べましたが、投票されたオプションの多くは機能しません。

現在、私の_40_custom_ファイルは次のようになっています(数回の試行の後)。

_#8AEC5322EC5307B9
menuentry "Windows 10" --class windows --class os {
   insmod ntfs
   search --no-floppy --set=root --fs-uuid 88F44DC9F44DB9E8
   #chainloader +1
   ntldr /bootmgr
}
_

これを使用すると、エラー_cannot find command ntldr_が発生します。上記をコメントアウトして_chainloader +1_に変更すると、エラー_invalid efi file path_が発生します。

容疑者問題は、Windows 10をインストールしたときに、Windowsをインストールしたものとは異なるストレージデバイスを使用するのに十分な「種類」でした。 _System Reserved_の場所。私はうそをつくことはありません。その選択に戸惑いはしませんでしたが、気にしないでください。その結果、ブートファイルは_/dev/sda1_(ID _88F44DC9F44DB9E8_)にあり、Windows 10自体は_/dev/sdb1_にあります。 Ubuntuはnvmeデバイスにインストールされます。

_os-prober_はWindows 10を検出せず(はい、実行すると両方のパーティションがubuntuにマウントされます)、_update-grub_も検出しません。

私はできます少なくともWindows 10で起動しますが、それを行うにはヒットする必要があります Esc grubで、コマンドラインにexitと入力します。その後、Windows 10のロゴが表示されます。

ここに誰かアイデアはありますか? set root='(hd0,1)'のようなコマンドを使用する必要があると思いますが、パラメーターにどの値を入力する必要があるかは正直わかりません。

Pastebin _boot-repair_ログへのリンク。

関連する_boot-repair_セクション:

_=================== Suggested repair
The default repair of the Boot-Repair utility would purge (in order to unsign) and reinstall the grub2 of nvme0n1p2 into the MBRs of all disks (except live-disks and removable disks without OS).
Grub-efi would not be selected by default because: no-win-efi
Additional repair would be performed: unhide-bootmenu-10s   fix-windows-boot


=================== Blockers in case of suggested repair
GPT detected. Please create a BIOS-Boot partition (>1MB, unformatted filesystem, bios_grub flag). This can be performed via tools such as Gparted. Then try again.
Alternatively, you can retry after activating the [Separate /boot/efi partition:] option.


=================== Advice in case of suggested repair
EFI detected. You may want to retry after activating the [Separate /boot/efi partition:] option.
Do you want to continue?


=================== Final advice in case of suggested repair
Please do not forget to make your BIOS boot on nvme0n1 (WDS500G2X0C-00L350) disk!


=================== User settings
The settings chosen by the user will not act on the boot.
_
2
Larnu

これが私が問題を「解決した」方法ですが、コメントから、Windowsがそれ自体をインストールすることを決定した方法に根本的な問題があるように見えます(別のディスクにブートパーティションをうまく配置したという事実がそうでなかった場合)十分に明白です)。

私が述べたように、私が打ったときの私の質問では Esc 次に、exitと入力しました。Windows10で起動したマシンです。その結果、40_customファイル:

menuentry "Exit to Windows 10"{
    exit
}

その後、update-grub。このオプションを選択すると、Windowsが起動します。

1
Larnu

Windowsディスク(sdb)を[〜#〜] gpt [〜#〜]形式に変換する必要があります。ここでは、WindowsはMBRディスクを使用しています。MBRディスクは、従来のBIOSで実行する必要があります。 Ubuntuは、M.2ドライブ(nvme0n1)で、GPT形式でUEFIモードで実行されています(L.308がこれを提案しています)。 UEFIは、古いBIOSシステムに相当する最新のものに似ていますが、置き換えられていますが、WindowsがMBRディスクを備えたUEFIモードで実行されているコンピューターをサポートしていないことを除いて、レガシBIOSに切り替えることができます。

緑のSSDドライブをGPT形式に変換することは、Gpartedを使用するUbuntuで簡単です。ただし、そのドライブのすべてのデータが消去されるため、Windowsを再インストールする必要があります。そのディスク上のデータファイルもすべて失われます。あるいは、いくつかのフリーソフトウェアがあります EaseUs Partition Master は、ファイルを失うことなく変換できると主張しています。使ったことがないので動作確認はできませんが、使えば時間と手間が大幅に省けます。

SdaにあるWindows MSRパーティションの問題もあります。なぜそれがメインのWindows sdbディスクにないのかはわかりませんが、当面はそのままにしておきますが、sdaも変換して、すべてのUEFIを全面的に互換にする必要があります。ディスクをGPTに変換する前に、必ずsda/sdbにあるすべてのデータファイルをバックアップしてください。

1
Paul Benson

Os-proberをインストールしようとしましたか?

Sudo apt-get install os-prober

grubを再インストールします。

grub-mkconfig
grub-install
grub-mkconfig -o /boot/grub/grub.cfg
0
Regis Barbosa