나는 한동안 Windows 8.1과 Kali Linux 3.14를 사용해 왔습니다. 그러나 Windows 10으로 업그레이드하면 GRUB 대신 MBR이 설치됩니다. 저는 평소에 그랬던 것처럼시동 수리USB 부팅으로 이 문제를 해결할 수 있습니다. Boot Repair에서 GRUB를 성공적으로 설치했지만 Windows 10이 감지되지 않았습니다.
GRUB을 수동으로 설치해 보았습니다.
root@Zuhayer:/# grub-install /dev/sda
Installation finished. No error reported.
실수:
root@Zuhayer:/# update-grub
Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-3.14-kali1-amd64
Found initrd image: /boot/initrd.img-3.14-kali1-amd64
Found linux image: /boot/vmlinuz-3.12-kali1-amd64
Found initrd image: /boot/initrd.img-3.12-kali1-amd64
Found linux image: /boot/vmlinuz-3.7-trunk-amd64
Found initrd image: /boot/initrd.img-3.7-trunk-amd64
No volume groups found
Found Windows 8 (loader) on /dev/sda1
Found Windows 8 (loader) on /dev/sda2
error: out of memory.
error: syntax error.
error: Incorrect command.
error: syntax error.
error: line no: 179
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/boot/grub/grub.cfg.new file attached.
done
답변1
다음을 추가하십시오 /etc/default/grub
.
# fix broken grub.cfg gen
GRUB_DISABLE_SUBMENU=y
편집하다:
/etc/grub.d/41_custom의 내용을 다음으로 변경하고 update-grub을 실행합니다.
#!/bin/sh
cat <<EOF
if [ -f \${config_directory}/custom.cfg ]; then
source \${config_directory}/custom.cfg
elif [ -z "\${config_directory}" -a -f \$prefix/custom.cfg ]; then
source \$prefix/custom.cfg;
fi
EOF
답변2
일어나는 일은 다음과 같습니다.
내 문제를 해결하는 방법에 대한 기사에 이어 179행에서 grub.cfg를 생성하기 위해 소스 파일에 일부 코드를 추가했습니다.
해당 코드를 제거하면 grub-update 명령이 제대로 작동합니다.
추신: 감사합니다mchid응답을 위해