如何在不格式化的情况下将一个分区一分为二?

如何在不格式化的情况下将一个分区一分为二?

我的SSD目前只有一个分区。这就是 Linux 代码所在的地方。我正在使用 ubuntu 发行版。

$ lsblk -l /dev/sda
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda    8:0    0 298.1G  0 disk
sda1   8:1    0 298.1G  0 part /

我可以把这个分区分成两个而不格式化吗?如果是,怎么办?

答案1

你可以吗?当然。

你应该?

如果您必须提取并隔离额外的存储,sda而不会有因缩小主驱动器而导致数据丢失的风险(这是不建议的),那么更安全的方法是fallocate创建循环设备。

fallocate非常适合swap在系统上创建,但在无法进行分区时也可以发挥巨大作用。

首先,为循环驱动器创建一个安装点。

mkdir /NewDrive

现在,您可以继续创建循环设备。

fallocate -l 5G NewStorage

上面的命令将创建一个文件NewStorage大小略低于 5GB 的文件。您可以通过以下方式确认这一点ls -h

既然存储是隔离的而不是分区的,您将需要用它创建一个文件系统。

mkfs.ext4 NewStorage

这将创建一个ext4文件系统。现在,您可以将其安装到之前创建的目录中。

mount NewStorage /NewDrive

您的lsblk命令现在应该返回类似这样的内容

lsblk 
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda    8:0    0 298.1G  0 disk
sda1   8:1    0 298.1G  0 part /
loop0  7:0    0     5G  0 loop /NewDrive

就是这样,没有数据丢失的风险或需要缩小。

要查看系统上使用的所有活动循环设备,您可以使用losetup

losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         1  0 /path/TO/NewDrive

答案2

我的猜测:“不格式化”你的意思是“不丢失当前存储在我的SSD上的数据”。如果我的猜测是正确的:是的,这样做是可能的。您可以重新分区当前的可用空间。

开始之前:建议在调整大小或移动分区之前创建整个磁盘或分区映像备份。

步骤(高级视图)是:

  • 首先缩小 sda1 上的文件系统。
  • 缩小分区 sda1。
  • 创建新分区。
  • 在新分区上创建新文件系统。

您可以使用命令行工具或使用图形工具归档所有内容,例如gparted

到目前为止,实现目标的最简单方法是启动 Linux live 介质(意味着:不要从 SSD 本身启动 Linux)并使用图形工具。

https://askubuntu.com/questions/89988学习如何做。

答案3

你绝对可以!请注意,我建议在执行此操作之前备份所有重要数据,以防万一。

我使用了gparted gui工具,它允许你缩小分区(是的,即使你当前正在使用它们,例如你的linux分区),你只需用鼠标缩小所需的分区并从空白空间创建一个分区。

相关内容