WindowsにGentoo Linuxを起動パーティション(GRUBファイルがインストールされている場所)/dev/sda2
としてインストールしました。 MBRパーティションテーブルがあります。これはデータパーティション(プライマリパーティションなどのバックアップが必要なファイルを保存する場所)であり、Arch Linuxをインストールした場所です。 GPTパーティションテーブルがあります。 GentooはGRUBから正常に起動できますが、私はGentooからインストールしました。アーチはそうではありません。はい/dev/sda1
/dev/sda
/dev/sdb1
/dev/sdb2
/dev/sdb
/boot/grub/grub.cfg
https://paste.pound-python.org/show/2TXi8NeWbhoaWsifKeMM/。以下はファイルのArch Linux部分です。
menuentry 'Arch Linux (on /dev/sdb2)' --class gnu-linux --class gnu --class os $menuentry_i
d_option 'osprober-gnulinux-/boot/vmlinuz-linux--1db96616-a88a-42a6-9283-a57016bba4c9' {
insmod part_gpt
insmod ext2
set root='hd1,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 1db96616-a88a-42a6-9283-a57016bba4c9
else
search --no-floppy --fs-uuid --set=root 1db96616-a88a-42a6-9283-a57016bba4c9
fi
linux /boot/vmlinuz-linux root=UUID=1db96616-a88a-42a6-9283-a57016bba4c9 rw quiet
initrd /boot/initramfs-linux.img
}
しかし、実行しようとすると、hd1、gpt2が存在しないというエラーが発生します。したがって、私が言及したパーティションがここに存在し、それがls /dev/sd*
返されることがわかります。
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdb2
この問題を解決するのに役立つ追加情報が必要な場合は、その情報を入手する方法を教えてください。
grub-install --target=x86_64-efi --efi-directory=/boot /dev/sda
GRUBを再インストールしてもう一度実行してみましたが、grub-mkconfig -o /boot/grub/grub.cfg
問題は解決しません。
編集:これは混乱しています... gdiskを使って/ dev / sdaのMBRをGPTに変換したところ、gdisk -l /dev/sda
次のものが返されます。
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8AD72DC5-C104-4524-8C18-52759DC6C784
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2957 sectors (1.4 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 264191 128.0 MiB EF00 EFI System
2 264192 1953524191 931.4 GiB 8300 Linux filesystem
GRUBを再インストールしました(GPT変更後に必要、それ以外の場合はハードドライブを起動できません)grub-install --target=x86_64-efi --efi-directory=/boot /dev/sda
。その後、GRUBプロファイルを再生成し、最終的に再起動してArch Linuxの起動を試みましたが、同じエラーで再び失敗しました。インターネット検索では、他のパーティションテーブルが問題である可能性があると提案しましたが、パーティションテーブルを変更しても機能しないようです。私の新しいGRUB cfgファイルは次のとおりです。ここ。
EDIT2:/ dev / sdb1を削除し、ESPパーティションに置き換えて、実行中のArch LinuxパーティションにGRUBをインストールしましたgrub-install --target=x86_64-efi --efi-directory=/boot /dev/sdb && grub-mkconfig -o /boot/grub/grub.cfg
。まだArch Linuxを起動できません。 Escを押して起動オプションを確認したところ、ライブUSBに起動メニューが表示され、Gentooインストールで起動メニューが表示されていますが、Arch Linuxインストールでは表示されませんでした。また、GentooのGRUBインストールとその設定を更新しましたが、まだGentooを使用してArchを起動できません(以前と同じエラー)。
ベストアンサー1
Gentooシステムにはこのファイルが必要です/etc/grub.d/40_custom
。 Archのgrub.cfgを参照するために、このファイルにメニュー項目を追加できます。このような:
menuentry 'Arch Linux' {
set root='hdX,msdosX'
configfile /boot/grub/grub.cfg
}
このroot
エントリはArchを含むパーティションを指す必要があります/boot
。次に、grub-mkconfig -o /boot/grub/grub.cfg
Regenerate Gentooのgrub.cfgを実行します。