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새로운 기본값으로 설정하려는 경우 가장 좋은 해결책은 부팅한 다음(위의 두 번째 GRUB 명령줄 사용) 부팅된 시스템에서 Debian 10을 실행하면서 GRUB를 설치하는 것입니다.

관련 정보