Linux備忘録17:OS(ブートローダ)起動不可対応、備忘録

OSが起動しなくなった時に実施した内容を備忘録として記載。

実施内容に不足無いと思っていますが、個人用備忘録のため、内容や記述に誤りがあったら申し訳ありません。

 

カーネルバージョン:4.18.0-147.5.1.el8_1.x86_64(RHEL8.1)


【状況】

MBR形式のHDDに対しpartedコマンドでパーティションを消したり、増やしたりした。※最終的に元に戻した

・swap領域を再フォーマット ←関係ない?

grubのUUIDを更新 ⇒上記実行後、OSを再起動したところブートローダが起動しなくなった。 ⇒画面に何も出てこない

grubの起動メニューが出てこない状態


パーティション情報】

モデル: ATA WDC WD6400BPVT-1 (scsi)ディスク /dev/sda: 640GBセクタサイズ (論理/物理): 512B/4096Bパーティションテーブル: msdosディスクフラグ:
番号  開始    終了   サイズ  タイプ    ファイルシステム  フラグ 

1   1049kB  630MB  629MB   primary   ext4              boot 

2    630MB   262GB  262GB   primary   ext4

3    262GB   285GB  22.3GB  primary   ext4

4    285GB   640GB  355GB   extended 

5    285GB   293GB  8311MB  logical   linux-swap(v1)  

 

【対応記録】下記コマンドを上から順に実行

①RHEL8のOSインストールメディアを使用してRescueモードで起動 ※手順割愛


②マウント前に各デバイスファイルシステムをチェック。

 

※実行結果的にファイル破損しているようには感じなかったが...。

# fsck /dev/sda1

# fsck /dev/sda2

# fsck /dev/sda3

 
③boot,/パーティションをマウントしてchrootでルートディレクトリを変更。


  Ⅰ、各パーティションをレスキューOSにマウント

# mount /dev/sda2 /mnt ※/領域をマウント

# mount /dev/sda1 /mnt/boot ※boot領域をマウント


  Ⅱ、デバイスや仮想ファイルシステムを共有。

# mount --bind /dev /mnt/dev

# mount --bind /dev/pts /mnt/dev/pts

# mount --bind /proc /mnt/proc

# mount --bind /sys /mnt/sys

# mount ←確認。


  Ⅲ、chroot実行

# chroot /mnt

# ls ←確認。


grubの再インストール、grub.cfgを再作成

# grub2-install /dev/sda 

⇒[Installation finished. No error reported.]と表示されれば成功   

※/etc/mtab情報が更新されておらずエラーが出る場合があるらしい。その時は以下を実施。

# ls -l /etc/mtab

 -rw-r--r-- 1 root root 71  2月 26 02:49 2015 /etc/mtab

# rm /etc/mtab

# cp /proc/mounts /etc/mtab

 

grub.cfgを再作成

# grub2-mkconfig -o /boot/grub2/grub.cfg

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg ※BIOSブートだから不要だと思うけど念のため実施。

# exit ←chroot抜ける

# reboot

  ⇒システム再起動後、状態が回復しOSが正常起動したことを確認。