我最近使用 SysRescCD 中的 gparted 和 partimage
- 制作包含我的 Ubuntu 安装的分区的备份映像,
- 删除了除原始 Windows 分区之外的所有分区
- 减小了 Win7 分区的大小
- 使用所有未分配的空间创建扩展分区
- 在扩展分区内,创建一个 ext3 分区和一个交换分区
- 将备份映像恢复到 ext3 分区
经过这些操作后,ext3 分区比我开始时更大,但文件系统仍然报告旧的大小:
$ fdisk -l
Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1549f232
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 102400 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2 13 12772 102487666 7 HPFS/NTFS
/dev/sda3 12773 76258 509947904 5 Extended
/dev/sda4 76258 77826 12591104 7 HPFS/NTFS
/dev/sda5 12773 25597 103010304 83 Linux
/dev/sda6 25597 27016 11395072 82 Linux swap / Solaris
/dev/sda7 27016 59024 257102848 83 Linux
扩展分区 /dev/sda3 包含 /dev/sda5、/dev/sda6/ 和 /dev/sda7。Ubuntu 映像位于 /dev/sda5 上 - 与它原来的分区相同。操作之前 /dev/sda5 为 50GB,现在为 98GB。
$ sudo df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 50G 46G 2.3G 96% /
none 2.9G 276K 2.9G 1% /dev
none 3.0G 2.1M 3.0G 1% /dev/shm
none 3.0G 372K 3.0G 1% /var/run
none 3.0G 0 3.0G 0% /var/lock
none 50G 46G 2.3G 96% /var/lib/ureadahead/debugfs
/dev/sdb1 597G 170G 427G 29% /media/My Book__
/dev/sda7 242G 8.2G 221G 4% /media/012583af-4e10-4bec-84b2-d691c3fd5f96
我正在寻求建议,如何让 /dev/sda5 上的 ext3 充分利用 98G。
答案1
您要尝试做的是调整文件系统的大小。基于映像的备份保留了原始分区上的所有元数据,您注意到其中还包括大小。执行此操作的程序是resize2fs
。您已经完成了扩大分区的繁重工作,因此应该会很快完成。由于这是您的根分区,因此必须从单用户模式完成此操作(或者可能从某种 ISO-Linux 启动,我不确定)。
resize2fs /dev/sda5
这就是你所需要做的全部了。
答案2
事实上,当您复制分区的备份时,它会保留(正如您所注意到的)原来的大小,因为文件系统有一些字段用于该大小。我建议您不要复制整个分区,而是在 ext3 中重新格式化 98G 的分区,然后将文件复制到新分区中。为避免某些权限问题,请使用命令 cp -pr(p 标志表示保留权限,r 表示递归)