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를 설치하는 것입니다.