デュアルブートArch LinuxとGentoo Linux:ハードドライブが見つからないため、Archを起動できません。

デュアルブートArch LinuxとGentoo Linux:ハードドライブが見つからないため、Archを起動できません。

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.cfghttps://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/sdaGRUBを再インストールしてもう一度実行してみましたが、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.cfgRegenerate Gentooのgrub.cfgを実行します。

おすすめ記事