저는 현재 Arch를 사용하고 있으며 Gentoo는 별도의 파티션에 있습니다. grub-mkconfig -o /boot/grub/grub.cfg
(Arch에서)는 다음을 반환합니다.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux-zen
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-zen.img
Found fallback initrd image(s) in /boot: initramfs-linux-zen-fallback.img
Found Windows Boot Manager on /dev/nvme0n1p1@/efi/Microsoft/Boot/bootmgfw.efi
Found Gentoo/Linux on /dev/nvme0n1p9
done
그러나 부팅 메뉴에는 젠투에 대한 항목이 없지만 Windows에는 항목이 있습니다. Gentoo 항목도 없습니다 /boot/grub/grub.cfg
. 여기서 뭔가 빠졌나요?
감사해요! !
답변1
를 실행할 때 젠투 파티션이 실제로 마운트되었는지 확인해야 합니다 grub-mkconfig
. 다음 도구의 결과는 이를 결정하는 데 도움이 됩니다.
lsblk
mount
df
더 자세히 살펴봐야 하는 경우 다른 터미널 창에서 루트로 os-prober를 실행하는 동안 한 터미널 창에서 로그를 추적하세요.
창 1:sudo journalctl -fn0
창 2:sudo os-prober
이 grub-mkconfig
명령은 os-prober 유틸리티를 사용하여 다른 운영 체제를 찾고 os-prober를 Arch의 로그에 기록하여 파티션이 실제로 마운트되어 있기 때문에 gentoo를 찾을 수 없는 이유를 정확히 알아내는 데 필요한 모든 정보를 제공합니다.
답변2
젠투 파티션이 설치된 드라이브가 아닌 다른 드라이브에 아치를 설치하면 grub-install /dev/sdX(X는 드라이브 문자)만 젠투를 찾을 수 없습니다.
읽다이것;기본적으로 여러 드라이브를 그럽 마운트해야 합니다.
답변3
기반으로http://codepad.org/zFCNfwoK댓글에 언급된 결과는...
os-prober
젠투는 열려 있는 것으로 확인되었지만 /dev/nvme0n1p9
다음 단계는 입니다 linux-boot-prober
. 에 있는 테스트 스크립트를 실행합니다 /usr/lib/linux-boot-probes
.
파일 시스템 유형이 GRUB에서 읽을 수 있다고 가정하면 젠투 커널과 initramfs가 파일 시스템 의 루트나 하위 디렉터리에 /usr/lib/linux-boot-probes/mounted/90fallback
있으면 이를 감지할 수 있어야 하는 것 같습니다 . 하지만 젠투는 여러 가지 가능한 방법으로 UEFI에 설치할 수 있으며, 그 중 일부는 커널+initramfs를 EFI 시스템 파티션에 배치합니다 .boot
/dev/nvme0n1p9
/dev/nvme0n1p1
적어도 내 Debian 10에서는 os-prober
더 많은 UEFI 설치 사례를 다루기 위해 업데이트가 필요할 것 같습니다.
실행해 주세요 efibootmgr -v
. 젠투는 자체적으로 NVRAM 부팅 항목을 생성합니까? 젠투 커널(또는 커널의 EFI 스텁에 의존하지 않고 커널을 사용하는 경우 부트로더)의 위치를 찾는 데 사용할 수 있습니다.
os-prober
(한 가지 아이디어: 누군가는 등록된 모든 NVRAM 부트 로더를 단계별로 실행하고 이를 사용하여 가리키는 부팅 파일이 Linux 커널과 유사한지 확인하는 UEFI 시스템에서 실행되는 스크립트를 작성할 수 있습니다 file
. 여기에는 꽤 많은 내용이 포함되어야 합니다. 별도의 부트로더 대신 커널의 EFI 스텁을 사용합니다.