基本的な取り付け
マウントすると次のエラーが表示されます
_wrong fs type, bad option, bad superblock on
_
そしてdmesg
EXT4-fs (sdc1): VFS: Can't find ext4 filesystem
ディスクのファイルシステムタイプを見つけようとしましたが、
_$Sudo file -s /dev/sdc
_
_/dev/sdc: x86 boot sector; partition 1: ID=0x83, starthead 254, startsector 63, 1953520002 sectors, code offset 0xb8
_
一部のコマンドの出力
fdisk -l/dev/sdc
_$fdisk -l /dev/sdc
_
_Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
_
_255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
_
_Units = sectors of 1 * 512 = 512 bytes
_Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
_Disk identifier: 0x0005ed9c
_
_Device Boot Start End Blocks Id System
_
_/dev/sdc1 63 1953520064 976760001 83 Linux
_
ファイル-s/dev/sdc1
_$file -s /dev/sdc1
_
_/dev/sdc1: data
_
hexdump -C -n 32256/dev/sdc(これが役立つかどうかわからない)
_$hexdump -C -n 32256 /dev/sdc`
00000000 fa b8 00 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |................|
00000010 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..|
00000020 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75 |....8.u........u|
00000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 01 8b |.........|...t..|
00000040 4c 02 cd 13 ea 00 7c 00 00 eb fe 00 00 00 00 00 |L.....|.........|
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001b0 00 00 00 00 00 00 00 00 9c ed 05 00 00 00 00 fe |................|
000001c0 ff ff 83 fe ff ff 3f 00 00 00 82 59 70 74 00 00 |......?....Ypt..|
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00007e00
_
これはUbuntu 14.04でうまく機能しています:
Sudo -i
mdadm --assemble --scan
あなたは得るでしょう:
mdadm: /dev/md/1 has been started with 1 drive (out of 2)
次に、ファイルをマウントして表示します。
cd /mnt && mkdir to-restore-md1 && mount /dev/md1 to-restore-md1
ls -la to-restore-md1
Linux mdraidには いくつかのメタデータ形式 があります。フォーマット0.9と1.0では、メタデータが含まれているデバイスの最後に置かれ、ペイロード(ファイルシステム)はデバイスの最初から始まり、RAIDレイヤーを経由せずに直接アクセスできます。フォーマット1.1と1.2では、メタデータをそれぞれ包含デバイスの中央と先頭に配置するため、ペイロードはオフセットにあります。
Ubuntuインストーラーは1.2メタデータ形式でボリュームを作成するため、データはデバイスの先頭ではなく、メタデータの後に始まります。
そのデータにアクセスする最も簡単な方法は、RAIDデバイスを組み立てることです。 RAID-1ボリュームでは、単一のデバイスで十分です。
madadm -A /dev/sdc1
(あなたが痛みが好きでない限り、ここで止めてください。)
オフセットでデータにアクセスすることもできます。 1.x mdraid形式をサポートしていない非常に古いカーネルで作業しなければならない場合にのみ、これを実行することができます。まず、オフセットmdadm -E /dev/sdc1
を決定します。Data Offset : SSS sectors
という行を探します。 mdadmセクターは512バイトです。
sectors=$(mdadm -E /dev/sdc1 | awk -F: '$1 ~ /Data offset/ {print $2}')
bytes=$(($sectors * 512))
losetup -f -o $bytes /dev/sdc1
必死に、1.xフォーマットでは、データオフセットはメタデータの128〜135バイトに格納されます(リトルエンディアン)。 1.2メタデータは、デバイスの開始後4096バイトです。
パーティションテーブルを変更して、さらに起動させることもできます。算術には十分注意してください。 RAIDデバイスにアクセスできない古いシステムで長期間ディスクを使い続けたい場合にのみ、それを行ってください。
¹ またはプラットフォームのエンディアンで?よく分かりません。
驚いたことに、私は foremost を使用するだけでデータを回復できました。
ここで受けた支援は非常に貴重でした。提案されたさまざまな組み合わせと自分のミックスインを試した後、理想的な方法(ディスクを通常どおりにマウントして使用する)は、もはや選択肢のようには思えませんでした。この場合の私の解決策は、データ回復に頼ることです。
Mdadmスーパーブロックをすでに消去しているようです。以前はそこにあり、フォーマットが1.1または1.2だった場合、ファイルシステムはオフセット2048セクターにある可能性が高いです。 e2fsck /dev/sdc1?offset=2048
を実行すると、そのオフセットで始まるファイルシステムを強制的に検索できます。見つかった場合は、パーティションテーブルを変更して、ファイルシステムが実際に開始する場所を指定できます。 parted /dev/sdc
およびunit s
コマンドを使用して、セクターの単位を使用できます。 print
テーブル、開始セクターと終了セクター、次にrm
パーティションに注意して、mkpart
で再作成し、同じ終了セクターを使用しますが、開始にオフセットを追加しますセクタ。
2048が機能しない場合は、1985も試してみてください。