当我拿到配备 512GB SSD 的笔记本时,我重新格式化了它并安装了 Ubuntu。我按照 Ubuntu 的建议对驱动器进行分区,因此我将其分区如下:
$ sudo parted -l
Model: NVMe Device (nvme)
Disk /dev/nvme0n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 EFI System Partition boot, esp
2 538MB 512GB 512GB ext4
驱动器现在已满 81%,如下所示df -h
:
/dev/nvme0n1p1 511M 26M 486M 6% /boot/efi
/dev/nvme0n1p2 468G 358G 87G 81% /
我想保持分区1
不变并将分区一2
分为二,这样它将/
位于一个分区中,并且/home
将位于另一个分区中。所以最终的分区表如下所示:
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 EFI System Partition boot, esp
2 538MB 32GB 32GB ext4
3 32GB 512GB 480GB ext4
我想这样做的原因是我想安装新版本的 Ubuntu(我不想升级),同时保持/home
不变。
有没有办法做到这一点?我可以使用实时发行版来在卸载 SSD 分区时对其进行操作。这会让这个任务变得更容易吗?
我的要求是:
- 最明显的一点是:不丢失任何数据。
- 不必将所有内容复制到另一台设备。
所以基本上我要问的是:
有没有一种方法可以将其中一个分区一分为二,而无需重新格式化其中任何一个分区?
编辑:
对于我的具体情况,最好的选择似乎是:
- 启动 Live-CD。
- 打开
gparted
。 - 将分区大小调整
2
为比现在 (512GB) 小 32GB。 - 将其移动到 SSD 的末尾。
- 在可用空间中创建一个 32GB 的分区。
- 保存更改并退出
gparted
。 - 将新发行版安装到这个新的 32GB 分区中,并配置
/home
为安装在之前调整大小的分区中。 - 将子目录移动
/home
到旧分区的根目录并删除其他所有内容。
答案1
在实时系统中使用gparted
,调整分区大小并添加新分区。
您可以获取 gparted live OS,或将其安装到另一个 live OS 中。 (您无法调整/移动正在使用的分区的大小)。
(记得备份重要数据,确保已插入电源且电池已充电。)
或者
将新操作系统放入虚拟机中。对于大多数情况来说,这是一个很好的答案,但对于 3D 内容(例如游戏和 CAD)来说速度同样快,但对于大多数用途来说也足够快(安装来宾插件后)。并且您可以同时使用这两个操作系统。