给定这样的磁盘布局
Disk: /dev/sdc
Size: 119.9 GiB, 127865454592 bytes, 249737216 sectors
Label: dos, identifier: 0x000efb19
Device Boot Start End Sectors Size Id Type
>> Free space 2048 8191 6144 3M
/dev/sdc1 8192 4615234 4607043 2.2G e W95 FAT16 (LBA)
/dev/sdc2 4615235 29985858 25370624 12.1G 5 Extended
├─Free space 4618240 4620288 2049 1M
├─/dev/sdc5 4620288 4685821 65534 32M 83 Linux
├─/dev/sdc6 4685824 5210109 524286 256M c W95 FAT32 (LBA)
└─/dev/sdc7 5210112 29983811 24773700 11.8G 83 Linux
/dev/sdc3 * 29986816 92901375 62914560 30G 83 Linux
Free space 92901376 249737215 156835840 74.8G
如果我想将 sdc3 移入 sdc2(从而使其成为 sdc8),我该怎么做?
注意:sdc7 的结尾是 sdc3 的开头,因此无需实际移动任何数据。这个问题只是如何更改分区表,以便 sdc3 位于 sdc2 中
重复的这
tl;dr 如何在不实际编辑分区中的数据的情况下更改分区表?
答案1
您可以使用 parted 编辑分区表,直到它看起来像您想要的那样 - 这意味着您还需要扩展扩展分区。与 Windows 分区工具不同,常规 Linux 工具不会擦除分区的前几 KB(破坏数据)。更改分区名称将意味着不同的设备名称,因此您需要在安装表中考虑到这一点。如果它是根分区或启动分区,您需要在 initramfs 中考虑到它,并可能需要重新生成 grub - 当您需要能够启动它时,所有这些都可能很棘手,但这并非不可能。
确保已将其备份以防万一。
编辑:也就是说,考虑一下您是否真的需要这样做,因为它可能会降低将来调整大小或移动的灵活性 - 目前,sdc3 很容易扩展到它之后的可用空间,但如果扩展分区在它之后结束,您将不得不再次进入原始分区编辑才能执行此操作。