Gentooのインストール後にカーネルパニック - ルートデバイスを開くことができません

Gentooのインストール後にカーネルパニック - ルートデバイスを開くことができません

/dev/sda1私は(/)と/dev/sda2(extended、/dev/sda5yes、yes swap)/homeにDebianシステムを持っています/dev/sda6。私はGentooを並列にインストールしたかったので、sda2を最小限に抑え、/dev/sda3その中にGentooをインストールし、次に/dev/sda4Gentooとしてインストールしました/home

Disk /dev/sda: 931.5 GiB, 1000204885504 bytes, 1953525167 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xeb362e8f

Device     Boot      Start        End    Sectors   Size Id Type
/dev/sda1  *          2048   29296639   29294592    14G 83 Linux
/dev/sda2         29298686 1673951231 1644652546 784.2G  5 Extended
/dev/sda3       1673951232 1735391231   61440000  29.3G 83 Linux
/dev/sda4       1735391232 1953523711  218132480   104G 83 Linux
/dev/sda5         29298688   35547135    6248448     3G 82 Linux swap / Solaris
/dev/sda6         35549184 1673949183 1638400000 781.3G 83 Linux

Partition table entries are not in disk order.

現在インストールされているgrub2を使用したかったので、Gentooのマニュアルの「ブートローダ」セクションをスキップしました。/dev/sda1だからインストールが完了した後、Debianで起動してを実行しましたが、update-grubGentooがメニューに正常に追加されました。ただし、起動時にカーネルパニックが発生し、ルートされたデバイスを開くことができないというメッセージが表示されます。

カーネルパニックメッセージイメージ

システムテーブルDebian の場合システムテーブルGentoo用。 DebianのようなUUIDを使用するためにGentooのfstabを編集しようとしましたが、成功しませんでした。また、grubでGentooの起動オプションを編集してみました。オリジナル:

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Gentoo Base System release 2.2 (on /dev/sda3)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-1c46e4aa-e486-48ba-8f61-1484ed899e1e' {
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos3'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//sas/disk@0,msdos3' --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  1c46e4aa-e486-48ba-8f61-1484ed899e1e
        else
          search --no-floppy --fs-uuid --set=root 1c46e4aa-e486-48ba-8f61-1484ed899e1e
        fi
        linux /boot/vmlinuz-4.1.12-gentoo root=/dev/sda3
}
submenu 'Advanced options for Gentoo Base System release 2.2 (on /dev/sda3)' $menuentry_id_option 'osprober-gnulinux-advanced-1c46e4aa-e486-48ba-8f61-1484ed899e1e' {
        menuentry 'Gentoo Base System release 2.2 (on /dev/sda3)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.1.12-gentoo--1c46e4aa-e486-48ba-8f61-1484ed899e1e' {
                insmod part_msdos
                insmod ext2
                set root='hd0,msdos3'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//sas/disk@0,msdos3' --hint-bios=hd0,msdos3 --hint-efi=hd0,msdos3 --hint-baremetal=ahci0,msdos3  1c46e4aa-e486-48ba-8f61-1484ed899e1e
                else
                  search --no-floppy --fs-uuid --set=root 1c46e4aa-e486-48ba-8f61-1484ed899e1e
                fi
                linux /boot/vmlinuz-4.1.12-gentoo root=/dev/sda3
        }
}

### END /etc/grub.d/30_os-prober ###

試してみましたが、set root="/dev/sda3"正直set root="sda3"なところ、どういう意味なのかわかりませんが、パニックメッセージに関連しているようです。それでは、ここで何が起こっているのか、どうすればよいですか?/dev/sdaUSB経由で接続された外付けハードドライブ(内蔵ハードドライブが破損している)から起動したことは言及する価値があります。エラー/警告なしにGentooがインストールされました。カーネルに何もコンパイルするのを忘れたようではありませんが、可能だと思います... ext4、SCSI、およびUSBサポートが含まれていると確信しています(モジュールではありません)。

ベストアンサー1

SATAドライバをGentooカーネル(またはモジュール)にコンパイルしていないようです。私が懸念している部分は、添付のスクリーンショットの途中で次のように書かれています。

正しい「root =」オプションを追加してください。使用可能なパーティションは次のとおりです。

ただし、使用可能なパーティションはリストされません。私にとって、Gentooは物理ディスクとまったく通信できません。どのSATAコントローラがあるかわからない場合は、lshwDebianで実行してみてください。これはカードが何であるかを知らせるだけでなく、カードが使用しているカーネルドライバ(SATAセクションの下の "configuration:driver ="行を探してください)を知らせるので、それをGentooカーネルに追加できます。

おすすめ記事