Windows

GRUB 無法使用引導修復檢測 Windows 10

  • March 9, 2019

我一直在使用 Windows 8.1 和 Kali Linux 3.14。但是升級到 Windows 10 會導致安裝 MBR 而不是 GRUB。像往常一樣,我使用Boot-Repair Bootable 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

這是發生的事情:

在一篇關於如何解決我的問題的文章之後,我在源文件中添加了一些程式碼,在第 179 行從中生成 grub.cfg。

當我刪除該程式碼時,grub-update 命令正常工作。

Ps 感謝mchid的回复

將以下內容添加到/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

來源

引用自:https://unix.stackexchange.com/questions/223364