私はしばらく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 コマンドが正常に動作します。
PS:ありがとうmchid答えのために