我正在运行 ubuntu 12.04 64bit。我使用 dd 命令将我的 80gb 驱动器(文件系统)克隆到干净的 500gb。它运行完美。之后,我取出 80gb 并将其替换为新的 500gb。它完美启动,整个文件系统与原先一样。但是,当我在目录内单击鼠标右键并单击属性或输入 df -h 时,它显示只有 10gb 可用空间。然而,在磁盘实用程序中,它将 500gb 显示为文件系统,似乎没有任何问题。我怎样才能让 ubuntu 看到新硬盘上有超过 10gb 的可用空间?
编辑:
这是我在 gparted 中得到的结果,也是在目录中单击鼠标右键并选择属性时得到的矛盾结果:
答案1
如果你复制了一个驱动器到另一个驱动器使用dd
,分区表会原封不动地从一个驱动器复制到另一个驱动器,因此所有分区的大小都与旧驱动器上的大小完全相同。新驱动器的其余部分是未分配的空间。
您需要从 Ubuntu LiveCD/USB 启动并gparted
使用调整分区大小。
以下是未分配空间的示例gparted
:
如果你dd
完成了整个设备到另一个,例如dd if=/dev/sda of=/dev/sdb
。如果您首先在目标驱动器上创建分区,然后复制分割从一个驱动器到另一个驱动器(类似dd if=/dev/sda1 of=/dev/sdb1
),则目标驱动器上的分区表是正确的(即它有一个~500Gb的分区),但是文件系统该分区上的大小与源驱动器上的大小相同。
要调整 ext4 分区的大小,您需要使用resize2fs
命令。
resize2fs [ -fFpPM ] [ -d debug-flags ] [ -S RAID-stride ] device [ size ]
The resize2fs program will resize ext2, ext3, or ext4 file systems. It can be used to enlarge or shrink an
unmounted file system located on device. If the filesystem is mounted, it can be used to expand the size
of the mounted filesystem, assuming the kernel supports on-line resizing. (As of this writing, the Linux
2.6 kernel supports on-line resize for filesystems mounted using ext3 and ext4.).
The size parameter specifies the requested new size of the filesystem. If no units are specified, the
units of the size parameter shall be the filesystem blocksize of the filesystem. Optionally, the size
parameter may be suffixed by one of the following the units designators: 's', 'K', 'M', or 'G', for 512
byte sectors, kilobytes, megabytes, or gigabytes, respectively. The size of the filesystem may never be
larger than the size of the partition. If size parameter is not specified, it will default to the size of
the partition.
请参阅man resize2fs
此处了解更多详情。