恢復 LUKS 分割區

恢復 LUKS 分割區

我有一個有 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它不是魔術位元組。

尋找正確的數據;這應該給你正確的位置。

相關內容