debootstrap インストールカーネルの不一致

debootstrap インストールカーネルの不一致

debootstrapを使って新しいDebian 10システムをインストールしようとしました:

mount /dev/sda5 /mnt/chroot
debootstrap --variant=minbase buster /mnt/chroot ftp.au.debian.org

これまではブートローダーがよさそうです。今chrootに切り替える

mount --bind /dev /mnt/chroot/dev
mount --bind /proc /mnt/chroot/dev
mount --bind /sys /mnt/chroot/dev 

chroot /mnt/chroot/
apt-get update
apt-get --no-install-recommends install busybox linux-image-amd64 systemd-sysv pciutils usbutils
passwd

これもエラーなしで実行できます。インストールされているカーネルはにあり、/vmlinuz -> boot/vmlinuz-4.19.0-11-amd64カーネルモジュールはにあります/lib/modules/4.19.0-11-amd64

GRUBを介して新しいインストールで再起動します。

insmod all_video; search --label test; linux /vmlinuz root=LABEL=test; initrd /initrd.img

わかりました。

uname -r
4.9.0-13-amd64

これはdebootstrap(4.19.0-11)によってインストールされたカーネルではありません!代わりに、debootstrapを実行すると、親システムのカーネル4.9.0-13が表示されます。重要なのは、新しいインストールには4.9.0-13と一致するカーネルモジュールがないため、新しいシステムに複数のデバイスドライバがないことです。

私が使うなら

insmod all_video; set root=(hd1,gpt5); linux /vmlinuz root=/dev/sda5; initrd /initrd.img; boot

代わりに、私は新しいカーネルを使って新しいシステムで起動しました。

この問題はどこで発生し、回避策のアイデアはありますか?

とても感謝しています。

ベストアンサー1

使用したGRUBコマンド、

insmod all_video; search --label test; linux /vmlinuz root=LABEL=test; initrd /initrd.img

デフォルトのGRUBルート(つまり、親システムのルート)からカーネル(/vmlinuz)とinitramfs()を取得します。/initrd.img

だから指定

insmod all_video; set root=(hd1,gpt5); linux /vmlinuz root=/dev/sda5; initrd /initrd.img

代わりに動作します。ラベルの問題ではありませんが、新しいシステムのパーティションを使用するようにGRUBルートを設定し、そこからカーネルとinitramfsをロードしました。

この問題を解決するには、インストールを新しいデフォルト/dev/sda5に設定したい場合の最善の解決策は、ブートしてから(上記の2番目のGRUBコマンドラインを使用して)、起動したシステムでDebian 10を実行しながらGRUBをインストールすることです。

おすすめ記事