
2つのパーティションを持つドライブがあります
- 1つ目はプレーンなext4
- 2番目は暗号化されたLUKSです。
パーティション テーブルが上書きされました。回復する必要がある 2 番目のパーティションの先頭が次のように見つかりました。
# hexdump -s 400000m -C /dev/sdc | grep LUKS
61d3dec850 79 c8 81 6d e5 4c 55 4b 53 40 49 aa 29 df de d7 |y..m.LUKS@I.)...|
また:
# losetup -o 0x61d3dec850 -r -f /dev/sdc
# losetup -a
/dev/loop0: [0005]:477209 (/dev/sdc), offset 420166420560
これまでのところ、次のような問題が発生しています:
# cryptsetup luksOpen /dev/loop0 luksrecover
Device /dev/loop0 is not a valid LUKS device.
0xEF53
オフセットが間違っていますか? ext4を識別するマジックナンバーを探す必要がありますか?ここでアドバイスされているように?
これは 1TB ドライブなので、ドライブ全体のスキャンを強制的にやり直さないようなアドバイスが必要です (たとえば、testdisk
スキャン時間を節約するために指定されたオフセットから開始するオプションがないようです)。
答え1
dd if=/dev/mapper/storage2-crypto bs=16 count=1 2>/dev/null |
od -t c -t x1
0000000 L U K S 272 276 \0 001 a e s \0 \0 \0 \0 \0
4c 55 4b 53 ba be 00 01 61 65 73 00 00 00 00 00
私のシステムではこんな感じです。https://gitlab.com/cryptsetup/cryptsetup/wikis/LUKS-standard/on-disk-format.pdf(6ページ)
最初の 6 バイトは同じであるはずですが、おそらく最初の 8 バイトと最初の 16 バイト以上も同じでしょう。文字列は見つかりましたが、マジック バイトではないLUKS
ため明らかに間違っています。LUKS@I
正しいデータを探してください。そうすれば正しい位置がわかるはずです。