ファイルシステムから誤って/ bootフォルダーを削除して再起動しましたが、ここで取得できるのはこれだけです。
error: file '/boot/grub/i368-pc/linux.mod' not found.
grub rescue>
おっとっと!
ここでは何をすべきかです:
ライブディストリビューションを起動します。これは、Ubuntuインストールディスクまたは Knoppix などの別のディスクにすることができます。
ルートファイルシステムをインストールしたドライブ/パーティションを見つけます。これを行うには、ターミナルを開いてSudo parted -l
またはSudo fdisk -l
を実行します。わからない場合は、 edit で質問して、出力を追加します。
最後のステップで見つけたルートパーティションが/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
フォルダーにコピーされるようにすることです。これを行うには、ルートパーティションが存在するドライブ(つまり、番号(y
)を削除した/dev/sdxy
)を使用して次のコマンドを実行します。
grub-install /dev/sdx
ここで、インストールしたパッケージのうち、ブートディレクトリにファイルがあるものを見つけて再インストールする必要があります。これにより、特に削除されたカーネルイメージが置き換えられます。パッケージを見つけるコマンドは次のとおりです。
dpkg -S /boot
そしてそれらを再インストールするには:
apt-get --reinstall install ...
ここで、...
は、最初のコマンドからのパッケージの名前に置き換えられます。コンマは含めず、パッケージ名をスペースで区切ってください。
この手順ではおそらくインターネットアクセスが必要になります(パッケージが既にキャッシュにある場合を除く)。問題がある場合は接続されていることを確認してください。
カーネルを削除して再インストールしたので、これによりGRUB2の更新が自動的にトリガーされます。しかし、そうでない場合に備えて、次のコマンドを実行できます。
update-grub
再起動すると、問題が修正されます。最後に私が同様のことをしたときに発生した問題の1つは、update-grub
のバグが原因でchroot
で実行したときにWindowsがos-prober
で見つからない場所にインストールされることです。これが問題である場合は、修復したシステムでSudo update-grub
をもう一度実行してください。