最近、個人使用のためにデスクトップを構築し、最初は Arch Linux をプライマリ OS として (NVME ドライブに) インストールしましたが、ゲーマーでもある私は、最終的に Windows のインストールも必要だという結論に達しました。HDD (セカンダリ ドライブ) の 500 GB パーティションに Windows 10 をインストールしました。
Windows を使用する必要があるたびに BIOS でブート順序を手動で切り替えるのにうんざりしたので、最近は GRUB で Windows もブートできるようにしようとしましたが、これが問題の始まりです。
os-prober は Windows ブート マネージャーの場所を返しますが、GRUB は arch のブート エントリのみを表示します。高速ブートを無効にして、GRUB の手動エントリを作成してみましたが、install-grub を実行する前に何をしても (/dev/sda と /dev/nvme0n1 に順番に実行しても)、ブート オプションには Arch のみが表示されます。
パーティションテーブル (fdisk -l 出力):
ディスク /dev/nvme0n1: 232.9 GiB、250059350016 バイト、488397168 セクター
単位: 1 * 512 = 512 バイトのセクター
セクター サイズ (論理/物理): 512 バイト / 512 バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト
ディスクラベル タイプ: gpt
ディスク識別子: 1412B5DB-A22B-4957-B915-EC6B912D8833
デバイス 開始 終了 セクター サイズ タイプ
/dev/nvme0n1p1 2048 1002048 1000001 488.3M EFI システム
/dev/nvme0n1p2 1003520 34557948 33554429 16G Linux スワップ
/dev/nvme0n1p3 34557952 488397134 453839183 216.4G Linux ファイルシステム
ディスク /dev/sda: 2.7 TiB、3000592982016 バイト、5860533168 セクター
単位: 1 * 512 = 512 バイトのセクター
セクター サイズ (論理/物理): 512 バイト / 4096 バイト
I/O サイズ (最小/最適): 4096 バイト / 4096 バイト
ディスクラベル タイプ: gpt
ディスク識別子: BF345208-15FD-454F-8252-9963AC133C5C
デバイス 開始 終了 セクター サイズ タイプ
/dev/sda1 2048 34815 32768 16M Microsoft 予約済み
/dev/sda2 34816 524290047 524255232 250G Microsoft 基本データ
/dev/sda3 524290048 5860533134 5336243087 2.5T Linux ファイルシステム
BIOS で奇妙なことが 1 つあります。Windows ブート エントリが NVME ドライブ上にあると表示されます。これは Windows が ESP として検出し、ブート マネージャーを自動的にインストールしたものと思われます。
編集:
つまり、update-grub は Debian のものであり、Arch は grub-mkconfig を使用します。これは正常に実行でき、以下は出力の一部です。
/etc/grub.d/30_os-prober を開始します
/dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi に Windows ブート マネージャーが見つかりました。 menuentry 'Windows ブート マネージャー (/dev/nvme0n1p1 上)' --class windows --class >os $menuentry_id_option 'osprober-efi-CAB4-D072' { insmod part_gpt insmod fat if [ x$feature_platform_search_hint = xy ]; then search --no-frosty --fs-uuid --set=root CAB4-D072 else search --no-frosty --fs-uuid --set=root CAB4-D072 fi chainloader /EFI/Microsoft/Boot/bootmgfw.efi }
終了 /etc/grub.d/30_os-prober
しかし、BIOS から「arch」または「grub」ブート オプション (両方とも NVME ドライブ上) のいずれかで起動すると、grub エントリは依然として arch のみになります。
答え1
sudo update-grub
まだ試していない場合は、 をお試しください。
いつもそれを忘れてしまいます... ;)
答え2
Arch でこのコマンドを使用すると、Arch とともに Windows 10 が grub に追加されました。
grub-mkconfig -o /boot/grub/grub.cfg "$@"