bas*_*h.d 4 lvm data-recovery linux-mint luks disk-encryption
我给自己买了一个新硬盘并安装了最新版本的 Linux Mint。现在我想从旧磁盘传输文件(我最近没有备份)但是有几个问题
mint-vg与我的新内部系统和外部驱动器的名称冲突(Linux Mint 使用该名称)/home也是加密的如何恢复我的数据?
(我使用 SATA 驱动器的 USB 外壳,您也可以将驱动器安装在您的 PC 中)
在安装 Mint 时加密磁盘时,驱动器将包含分区方案(使用fdisk -l /dev/sdb),例如
/dev/sdb1 -> Bootable, about 500M in size, Id 83, Type "Linux"
/dev/sdb2 -> Not-bootable, rest of your disk's capacity, Id 5, Type "Extended"
/dev/sdb5 -> Not-bootable, rest of your disk's capacity, Id 83, Type "Extended"
找到分区后尝试使用挂载
sudo cryptsetup luksOpen /dev/sdb5 exthdd
whereexthdd实际上可以是任何东西,但它不能存在于 下dev/mapper,所以你可以先检查一下。
系统会要求您输入分区的密码,因此请准备好。如果你失去了这个,对你没有帮助......
运行lsblk再次,你应该会看到mint--vg-root和mint--vg-swap_1下exthdd。
当设备通过 解锁时cryptsetup luksOpen,运行
sudo lvscan
这将向您展示类似的东西
inactive '/dev/mint-vg/root' [UVW GiB] inherit
inactive '/dev/mint-vg/swap_1' [XYZ GiB] inherit
ACTIVE '/dev/mint-vg/root' [ABC GiB] inherit
ACTIVE '/dev/mint-vg/swap_1' [DEF GiB] inherit
正如您所看到的,您mint-vg在/dev目录下有两次,这使您只能访问其中之一(在我的情况下,它指向外部硬盘驱动器)。
幸运的是,底层卷组通过 ID (VG UUID) 区分。我们可以检索这些运行的 ID
sudo vgdisplay
这将向您显示类似的内容(输出缩写):
--- Volume group ---
VG Name mint-vg
...
VG Size UVW GiB
...
VG UUID UVW-ID
--- Volume group ---
VG Name mint-vg
...
VG Size ABC GiB
...
VG UUID ABC-ID
Run Code Online (Sandbox Code Playgroud)
就我而言,我能够通过查找硬盘驱动器的大小来解决差异,当然您可以在安装外部驱动器之前检查当前 VG 的 ID。
现在我们有了 ID (UVW-ID),我们可以使用以下命令重命名 VG
sudo vgrename UVW-ID newvgname
你应该得到一个
Volume group "NAME-OF-UVW" successfully renamed to newvgname
检查lsblk应该会在sdb5,newvgname-swap_1和下显示两个条目newvgname-root。
如果你/dev/mapper现在检查,你会发现两个新节点
/dev/mapper/newvgname-root
/dev/mapper/newvgname-swap_1
跑
sudo mount /dev/mapper/newvgname-root /your/mount/point
并检查结果
ls /your/mount/point - 瞧,您现在应该可以访问该设备了。
现在转到/home目录并查找隐藏目录.ecryptfs。在里面你应该找到一个目录user-user你正在寻找的用户名在哪里。
现在运行
sudo ecryptfs-recover-private /your/mount/point/home/.ecryptfs/user/.Private/
系统将提示您输入以下帐户的密码user:
INFO: Found [/your/mount/point/.ecryptfs/user/.Private/].
Try to recover this directory? [Y/n]: Y
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] Y
INFO: Enter your LOGIN passphrase...
Passphrase: _
Inserted auth tok with sig [...] into the user session keyring
INFO: Success! Private data mounted at [/tmp/ecryptfs.ABCXYZ]
Run Code Online (Sandbox Code Playgroud)
然而,如果您丢失了这个密码,您就几乎没有希望了。
您现在可以转到/tmp/ecryptfs.ABCXYZ并查看主目录的内容。
以相反的顺序卸载所有内容。