端くれプログラマの備忘録 AWS [AWS] EC2/rootボリュームを一般ボリュームとして別インスタンスにマウントするには

[AWS] EC2/rootボリュームを一般ボリュームとして別インスタンスにマウントするには

立ち上がらなくなったrootボリュームを修復したい。そのためには、そのボリュームを別インスタンスにマウントして設定ファイルなどを修正する必要がある。ボリュームのパーティションの扱いでちょっとつまづいた過程を覚え書き。

対象rootボリュームを/dev/sdfにアタッチしてインスタンス起動。

マウントするためのデバイスファイル名を取得。

# ls -l /dev/sdf
lrwxrwxrwx 1 root root 7 Mar 15 05:58 /dev/sdf -> nvme1n1

/dev/mvme1n1のマウントを試みるが失敗。

# mount /dev/nvme1n1 /mnt/attached_disk
mount: wrong fs type, bad option, bad superblock on /dev/nvme1n1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail or so.

ファイル形式を確認するとext4ではなかった。

# file -s /dev/nvme1n1
/dev/nvme1n1: DOS/MBR boot sector; GRand Unified Bootloader, stage1 version 0x3,  stage2 address 0x2000, 1st sector stage2 0x800, stage2 segment 0x200, GRUB version  0.94, extended partition table (last)

ブロックデバイスの構成を確認したらパーティションが存在した。

# lsblk
NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:3    0  31G  0 disk
├─nvme0n1p1   259:4    0  31G  0 part /
└─nvme0n1p128 259:5    0   1M  0 part
nvme1n1       259:0    0  30G  0 disk
├─nvme1n1p1   259:1    0  30G  0 part
└─nvme1n1p128 259:2    0   1M  0 part

パーティションのデバイスファイル名で試みたらマウント成功。

# mount /dev/nvme1n1p1 /mnt/attached_disk

アンマウントももちろん問題なし。

# umount /mnt/attached_disk

参考サイト

Amazon EC2インスタンスにSSHできなくなった時の対処法 | Casual Developers Notes
https://casualdevelopers.com/tech-tips/how-to-fix-ssh-problem-to-ec2/

【 file 】コマンド――ファイル形式を確認する:Linux基本コマンドTips(12) – @IT
https://www.atmarkit.co.jp/ait/articles/1605/10/news018.html

【 lsblk 】コマンド――ブロックデバイスを一覧表示する:Linux基本コマンドTips(180) – @IT
https://www.atmarkit.co.jp/ait/articles/1802/02/news021.html