我的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)并使用图形工具。
答案3
你绝对可以!请注意,我建议在执行此操作之前备份所有重要数据,以防万一。
我使用了gparted gui工具,它允许你缩小分区(是的,即使你当前正在使用它们,例如你的linux分区),你只需用鼠标缩小所需的分区并从空白空间创建一个分区。