2020年2月8日土曜日

Raspberry Pi が起動しなくなった

Web サーバとして起動していた Raspberry Pi が落ちて起動しなくなった・・・

もともと、外付け HDD でやっていたが夏場の熱でちょくちょく落ちるので
SD カードのみで起動していたのだが・・・

SSH で通信できなくなったので 電源抜いて強制再起動。
でも立ち上がらない。
画面をみると

1
ERROR: Bailing out. Run 'fsck /dev/mmcblk0p2' manually

エラーが出てる・・・
fsck を実行するも

1
2
3
4
5
[rootfs ]# fsck /dev/mmcblk0p2 
 
snip ...
 
WARNING: Filesystem still has errors

復活せず・・・

データだけでも救出しようと、SD カードを取り出し、VM 上の Linux に接続。
マウントしてみるも

1
2
[root ~]# mount /dev/sdd2 /mnt/disc
mount: /mnt/disc: cannot mount /dev/sdd2 read-only.

書き込みでマウントしているにも関わらずリードオンリーでのマウントに失敗・・・
fdisk で修復にかかるも

1
2
3
4
5
6
7
8
9
[root ~]# fdisk /dev/sdd2
 
snip ...
 
Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
 
fdisk: cannot open /dev/sdd2: Read-only file system

同じ結果・・・
hdparm でリードオンリーを解除してみる

1
2
3
4
[root ~]# hdparm -r0 /dev/sdd
/dev/sdd:
 setting readonly to 0 (off)
 readonly      =  0 (off)

いけたかと思い再マウントするも

1
2
[root@ArchLinux ~]# mount /dev/sdd2 /mnt/disc
mount: /mnt/disc: cannot mount /dev/sdd2 read-only.

変わらず・・・
下記サイトを見つけたので参考にして

https://qiita.com/_takeuchi_/items/e285f82383a1c70a7262

dd でデータ抽出、マウント

1
2
[root ~]# dd if=/dev/sdd2 of=./sdd2.img
[root ~]# mount -o loop ./sdd2.img /mnt/disc

データ救出できました。
ログの書き込み等が多い状態での SD カード運用は無理があるようです・・・