CentOS 7が/grub2/i386-pc/normal.mod not foundで起動しないのでLive CDから起動

ITで知っておくべき知識
スポンサーリンク

さくらのVPSでCentOS 7が起動しなくなりました。

さくらのVPSとは何か?については以下に記載しています。

https://urashita.com/archives/24937

スポンサーリンク

'/grub2/i386-pc/normal.mod' not found

あるとき、さくらのVPSのCentOS 7が起動しなくなりました。

コンソール画面を見てみると以下のように表示されていました。

 

 

かなり致命的な不具合です。

今回は、LiveCDからOSを起動し、HDDから必要なバックアップファイルをダウンロードすることにしました。

CentOS 7をLive CDから起動

LinuxでOSがブートできなくなったときなどに利用できるのがレスキューモードです。

レスキューモードは通常のブートイメージとは別に用意し、メモリー上に最小のブートイメージをロードしてOSを起動します。

 

通常のレスキューイメージを使用すると利用できるコマンドなどが限られてしまいますが、CentOS 7のLive CDからCentOS 7を起動すればOSのコマンド類をすべて使うことが可能です。

Live CDのISOイメージをダウンロード

http://ftp.iij.ad.jp/pub/linux/centos-vault/7.8.2003/isos/x86_64/

から

CentOS-7-x86_64-LiveGNOME-2003.iso

をダウンロードします。

さくらのVPSにisoファイルをアップロード

さくらのVPSのコンソールから

OS再インストール

⇒ ISOインストール

⇒ アップロードする

 

⇒ SFTPアカウントを発行する

⇒ISOイメージをアップロード

で発行されたSFTPアカウントを使ってISOファイルをアップロードします。

 

ISOファイルをSFTPで送るには、MobaXtermを使いました。

https://urashita.com/archives/26666

OS再インストールを実行

OSさインストール実行を押すと「ストレージは初期化されます。必要なデータは必ず事前にバックアップを行ってください。」となって焦りますが、VPSのHDDは消去されません。

 

ここでOS再インストール実行を行っても、Live CDから起動してOSがメモリにロードされるだけなので安心して下さい。

CentOS 7がLive CDから起動

このまま待つとCentOS 7がLive CDから起動します。

ユーザー名:liveuser

です。

VPS側のHDDをlsbkで認識しマウントしてファイルを取り出す

Live CDが立ち上がったら、Terminalを開いて su - してrootになります。

lsblk コマンドでブロックデバイスの一覧を確認すると、/dev/vda1, /dev/vda2, /dev/vda3, /dev/vda4 としてパーティションが認識され、サイズもそのまま認識できてました。

 

lsblkコマンドはブロックデバイスの一覧を表示出来るとても便利なコマンドです。

 

今回は、/dev/vda4がVPSのHDD本体なので適当なディレクトリを作ってマウントします。

 

これで /root/data4 に/dev/vda4がマウントされました。

Live CDをインターネットに接続

Live CDをインターネットに接続します。

Edit a connection を選択します。

 

さくらのVPSのネットワーク情報を確認します。

 

IP4 Addresses
Gateway
DNS Servers

を入力します。

設定できたら、「<OK>」→「<Back>」→「Quit」で、元のコンソールに戻ってきます。

 

接続確認します。

こんな感じの応答があればOKです。

 

rootのパスワードを変更します。

パスワードなしだと外部からsshで接続できません。

 

sshのサービスを起動します。

 

外部の端末からsshで接続できるか確認します。

パスワードを入力して、ログインできることを確認しました。

これ以降は、sshでリモートログインして、操作します。

 

 

コメント