将 LVM/LUKS 加密分区移动到硬盘的末尾?

mad*_*aze 9 linux gparted partitioning lvm luks

我需要将 LUKS 加密分区移动到硬盘驱动器的末尾以扩展另一个分区。
有谁知道如何做到这一点?

是否可以使用其他分区编辑程序执行此操作?

Gparted 不支持 LUKS/LVM 在此处输入图片说明

编辑:
我写了一个关于如何解决这个问题的快速教程:http : //matthiaslee.com/moving-a-luks-encrypted-lvm-with-dd-and-sfdisk/

cev*_*ing 5

最简单的方法是在磁盘末尾创建一个新分区,并将旧分区的内容复制到新分区。这是不可能的,因为您的磁盘分区确实很不利。一个 PC 分区表只能容纳 4 个主分区。因此,第四个主分区必须位于磁盘的末尾。将 sda4 放在磁盘末尾是一个非常愚蠢的想法,因为不可能在 sda4 后面添加另一个分区。

所以唯一的办法就是手工计算sda4的开头和结尾,删除它,在磁盘末尾新建一个,将内容移动到新创建的里面。但这是一个相当危险的操作,您应该先创建硬盘的完整磁盘映像。为了创建磁盘映像启动像 Knoppix 这样的急救 CD 并执行以下操作

dd if=/dev/sda of=/some/mountpoint/from/sdb bs=512
Run Code Online (Sandbox Code Playgroud)

所有其他步骤也应使用救援 CD 完成。

备份后检查硬盘的几何形状sfdisk -luS。输出将为您提供每个分区的开始和结束。这是我的磁盘示例:

磁盘 /dev/sda:60801 个柱面,255 个磁头,63 个扇区/磁道
单位 = 512 字节的扇区,从 0 开始计数

   设备引导开始结束 #sectors Id 系统
/dev/sda1 * 63 1959929 1959867 83 Linux
/dev/sda2 1959930 3919859 1959930 82 Linux 交换 / Solaris
/dev/sda3 3919860 976768064 972848205 5 扩展
/dev/sda4 0 - 0 0 空
/dev/sda5 3919923 19551104 15631182 83 Linux
/dev/sda6 19551168 976768064 957216897 83 Linux

例如,分区 5 从扇区 3919923 开始,包含 15631182 个扇区。每个扇区有 512 个字节。您必须记下分区的起始扇区和大小。一定要以一种以后可以阅读的方式写下来。;-)

之后,您可以擦除 sda4 并在具有相同大小的磁盘末尾创建一个新的 sda4。

现在您可以通过以下命令将旧 sda4 的内容移动到新 sda4:

dd if=/dev/sda of=/dev/sda bs=512 skip=BEGIN_OLD_SDA4 count=SIZE_SDA4 seek=BEGIN_NEW_SDA4
Run Code Online (Sandbox Code Playgroud)

你必须插入你写下的尺寸。

祝你好运。