我有一块 400GB 的磁盘,其中有一个 320GB 的 ext4 分区。我想扩大 ext4 分区以使用剩余空间(80GB 的可用空间)。
+--------------------------------+--------+
| ext4 | Free |
+--------------------------------+--------+
我怎样才能做到这一点?
我见过有人使用它resize2fs
,但我不明白它是否会调整分区大小。
另一个解决方案是使用,fdisk
但我不想删除我的分区并丢失数据。我怎样才能简单地增加分区而不丢失任何文件?
注意:我说的是没有 LVM 的未安装数据分区,并且我有备份,但我想避免花费一些时间进行恢复。
答案1
您必须先卸载分区。如果您无法卸载它(例如它是您的根分区或系统需要运行的其他分区),请使用类似系统救援光盘反而。
运行
parted
,或者gparted
如果您更喜欢 GUI,然后调整分区大小以使用额外空间。我更喜欢它,gparted
因为它为您提供了一个很好的图形表示,非常类似于您在问题中绘制的图形。resize2fs /dev/whatever
e2fsck /dev/whatever
(只是为了了解你是否安全)重新挂载您的分区。
虽然我从未见过这种情况失败,但请先备份您的数据!
答案2
使用growpart
示例resize2fs
:
请注意以下情况下和之间的空格:
/dev/sda
1
growpart /dev/sda 1
这是两个命令:
growpart /dev/sda 1
resize2fs /dev/sda1
$ growpart /dev/sda 1
CHANGED: partition=1 start=2048 old: size=39999455 end=40001503 new: size=80000991,end=80003039
$ resize2fs /dev/sda1
resize2fs 1.45.4 (23-Sep-2019)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/sda1 is now 10000123 (4k) blocks long.
如果这没有按预期工作,则可能是由于扩展分区造成的,在这种情况下应该适用以下答案:https://unix.stackexchange.com/a/687489/124109
答案3
是的,如果您的分区已经排序,则可以在线扩展 EXT4 fs。您的分区排序了吗?您有 LVM 吗?
sudo resize2fs /dev/drive_to_grow
fdisk
确实会调整分区大小,但如果这是根分区(或者事实上是任何已安装的分区),则必须先卸载它。因此最有可能离线!
与任何与磁盘/ fs 操作相关的内容一样,我强烈建议进行备份和测试,并充分了解恢复过程。
答案4
接受的答案有些过时:最好调整 ext4 文件系统的大小在线的而不是离线,因为在线扩展代码路径比离线扩展代码路径更常用。
更困难的事情可能是扩展底层分区,除非你使用 LVM和您的卷组中有可用空间。要在线扩展分区,您可以使用fdisk
或parted
;然后,您必须运行kpartx <device>
以通知内核更改。如果使用 LVM,您需要在卷pvresize
之前添加刚刚调整大小的分区。lvresize
最后,您可以发布resize2fs
您的文件系统。