我已经使用 Windows 8.1 和 Kali Linux 3.14 一段时间了。但升级到 Windows 10 导致安装 MBR 而不是 GRUB。正如我通常所做的那样,我使用了启动修复USB启动可以解决这个问题。引导修复已成功安装 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 命令可以正常工作。
附:谢谢姆奇德对于回应