我的加密硬碟西部數據 WD5000BPVT運行 Ubuntu 14.04,崩潰了,對其進行資料恢復的人員正在詢問加密金鑰儲存在硬碟上的位置,以便他可以將修復集中在該區域。他還詢問它是什麼類型的加密以及其他信息,但我想我可以在其他問題中找到這些信息。
他還告訴我,我應該嘗試找到原始設備,因為它可能使用該筆記型電腦的序號進行加密。對我來說非常重要的是,這個人不知道這個硬碟上有什麼,因為它是一個加密貨幣錢包,他可以毫無痕跡地竊取它。
我只是要求他製作磁碟鏡像,這難道不合理嗎?我應該找一個新的恢復人員嗎?
答案1
如果您在運行期間使用了 Ubuntu 的內建加密無所不在安裝過程中,您的磁碟已加密路克。
在 LUKS 分區中,標頭為最多前兩個兆位元組 ( 2MiB
)。如果無法復原標頭,則無法復原數據,因為標頭包含解密分割區其餘部分的金鑰。
要取得該密鑰,您需要一個有效的密碼或密鑰檔案來匹配八個密鑰槽之一。
我建議您自行保管密碼,尤其是因為您似乎不信任資料恢復技術人員。他似乎對加密也一無所知:它不是用筆記型電腦的序號加密的;您使用密碼來解密。
備份LUKS標頭和分區
您應該對磁碟進行盡可能多的映像,並保留 LUKS 標頭的額外副本。您可以使用以下命令輕鬆備份 LUKS 標頭:
cryptsetup luksHeaderBackup /dev/sda2 --header-backup-file /media/sda2.luksHeaderBackup
… /dev/sda2
LUKS 分割區在哪裡,/media/sda2.luksHeaderBackup
是您要儲存標頭備份的位置。
若要挽救 LUKS 分割區,您可以使用gddrescue
:
ddrescue -Svv /dev/sda2 /somewhere/else/rescue.img /somewhere/else/ddrescue.log
..../somewhere/else
具有比 的大小更多的可用空間的安裝的路徑在哪裡/dev/sda2
。
gddrescue
的映射檔案/somewhere/else/ddrescue.log
還可以幫助您識別硬碟的哪些區域不可讀。
讀取複製的影像
若要解鎖/somewhere/else/rescue.img
,請使用以下命令:
cryptsetup luksOpen /somewhere/else/rescue.img rescue
輸入您的密碼,並將cryptsetup
解鎖的分區映射到/dev/mapper/rescue
.
您現在可以安裝/dev/mapper/rescue
:
mount /dev/mapper/rescue /mnt
您的文件將位於/mnt
.
需要考慮的邊緣情況:完整磁碟映像而不是分割映像
如果您決定製作完整磁碟的映像而不僅僅是分割區,則需要將分割區對應到完整磁碟映像內。
您可以使用以下選項之一來執行此操作(儘管確實存在其他選項):
# Option 1
kpartx -av /somewhere/else/rescue.img
# Option 2
LODEVICE="$(losetup -f)"
losetup -P "$LODEVICE" /somewhere/else/rescue.img
然後您可以使用以下命令找到您的 LUKS 分割區:
blkid /dev/loop* | grep crypto_LUKS
如果/dev/loop0p2
是您的 LUKS 分割區,您將解鎖/dev/loop0p2
而不是/somewhere/else/rescue.img
.