ファイルシステムから/ bootフォルダーを誤って削除し、再起動したところ、次のようになりました。
error: file '/boot/grub/i368-pc/linux.mod' not found.
grub rescue>
/boot
は、もちろん、これが修正される前にシステムを再起動することです。
ファイルシステムから/ bootフォルダーを誤って削除し、再起動したところ、次のようになりました。
error: file '/boot/grub/i368-pc/linux.mod' not found.
grub rescue>
/boot
は、もちろん、これが修正される前にシステムを再起動することです。
回答:
おっとっと!
対処方法は次のとおりです。
ライブディストリビューションを起動します。これは、UbuntuインストールディスクまたはKnoppixなどの別のディスクです。
ルートファイルシステムをインストールしたドライブ/パーティションを見つけます。これを行うには、ターミナルを開いてsudo parted -l
またはを実行しますsudo fdisk -l
。わからない場合は 、質問を編集して出力を追加してください。
最後の手順で見つけたルートパーティションが/dev/sdxy
(x
別の文字y
で、数字である必要がある)と仮定して、ターミナルで次のコマンドを実行します。
mkdir mnt
sudo mount /dev/sdxy mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot mnt
これで、chroot
環境内にいることになります。つまり、ここでコマンドを実行することは、インストールされたシステムでコマンドを実行することと同じです。最初に行うことは、デバイスにGRUB2を再インストールして、正しいファイルを/boot
フォルダーにコピーすることです。これを行うには、ルートパーティションが存在するドライブで(つまり/dev/sdxy
、番号(y
)を削除して)以下を実行します。
grub-install /dev/sdx
ここで、ブートディレクトリにファイルがあるインストール済みパッケージを見つけて、それらを再インストールします。これにより、特に削除されたカーネルイメージが置き換えられます。パッケージを見つけるコマンドは次のとおりです。
dpkg -S /boot
そしてそれらを再インストールするには:
apt-get --reinstall install ...
where ...
は、最初のコマンドからのパッケージの名前に置き換えられます。コンマを含めずに、パッケージ名にスペースを入れてください。
この手順では、おそらくインターネットアクセスが必要になります(パッケージが既にキャッシュ内にない場合)ので、問題がある場合は必ず接続してください。
カーネルを削除して再インストールするため、これによりGRUB2の更新が自動的にトリガーされるはずです。しかし、念のため、実行できません:
update-grub
再起動すると問題が修正されるはずです。似たようなことを最後に行ったときに抱えていた問題の1つは、Windows が、のバグによりupdate-grub
実行されたときに見つからない場所にインストールされることでしchroot
たos-prober
。これが問題になる場合はsudo update-grub
、修復したシステムで再度実行してください。
/dev/sdax
どこにいてもそれをに変更したおかげで/dev/sdxy
。