我的笔记本电脑上有一个包含 Windows 和 Debian 的双启动系统,我想将磁盘从 500GB 升级到 2TB,同时增加两个操作系统分区的大小。设置方式如下:
root@faris:~# LC_ALL=C fdisk -l
Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: Micron 2300 NVMe 512GB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 6974F471-DAB3-4665-A578-591B2C8F5144
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 391167 389120 190M EFI System
/dev/nvme0n1p2 391168 653311 262144 128M Microsoft reserved
/dev/nvme0n1p3 653312 350619647 349966336 166.9G Microsoft basic data
/dev/nvme0n1p4 966057984 968085503 2027520 990M Windows recovery environment
/dev/nvme0n1p5 968085504 997390335 29304832 14G Windows recovery environment
/dev/nvme0n1p6 997392384 1000214527 2822144 1.3G Windows recovery environment
/dev/nvme0n1p7 350619648 352573439 1953792 954M EFI System
/dev/nvme0n1p8 352573440 354527231 1953792 954M Linux filesystem
/dev/nvme0n1p9 354527232 966057983 611530752 291.6G Linux filesystem
Partition table entries are not in disk order.
Disk /dev/mapper/nvme0n1p9_crypt: 291.58 GiB, 313086967808 bytes, 611497984 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/vg-root: 289.72 GiB, 311083139072 bytes, 607584256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/vg-swap: 1.86 GiB, 2000683008 bytes, 3907584 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 1.82 TiB, 2000398934016 bytes, 3907029168 sectors
Disk model: Generic
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
我想为 nvme0n1p3(Windows 分区)和 nvme0n1p9(Linux 分区)提供更多空间,这是一个 LUKS2 加密分区。另请注意磁盘末尾的 3 个“恢复”分区,以及 2 个 EFI 分区和 128M 的“Microsoft 保留”分区。我不知道 Windows 是否有某种磁盘加密。当我拿到笔记本电脑时,它们就在那里,但我从未将它们取下来。
这里最好的策略是什么?我能想到的有 3 种方法:处理设备层 ( dd
)、处理文件层 ( cp
) 或完全重新安装操作系统。
完全
dd if=/dev/nvme0 of=/dev/sda
然后找到移动/调整分区大小的方法?- 执行此操作后是否可以移动分区?我想这需要我将最右边的分区逐个移动到真正的末端,然后找到一种方法以某种方式告诉每个人新的大小和偏移量。我该怎么做呢?
以某种方式在新磁盘中重新创建具有相同大小的 9 个分区,然后
dd if=/dev/nvme0n1p* of=/dev/sdaX
分别创建每个分区?- 由于分区开始的偏移量会有所不同,这是否有效?之后我可以调整东西的大小吗?我的意思是,我可以运行 update-grub,但我不确定其他问题。
创建一个Windows Restoration pendrive,磁盘,用它在2TB驱动器上恢复系统,在新驱动上安装Linux,同时调整Windows分区大小,然后最后将所有文件复制进去?我想这可能是最安全的,但是重新安装所有东西听起来并不有趣。我宁愿避免它,除非有充分的理由(比如移动所有东西也很耗时!)。
还有其他方法吗?除了 DD 之外,还有什么 Unix GUI 程序可以帮助我吗?
PS:2TB 磁盘被列为 SDA 而不是 NVMe,因为我现在正在使用 USB 适配器。当我有策略时我会交换它们。
多谢。