나는 Gentoo에서 내 자신의 커널을 컴파일했습니다(아래)수동) 그런 다음 으로 bzImage
옮겼습니다 /boot/vmlinuz-4.0.5
. 그러나 시스템을 부팅했을 때 Grub2 쉘이 생겼습니다. 내가 뭘 잘못했나요?
또한 Grub 셸에서 시스템을 부팅하려고 하면 다음 오류가 발생합니다 kernel panic-not syncing: VFS: unable to mount root fs on unknown block(0, 0)
. 해당 하드 드라이브에 Windows 10도 설치했습니다.
원래 /boot
는 2MB의 별도 파티션이었는데, 그럴 필요가 없다는 걸 알고 해당 파티션에 대한 참조를 모두 제거했습니다(기본적으로 /etc/fstab
문제의 행을 삭제했습니다). 시스템을 재부팅한 후 Ubuntu Live CD에서 부팅하고 커널을 빌드한 다음 커널을 수동으로 옮겼습니다. 왜냐하면 (작업을 처리해야 하기 때문에) 오류에 복사하기 때문입니다. 위치.fstab
/boot
grub2 shell
/boot
make install
다음은 Ubuntu Live CD에서 커널을 빌드하는 데 사용한 명령입니다.
ubuntu@ubuntu:/media/ubuntu/a243b31a-80dd-4a49-8de2-f4417816981d/usr/src/linux$ make menuconfig
ubuntu@ubuntu:/media/ubuntu/a243b31a-80dd-4a49-8de2-f4417816981d/usr/src/linux$ make && make modules_install
ubuntu@ubuntu:/media/ubuntu/a243b31a-80dd-4a49-8de2-f4417816981d/usr/src/linux$ cp arch/bzImage ../../../boot/vmlinuz-4.0.5
그런 다음 재부팅합니다.
답변1
bzImage
이전에는 파일을 수동으로 복사할 때 동일한 오류가 발생했습니다 /boot
. 달리기는 make install
나를 위해 이 문제를 해결했습니다. 이미지를 make install
생성합니다 initramfs
. 파일 initramfs
이름은 다음과 같습니다.
initramfs-4.12.0-rc3+.img
내 시스템에서
vmlinuz
및 파일이 있으면 명령을 initramfs
실행해야합니다grub2-mkconfig
grub2-mkconfig -o /boot/grub2/grub.cfg
grub.cfg
아래와 같이 자동으로 파일을 생성 하고 initramfs
커널을 파일과 연결합니다.
--class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.12.0-rc3+-advanced-1cd90ed5-08a6-4ca3-8b96-65b5a30382ae' {
load_video
insmod gzio
insmod part_msdos
insmod xfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' f33e4ffc-4d5b-44be-aedd-7aacc6241ed9
else
search --no-floppy --fs-uuid --set=root f33e4ffc-4d5b-44be-aedd-7aacc6241ed9
fi
linux16 /vmlinuz-4.12.0-rc3+ root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8
initrd16 /initramfs-4.12.0-rc3+.img