web-dev-qa-db-ja.com

エラー:環境ブロックが無効です。何かキーを押すと続行します

Error: invalid environment block. Press any key to continue...

紫色の背景のブート画面の直後にエラーメッセージが表示されます。 Ubuntu 12.04.1 LTS。

15
Tim

http://ubuntuforums.org/showthread.php?t=1285098 から:

押す E GRUBメニューで。 save_env recordfailという行を見つけて、すべてを削除します Del または Backspace キー。押す Ctrl+X 起動し、ダッシュ(ランチャーメニュー)でターミナルを検索してターミナルを開きます。

次のコマンドを実行し、パスワードの入力を求められたら、それを入力して押します Enter。パスワードは表示されず、アスタリスクも表示されません。

Sudo -i

次に、各コマンドを1つずつ実行します

cd /boot/grub
rm grubenv
grub-editenv grubenv create
grub-editenv grubenv set default=0
grub-editenv grubenv list
update-grub

最後から2番目のコマンドにdefault=0が表示されます。存在する場合は、最後のコマンドを実行して終了します。終了したら、プロンプト/boot/grub#またはそのようなものを再度取得する必要があります(各コマンドの後に表示されます)。 exitを2回実行してから、再起動します。

21
hexafraction

このエラーメッセージは、grubenvファイルが> 1024バイトであることを意味します。これは主に、ファイルを手動で編集したことが原因です。 (例:viは、最後の行に改行を追加します)

これを回避するには、grub-editenv以外を使用してgrubenvを編集しないでください。

grub-editenv <filename> set exiting_var=existing_valueを使用しても、ファイルは修正されません。

投機:文字を1つまたは2つ削除して、サイズを正確に1024バイトに戻すことにより、ファイルを修正できるはずです。それでも解決しない場合は、代わりに this answer の手順を使用してファイルを再作成する必要があります。 (最初にgrub-editenv grubenv listを使用して変数の正しい値を取得し、それらの値でファイルを再作成します)

1