是否可以在不卸载和重新安装Linux(或丢失数据)的情况下调整根分区的大小?


17

我已经开始使用同时安装了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

作为旁注,我也希望获得对能很好地解释这些主题的好书的建议(文件系统,各种操作系统如何理解文件系统等)。


您是哪种文件系统/?(如果您不知道mount/etc/fstab则发布的输出或内容。)pvdisplay由于您似乎正在使用LVM ,(作为root)的输出也会很有趣。
2012年

您提到的命令结果已添加!谢谢:)
F1234k 2012年

您尝试执行的操作是可能的,但只能使用LVM。您显示的df显示屏似乎正在使用LVM。如果使用了卷组“ HU”中的所有空间,则首先需要收缩“ home”逻辑卷。就数据丢失而言,收缩是比扩展文件系统更为危险的操作。
jordanm 2012年

更简单,更安全的解决方案:创建一个新分区,例如/usr,然后将当前的/ usr移到那里。
hhaamu'1

Answers:


17

警告:不建议您对文件系统执行任何操作而没有已知可恢复的备份是不明智的。


如果不确定自己/是否干净,请不要执行以下任何步骤。如果不确定,请以root用户身份运行以下命令:

# touch /forcefsck

然后重启。fsck出于安全考虑,这将对您所有的分区进行处理。


话虽这么说,因为您将LVM用于您的根设备和ext3文件系统,所以您可以在线扩展它。在开始之前,请确保已resize2fs安装。如果不是,则通常放在名为的程序包中e2fsprogs。(如果由于没有足够的空间而无法安装它,请尝试进行一些清理工作/var/log。)

首先,您使用(作为根)扩展基础卷:

# lvextend -L+2G /dev/mapper/HU-root

(根据需要调整2G零件-这是您要添加的空间量。)

然后,您需要调整文件系统的大小。可以通过以下方式在线完成resize2fs

# resize2fs /dev/mapper/HU-root

这可能需要几秒钟/分钟。不要打扰 最后/forcefsck,如果需要,可以重新启动一次。没必要,但我还是经常这样做。


1
这对我不起作用:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie'5

这仅适用于LVM,似乎您正在尝试调整实际分区的大小。

6

您的PV中确实有可用空间可分配给/分区。您可以使用以下命令增加/ dev / mapper / HU-root的空间。

lvextend -L +10G /dev/mapper/HU-root
e2resize /dev/mapper/HU-root

上面的命令会将10G从您的卷组添加到HU根逻辑卷。e2resize命令将“增长” ext3文件系统以使用剩余的可用空间。


2
我可能不是唯一一个谁没有得到它立刻:PV =“物理卷”
艾蒂安恢复莫妮卡

这对我不起作用:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie'5

@ 8bitjunkie sda1是物理设备,而不是逻辑卷。
约旦

-1

lvdisplay输出中选择您要调整大小/扩展的根分区的路径。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.