
ルート以外のファイルシステムをホストする /dev/sdc1 という HDD デバイスがあります。停電後に起動すると、マウントできません。ファイルシステムが修復できないほど破損している可能性はあるのでしょうか。障害が発生した時点では使用されていないと思います。再度マウントするにはどうすればよいでしょうか。
user@pc ~ $ sudo fdisk -l /dev/sdc
...
Device Start End Sectors Size Type
/dev/sdc1 2048 5860532223 5860530176 2.7T Linux filesystem
/etc/fstab:
/dev/sdc1 /mnt/data_c ext4 defaults 0 0
user@pc ~ $ sudo mount /dev/sdc1
mount: wrong fs type, bad option, bad superblock on /dev/sdc1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
user@pc ~ $ dmesg|tail
...
[154150.717274] sdc: sdc1
[154564.927084] EXT4-fs (sdc1): VFS: Can't find ext4 filesystem
次に、別のスーパーブロックの場所を使用してマウントを試みました。
mount -t ext4 -o sb=131072,ro /dev/sdc1 /mnt/data_c
私は、sb オプションを次のすべての数字の 4 の倍数にして上記を実行しました: 32768、98304、163840、229376、294912、819200、884736、1605632、2654208、4096000 (スーパーブロックのバックアップがこれらのブロックに保存され、マウントでは sb= を 1k ブロック単位で必要とするため、4 倍にする必要があると誰かが私に言ったため)。常に同じエラー (間違った fs タイプ、不正なオプション、不正なスーパーブロック... および VFS: ext4 ファイルシステムが見つかりません) が発生しました。
次に、パーティションを見つけて、その中のファイル (すべてのファイルだと思います) を一覧表示できる testdisk を使用しました。また、ファイルを 1 つずつコピーすることもできますが、問題は、約 200 ~ 300 個のファイルが必要で、時間がかかることです。そのため、ファイルシステムを修復する別の可能性を検討したいと思います。
Disk /dev/sdc - 3000 GB / 2794 GiB - CHS 364801 255 63
Partition Start End Size in sectors
MS Data 2048 5860532223 5860530176 [data3]
superblock 0, blocksize=4096 [data3]
superblock 32768, blocksize=4096 [data3]
superblock 98304, blocksize=4096 [data3]
superblock 163840, blocksize=4096 [data3]
superblock 229376, blocksize=4096 [data3]
superblock 294912, blocksize=4096 [data3]
superblock 819200, blocksize=4096 [data3]
superblock 884736, blocksize=4096 [data3]
superblock 1605632, blocksize=4096 [data3]
superblock 2654208, blocksize=4096 [data3]
To repair the filesystem using alternate superblock, run
fsck.ext4 -p -b superblock -B blocksize device
非常に興味があります。ハードディスクは 1 年未満しか経っておらず、停止時に何も書き込まれていなかったことはほぼ確実です (読み取りは行われていた可能性があります)。すべてのスーパーブロックが無効になっている可能性はありますか? おそらくどこか別の場所にあるのでしょうか?
答え1
まず、パッケージを介してハードドライブをテストすることができますスマートモンツール
ドライブの「スマート」を有効にします:
smartctl -s on /dev/sdc
長いテストを開始します(最初に「短い" テスト ) :
smartctl -t long /dev/sdc
テストの終了を待って結果を取得します:
smartctl -l selftest /dev/sdc
ハードドライブに問題がない場合は、以下のコマンドを試してファイルシステムを確認してください。
e2fsck -n /dev/sdc1
うまくいかなかったら、テストディスク解決策です。