我有一个包含可运行的 Ubuntu 系统的 emmc 内存。我想将其连接到我的 Ubuntu PC 并缩小 rootfs 分区,以便在产生的可用空间中创建一个新分区。我尝试使用 gparted(使用调整大小 GUI 并单击“应用”)和 fdisk,但文件系统损坏了。这是我使用 fdisk 的命令(rootfs 分区位于 /dev/sdb5 中):
- fdisk /dev/sdb
- d 5
- n
- 分区数:5
- 第一部分:默认
- 最后扇区:+12G
- 瓦
然后运行e2fsck /dev/sdb5
:
文件系统大小(根据超级块)为 3784187 个块 设备的物理大小为 3145728 个块 超级块或分区表可能已损坏!中止?
这些操作以前适用于 microSD 卡,而不是 emmc 内存。可能是什么原因?
答案1
fdisk
可用于操作分区表。但fdisk
不能操作分区中的内容。分区通常包含文件系统,在使用 减少分区大小之前,需要减少文件系统的大小fdisk
。
- 增加分区大小:
fdisk
首先使用然后resize2fs
- 减少分区大小:
resize2fs
先使用然后fdisk
如果您已经在新的未分配空间中创建了新的格式化分区,您的文件系统将被损坏,可能无法修复。您的文件系统的一部分将被覆盖。
如果您尚未创建新的格式化分区,您可以尝试修复损坏:
使用 增加分区的大小fdisk
,至少将其增加到原来的大小,以便文件系统可以正确放入其中,然后e2fsck
再次在该分区上运行以检查文件系统的一致性。如果没问题,您可以重新开始,首先使用 调整文件系统的大小,然后在第二步中resize2fs
使用 减小分区的大小。fdisk
也许最好使用 GParted 来管理您的分区,Gparted 会处理所有必要的步骤并自动将文件系统大小调整到新的分区大小。