答案1
在你的情况下,我不相信 resize2fs 在没有严肃的游戏的情况下会起作用,因为它假设开始不会移动。可能还有其他工具没有此限制,但它们肯定必须在卸载目标(live cd 等)的情况下完成。传统的解决方案是在间隙中添加另一个分区,对其进行格式化并在文件系统级别移动内容(可能将其用作 /var)。
如果您决定调整分区大小,可以手动完成。这里有龙!
- 进行备份并验证其是否有效。
- 因为尝试如此危险的事情而检查一下你的头部。
- 从 Live CD 启动。
- 不挂载文件系统。
- 运行 fsck。
- 记下间隙的开始和结束块以及您正在修改的分区。
- 编辑分区表而不移动任何数据,使其具有与旧分区相同的结束块以及可以放入间隙的最早开始块。
- 使用 dd 将文件系统开头的前 2.88 GB 复制到分区开头。
- 重复下一个 2.88gb。
- 重复此操作,直至最后一份副本使用较小的尺寸完成。
- 运行 fsck。
- 运行 resize2fs。
- 运行 fsck。
- 检查引导加载程序。可能需要重新安装。
- 重新启动并祈祷它能正常工作。
答案2
resize2fs
是用于调整文件系统大小的工具,而不是底层块设备。在使用之前resize2fs
,您需要确保底层设备(/dev/sda7
在本例中)有更多可用空间。在正常使用中,文件系统的大小适合其底层设备;因此,通常,您需要先增大块设备,然后才能增大文件系统。
由于您在这里使用裸操作系统分区,因此这是一项有点复杂的工作。最好的可用选项可能是重新启动到 liveCD 并使用gparted
,如屏幕截图所示。 (调整正在运行的系统的根驱动器上的分区大小是可能的,但令人担忧。)要扩大分区,您需要空间来扩大它,要么是同一磁盘上已经空闲的空间,要么是通过缩小另一个分区而释放的空间。gparted
是最好的可用工具;它会自动将调整大小的请求转换为必需的 FS 收缩、分区收缩、移动、分区增长、FS 增长操作。事实上,由于它gparted
处理自己的 FS 操作,您甚至不需要手动运行resize2fs
。请注意,执行此操作可能需要很长时间;移动分区涉及逐块地将其所有数据从一个地方复制到另一个地方。
如果您打算定期执行此类操作,那么最好切换到 LVM。但这是一个单独的讨论。