我已经开始使用一台同时安装了 Debian 和 Windows 7 的机器。但是,在安装一些程序后,我开始收到一条消息,指出空间不足。我知道系统总共有超过1TB的硬盘空间,并做了一些研究。看来根分区只有5GB。
有没有办法在不重新安装 Linux 的情况下为特定分区分配更多磁盘空间?
您可以在下面找到我执行的几个命令的结果:
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: 0x4a47e2fd
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 53507 429687500 7 HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3 53507 77826 195340289 5 Extended
Partition 3 does not end on cylinder boundary.
/dev/sda5 53507 53537 243712 83 Linux
/dev/sda6 53538 77826 195095552 8e Linux LVM
Disk /dev/sdb: 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: 0x4a47e2fe
Device Boot Start End Blocks Id System
/dev/sdb1 2 62261 500097657+ f W95 Ext'd (LBA)
/dev/sdb5 2 62261 500097656+ 7 HPFS/NTFS
Disk /dev/dm-0: 4999 MB, 4999610368 bytes
255 heads, 63 sectors/track, 607 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: 0x00000000
Disk /dev/dm-0 doesn't contain a valid partition table
Disk /dev/dm-1: 1996 MB, 1996488704 bytes
255 heads, 63 sectors/track, 242 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: 0x00000000
Disk /dev/dm-1 doesn't contain a valid partition table
Disk /dev/dm-2: 20.0 GB, 19998441472 bytes
255 heads, 63 sectors/track, 2431 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: 0x00000000
Disk /dev/dm-2 doesn't contain a valid partition table
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/HU-root 4.6G 4.4G 32M 100% /
tmpfs 2.0G 0 2.0G 0% /lib/init/rw
udev 2.0G 220K 2.0G 1% /dev
tmpfs 2.0G 356K 2.0G 1% /dev/shm
/dev/sda5 231M 22M 198M 10% /boot
/dev/mapper/HU-home 19G 751M 17G 5% /home
编辑(基于评论的额外信息):
# mount
/dev/mapper/HU-root on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda5 on /boot type ext3 (rw)
/dev/mapper/HU-home on /home type ext3 (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
# pvdisplay
--- Physical volume ---
PV Name /dev/sda6
VG Name HU
PV Size 186.06 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 47630
Free PE 41194
Allocated PE 6436
PV UUID wmEFAc-eSb6-r3qo-jIjy-vuKH-v9JK-eQfJFZ
作为旁注,我也很感激任何深入解释这些主题的好书的建议(文件系统,各种操作系统如何理解文件系统等)。
答案1
警告:在没有已知可恢复备份的情况下对文件系统执行任何操作都是不明智的。
如果您不确定自己/
是否干净,请不要执行以下任何步骤。如果您不确定,请运行以下命令(以 root 身份):
# touch /forcefsck
并重新启动。fsck
为了安全起见,这将完成所有分区的操作。
话虽如此,由于您使用 LVM 作为根设备和ext3
文件系统,因此您可以在线扩展它。开始之前请确保您已resize2fs
安装。如果没有,它通常位于名为 的包中e2fsprogs
。 (如果由于没有足够的空间而无法安装它,请尝试进行一些清理/var/log
。)
首先,使用(作为 root)扩展底层卷:
# lvextend -L+2G /dev/mapper/HU-root
(根据需要调整2G
部分 - 这是您要添加的空间量。)
然后您需要调整文件系统的大小。这可以通过以下方式在线完成resize2fs
:
# resize2fs /dev/mapper/HU-root
这可能需要几秒钟/几分钟。不要打扰。最后再重新启动一次,/forcefsck
如果您愿意的话,可以使用另一个重新启动。没有必要,但我还是经常这样做。
答案2
您的 PV 中确实有可用空间可分配给 / 分区。您可以使用以下命令来增加/dev/mapper/HU-root的空间。
lvextend -L +10G /dev/mapper/HU-root
e2resize /dev/mapper/HU-root
上述命令会将卷组中的 10G 添加到 HU 根逻辑卷。 e2resize 命令将“增长”ext3 文件系统以使用剩余的可用空间。
答案3
从lvdisplay
输出中选择您尝试调整大小/扩展的根分区的路径。