Linux를 제거하고 다시 설치하거나 데이터를 잃지 않고 루트 파티션의 크기를 조정할 수 있습니까?


17

데비안과 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.) 또한 pvdisplayLVM을 사용하는 것처럼 보이기 때문에 (root로) 의 출력 이 흥미로울 것입니다.
Mat

언급 한 명령의 결과가 추가되었습니다! 감사합니다 :)
F1234k

당신이하려는 것은 가능하지만 LVM 만 사용합니다. 표시 한 df 디스플레이가 LVM을 사용하고있는 것 같습니다. 볼륨 그룹 "HU"의 모든 공간이 사용되면 먼저 "홈"논리 볼륨을 축소해야합니다. 축소는 파일 시스템을 늘리는 것보다 데이터 손실 측면에서 훨씬 위험한 작업입니다.
jordanm

훨씬 쉽고 안전한 솔루션 : 예를 들어 /usr, 새 파티션을 만들고 현재 / usr을 여기로 옮기십시오.
hahaamu

답변:


17

경고 : 알려진 복구 가능한 백업없이 파일 시스템에 작업을 수행하는 것은 좋지 않습니다.


/깨끗한 지 확실하지 않은 경우 다음 단계를 수행하지 마십시오 . 확실하지 않은 경우 다음을 루트로 실행하십시오.

# touch /forcefsck

재부팅합니다. 이것은 fsck안전한 파티션에 있도록 모든 파티션 중 하나 를 수행합니다 .


즉, 루트 장치 및 ext3파일 시스템에 LVM을 사용 하므로 온라인으로 확장 할 수 있습니다. 시작하기 전에 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

이것은 LVM에서만 작동하며 실제 파티션의 크기를 조정하려는 것처럼 보입니다.
Mat

6

/ 파티션에 할당하기 위해 PV에 사용 가능한 공간이 있습니다. 다음을 사용하여 / dev / mapper / HU-root의 공간을 늘릴 수 있습니다.

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

위 명령은 볼륨 그룹에서 HU-root 논리 볼륨으로 10G를 추가합니다. e2resize 명령은 나머지 여유 공간을 사용하기 위해 ext3 파일 시스템을 "확장"합니다.


2
나는 그것을 즉시 얻지 못한 유일한 사람이 아닐 수도 있습니다 : PV = "Physical Volume"
Étienne Reinstate Monica

이것은 나를 위해 작동하지 않습니다 :Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie

@ 8bitjunkie sda1는 논리적 볼륨이 아닌 물리적 장치입니다.
jordanm

-1

로부터 lvdisplay출력 크기를 조정하려고하는 루트 파티션의 경로를 선택 / 확장합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.