
我有一個有 2 個分割區的磁碟機
- 第一個是純 ext4
- 第二個是加密的 LUKS。
分區表已被覆蓋。我找到了第二個分割區的開頭,我需要恢復它,因此:
# 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
它不是魔術位元組。
尋找正確的數據;這應該給你正確的位置。