내 시스템에는 CentOS 7 사본 2개와 Windows 10 Pro 사본 1개가 설치되어 있습니다. 모든 시스템은 부팅 가능하고 올바르게 작동하며 완전히 최신 상태입니다(커널, 패키지, 작동).
grub2-mkconfig
CentOS 복사본 중 하나( 이유로 인해 하나의 호스트는 pingu
, 다른 하나는 이라고 함)에서 실행하면 새로운 grub 구성이 생성됩니다. pinga
그 중 일부는 os-prober 템플릿을 통해 생성됩니다.
grub2-mkconfig
내가 부팅하고 시작한 CentOS 복사본에 대해 에서 생성된 항목이 grub2-mkconfig from
정확합니다. 즉, 다음과 같은 줄이 포함된 메뉴 항목이 있습니다.
linuxefi /vmlinuz-5.4.147-1.el7.elrepo.x86_64 root=/dev/mapper/pinga-root ro crashkernel=auto spectre_v2=retpoline
initrdefi /initramfs-5.4.147-1.el7.elrepo.x86_64.img
그러나 CentOS 7의 다른 복사본에 대해 생성된 항목은 다음과 같습니다.
linux /vmlinuz-5.4.147-1.el7.elrepo.x86_64 root=/dev/mapper/pingu-root ro crashkernel=auto spectre_v2=retpoline
initrd /initramfs-5.4.147-1.el7.elrepo.x86_64.img
( 및 대신 linux
및 에 유의하세요 )initrd
linuxefi
initrdefi
/etc/grub.d/30_os-prober
나는 이것이 같은 것 (등) 의 네 줄 때문이라고 생각합니다 linux ${LKERNEL} ${LPARAMS}
. 그런데 왜 그럴까요? os-prober는 왜 Linux의 다른 복사본이 항상 linux
대신 에 시작되어야 한다고 가정합니까 linuxefi
?
이 문제를 해결할 수 있는 일부 설정이나 재정의가 누락되었나요?
30_os-prober
지금은 이 줄을 have linuxefi
and 로 변경했지만 initrdefi
이는 약간의 해킹처럼 느껴집니다.