GRUBは起動回復を使用してWindows 10を検出できません。

GRUBは起動回復を使用してWindows 10を検出できません。

私はしばらく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答えのために

関連情報