ArchとUbuntu Linuxをダブルブートしようとしていますが、なんとか2つのgrubメニューで終わるようです。 grubプロンプトでexitと入力すると、2番目のメニューが表示されます。もう1つのことは、最初に表示されるgrubメニューにArch Linux用のブートエントリがありますが、私のシステムには存在しない/ dev / sdeでuuidを見つけようとしていることです。 Ubuntuエントリは正常に起動します。
理由はよくわかりませんが、私はgrubがLinuxの最も混乱した側面の1つだと思います。
Archlinuxをインストールして実行しました。
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ArchLinux --recheck
Th3のフラグを追加して実行します。grub-mkconfig -o /boot/grub/grub.cfg
この問題をどのように解決し、なぜ奇妙な設定が発生するのですか?
その他の関連情報はすべて以下にあると考えられます。情報がない場合はお知らせください。
ツリーの出力:
/boot/efi/
|-- EFI
| |-- ArchLinux
| | `-- grubx64.efi
| |-- BOOT
| | |-- BOOTX64.EFI
| | |-- fbx64.efi
| | `-- mmx64.efi
| `-- ubuntu
| |-- BOOTX64.CSV
| |-- grub.cfg
| |-- grubx64.efi
| |-- mmx64.efi
| `-- shimx64.efi
`-- System\ Volume\ Information
|-- AadRecoveryPasswordDelete
`-- ClientRecoveryPasswordRotation
私が追加したブートメディアレイアウト[Ubuntu**]。
lsblk /dev/nvme0n1
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 476.9G 0 disk
|-nvme0n1p1 259:1 0 487M 0 part /boot/efi
|-nvme0n1p2 259:2 0 274.4G 0 part [Ubuntu**]
|-nvme0n1p3 259:3 0 122.1G 0 part [SWAP]
`-nvme0n1p4 259:4 0 80G 0 part /
答え1
これは、ほとんどのefi BIOSがefistubを使用してLinuxカーネルを起動できる場合は、grubを必要としないためです。 EfistubはLinuxカーネルを直接起動します。
https://wiki.archlinux.org/title/EFISTUB
grubを引き続き使用することもできますが、見つかったように、各grubは、両方の grub のカーネルパスと設定を正しく見つけることができるように、追加のデバッグなしで特定のオペレーティングシステム(UbuntuまたはArch)を起動することにのみ熟練しています。 。
答え2
最初のGRUBメニューはUbuntuのGRUB(GRUBバージョン2.04)で提供されています。shimx64.efi
UbuntuのESPディレクトリにインストールされているため、Ubuntuはまったくgrubx64.efi
別のバージョンにすることができます。セキュアブートはGRUBのモジュールのロードを許可しないためです。なぜなら、GRUBモジュールはセキュアブートファームウェアが理解するPE32+ではなくELFバイナリフォーマットを使用するからです。署名確認で完了です。)
おそらくあなたのArchインストールはGRUB 2.04が認識しないファイルシステムタイプを使用するかもしれませんが、Archの独自のGRUB(バージョン2.06)はそれを読むことができます。この場合、ArchのGRUBをデフォルトのブートエントリとして使用し、grub.cfg
UbuntuのGRUBメニューを表示するためにUbuntuのブートエントリを読み取るカスタムブートエントリを作成するのが最善です。その後、対応するメニュー項目を使用してUbuntuを起動できますgrub.cfg
。 Ubuntu GRUBの残りの部分が実際にはまったく使用されていない場合でも、Ubuntuがカーネルアップデートを受信するたびに通常どおりに更新されます。
実行efibootmgr -v
:Ubuntuの開始項目とArchの他の開始項目が表示されます。これにより、efibootmgr -o
ArchのGRUBが最初に試行されるように起動順序を並べ替えることができます。出力BootOrder
の既存の設定を見て、efibootmgr -v
数字を希望の順序に移動します。
(奇妙なUEFIファームウェア実装がある場合は、リストされているBootOrder
起動オプションの総数を変更しないことをお勧めします。)efibootmgr