首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LUKS分区恢复

LUKS分区恢复
EN

Server Fault用户
提问于 2015-01-06 22:51:09
回答 1查看 2.7K关注 0票数 4

一个有两个分区的驱动器--第一个分区是普通的ext4,第二个分区是加密的LUKS。分区表已被覆盖。我找到了第二个分区的开始,我需要恢复它:

代码语言:javascript
复制
#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.)...|

然后:

代码语言:javascript
复制
#losetup -o 0x61d3dec850 -r -f /dev/sdc
#losetup -a
/dev/loop0: [0005]:477209 (/dev/sdc), offset 420166420560

好的,到目前为止,这个问题会弹出:

代码语言:javascript
复制
#cryptsetup luksOpen /dev/loop0 luksrecover
Device /dev/loop0 is not a valid LUKS device.

请建议如何进行。偏移量错了吗?我是否应该寻找识别ext4的魔法号0xEF53,在这里建议使用https://unix.stackexchange.com/questions/103919/how-do-i-find-the-offset-of-an-ext4-filesystem

请注意,这是一个1TB驱动器,所以我需要一个建议,如果可能的话,不要强迫对整个驱动器(小时和小时)进行一次扫描,例如testdisk,它似乎没有选择在指定的偏移量处启动,以节省扫描时间。

这很接近,但不完全是:https://unix.stackexchange.com/questions/177070/lvm-encrypted-partition-without-partition-table

EN

回答 1

Server Fault用户

发布于 2015-01-07 01:24:42

第一个明显的问题是你找错地方了。那不是卢克斯的头球。

LUKS分区标头以六个字节开始,定义为LUKS,后面跟着0xBA、0xBE。您可以清楚地看到,这六个字节中的两个不存在。

你要找的东西很明显:

代码语言:javascript
复制
00000000  4c 55 4b 53 ba be 00 01  61 65 73 00 00 00 00 00  |LUKS....aes.....|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  78 74 73 2d 70 6c 61 69  |........xts-plai|
00000030  6e 36 34 00 00 00 00 00  00 00 00 00 00 00 00 00  |n64.............|
00000040  00 00 00 00 00 00 00 00  73 68 61 31 00 00 00 00  |........sha1....|
00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000060  00 00 00 00 00 00 00 00  00 00 10 00 00 00 00 20  |............... |

你需要看看磁盘上的其他地方。也许你需要后退一点?或者向前看。或者让testdisk完成它的任务;如果磁盘上有一个有效的LUKS头,那么它最终会找到它。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/656752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档