このエラーは当初、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コードブロック。
エラーが発生してもシステムにアクセスできたので、システムにブートできない場合に必要になるchrootする必要はありませんでした。私がしたことは、トリックを行ったgrubをパージして再インストールすることでした。
私が使用した手順は次のとおりです。
Sudo apt-get update # ***
でインターネットに接続していることを確認しましたSudo apt-get purge grub-pc grub-common
でgrub-pcとgrub-commonを削除しましたapt-get install grub-common grub-pc
を発行し、プロンプトが表示されたら TAB 「」を強調表示して押す ENTERデバイスオプションが提示されたら、UP/DNキーを使用して、パーティションではなく正しいドライブ(sdX)を選択しました。
インストールドライブ[]/dev/sdXの横にアスタリスクが付いていることを確認しました(私の場合:[]/dev/sda)。表示されない場合は、それを強調表示し、スペースバーを押して選択します。その後、私はヒット TAB 「OK」を強調表示して押す ENTER
コマンドSudo update-grub
を発行することにより、インストールが完了して機能していることをテストしましたが、すべて期待どおりエラーなしで機能しました。