web-dev-qa-db-ja.com

GRUB更新中にエラーが発生しました。生成された構文ファイルで構文エラーが検出されましたGRUB構成ファイル

このエラーは当初、aptのアップグレード中に発生しましたが、update grub

Sudo update-grub
[Sudo] password for me: 
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-72-generic
Found initrd image: /boot/initrd.img-4.15.0-72-generic
Found linux image: /boot/vmlinuz-4.15.0-60-generic
Found initrd image: /boot/initrd.img-4.15.0-60-generic
Found linux image: /boot/vmlinuz-4.15.0-20-generic
Found initrd image: /boot/initrd.img-4.15.0-20-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
error: syntax error.
error: Incorrect command.
error: syntax error.
Syntax error at line 145
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.

熟読しました/etc/default/grubおよび/etc/grub.d/*ファイル。明らかなエラーは見つかりませんでした。

私が見つけた情報の検索中に https://unix.stackexchange.com/questions/209152/syntax-error-in-grub-cfg-on-update-grub-grub-2-memtest86 が見つかりました優れたトラブルシューティング手順では解決策が得られませんでした。悲しいことに、問題を解決する前に/boot/grub/grub.cfg.newをバックアップできなかったため、コピーを提供できませんでした。覚えているのは、エラーが145行目で報告され、確認できる問題はなかったことです。 if-その行の領域のfiコードブロック。

2
Elder Geek

エラーが発生してもシステムにアクセスできたので、システムにブートできない場合に必要になるchrootする必要はありませんでした。私がしたことは、トリックを行ったgrubをパージして再インストールすることでした。

私が使用した手順は次のとおりです。

  1. Sudo apt-get update # ***でインターネットに接続していることを確認しました
  2. Sudo apt-get purge grub-pc grub-commonでgrub-pcとgrub-commonを削除しました
  3. ブートローダーの削除に関する警告を読み、 TAB 「OK」を強調表示して押す ENTER
  4. コマンドapt-get install grub-common grub-pcを発行し、プロンプトが表示されたら TAB 「」を強調表示して押す ENTER
  5. デバイスオプションが提示されたら、UP/DNキーを使用して、パーティションではなく正しいドライブ(sdX)を選択しました。

    インストールドライブ[]/dev/sdXの横にアスタリスクが付いていることを確認しました(私の場合:[]/dev/sda)。表示されない場合は、それを強調表示し、スペースバーを押して選択します。その後、私はヒット TAB 「OK」を強調表示して押す ENTER

    コマンドSudo update-grubを発行することにより、インストールが完了して機能していることをテストしましたが、すべて期待どおりエラーなしで機能しました。

出典: https://ubuntuforums.org/showthread.php?t=1581099

2
Elder Geek