Debian Linux에서 루트 파티션을 확장하는 방법(LVM을 사용하여 생성되지 않음)

Debian Linux에서 루트 파티션을 확장하는 방법(LVM을 사용하여 생성되지 않음)

나는 이 질문을 읽었습니다.Linux를 제거하고 다시 설치하지 않고(또는 데이터 손실) 루트 파티션의 크기를 조정할 수 있습니까?내가 묻기 전에. 하지만 루트 파티션을 생성할 때 LVM을 사용하지 않기 때문에 연결된 질문에 대한 해결책이 내 문제에 적용되는지 잘 모르겠습니다.

저는 Debian Linux 배포판을 사용하고 있습니다.CrunchBang, 내 노트북에 관한 도움이 될 수 있는 주요 정보는 다음과 같습니다.
*@*:~$ uname -a
Linux * 3.2.0-4-686-pae #1 SMP Debian 3.2.60-1+deb7u1 i686 GNU/Linux
*@*:~$ sudo df -h
[sudo] password for *: 
Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                  323M  259M   48M  85% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   294M  636K  294M   1% /run
/dev/disk/by-uuid/da3f8ae3-c79f-4025-accb-1f64bf59ba84  323M  259M   48M  85% /
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
tmpfs                                                   1.8G   43M  1.7G   3% /run/shm
/dev/sda9                                               442G   15G  404G   4% /home
/dev/sda8                                               368M   11M  339M   3% /tmp
/dev/sda5                                               8.3G  6.8G  1.1G  87% /usr
/dev/sda6                                               2.8G  500M  2.2G  19% /var

*@*:~$ sudo fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005d608

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      684031      340992   83  Linux
/dev/sda2          686078   976771071   488042497    5  Extended
/dev/sda5          686080    18262015     8787968   83  Linux
/dev/sda6        18264064    24121343     2928640   83  Linux
/dev/sda7        24123392    36278271     6077440   82  Linux swap / Solaris
/dev/sda8        36280320    37058559      389120   83  Linux
/dev/sda9        37060608   976771071   469855232   83  Linux


*@*:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=217630,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=300952k,mode=755)
/dev/disk/by-uuid/da3f8ae3-c79f-4025-accb-1f64bf59ba84 on / type ext4 (rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1817380k)
/dev/sda9 on /home type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
/dev/sda8 on /tmp type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
/dev/sda5 on /usr type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
/dev/sda6 on /var type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
gvfs-fuse-daemon on /home/min/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

*@*:~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda1 during installation
UUID=da3f8ae3-c79f-4025-accb-1f64bf59ba84 /               ext4    errors=remount-ro 0       1
# /home was on /dev/sda9 during installation
UUID=a832e353-d0fc-4e87-81fa-d08c77f84e81 /home           ext4    defaults        0       2
# /tmp was on /dev/sda8 during installation
UUID=5f3e0eab-4f75-44a1-81af-c450d4ff301d /tmp            ext4    defaults        0       2
# /usr was on /dev/sda5 during installation
UUID=b4c895ff-cb26-4c65-bcd7-3f6cd986756e /usr            ext4    defaults        0       2
# /var was on /dev/sda6 during installation
UUID=8bedb184-389f-4295-9612-c28a94c81b1e /var            ext4    defaults        0       2
# swap was on /dev/sda7 during installation
UUID=976ec3fe-7b8e-436b-8c52-05be582f4e32 none            swap    sw              0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
#/dev/sdb4       /media/usb0     auto    rw,user,noauto  0       0

*@*:~$ sudo vgdisplay
  No volume groups found
*@*:~$ sudo lvdisplay
  No volume groups found

누군가가 나에게 참고할 수 있는 제안이나 정보를 제공할 수 있기를 바랍니다. 감사합니다~

답변1

루트 파일 시스템은 /dev/sda1에 있는 것 같습니다(제공한 정보 덤프 사이에 UUID da3f8ae3-c79f-4025-accb-1f64bf59ba84가 있는 파티션에 대한 유용한 정보는 제공되지 않았습니다. 완전히 다른 파티션에 있을 수 있습니다) CD에 있음).

귀하의 경우 바로 뒤에 확장 파티션이 있기 때문에 확장이 매우 어렵습니다. 당신이 할 수 있는 일은 다음과 같습니다:

  1. /home 파일 시스템 축소
  2. 새 파티션을 위한 충분한 공간을 확보하기 위해 동일한 시작 블록을 사용하여 삭제하고 다시 생성 /dev/sda9( )/home
  3. 파티션을 생성하고 ext4 파일 시스템을 생성한 후 /dev/sda1거기에서 모든 것을 복사합니다.
  4. 파티션에 있는 etc/fstab을 업데이트하고 파티션의 UUID를 업데이트한 /다음 update-grub재부팅하고 새 항목을 선택해 보십시오.

크기 조정이 포함되지 않으므로 오류가 발생할 가능성이 덜한 또 다른 경로는 sda1 및 sda5의 데이터를 병합하고 sda1을 만드는 것입니다 /boot.

  1. CD에서 부팅
  2. /tmp/sda5에 sda5를 설치하고 다음을 수행하십시오.

    mkdir /tmp/sda5/usr
    mv /tmp/sda5/* /tmp/sda5/usr
    

    (물론 이것은 usr스스로 움직일 수 없다는 불평을 하게 될 것입니다)

  3. sda1을 설치 /tmp/sda1하고 /tmp/sda1다음을 /tmp/sda5제외한 모든 항목을 복사합니다./tmp/sda1/boot

  4. 디렉토리와 그 /tmp/sda1내용을 제외한 모든 것을 삭제하십시오.boot
  5. /usr항목을 제거하고 (sda1)에 대한 fstab항목을 만듭니다 ./boot
  6. /fstab의 항목 업데이트
  7. 실행하고 update-grubboot.cfg의 메뉴 항목을 확인한 후 재부팅하세요.

두 경우 모두 dd현재 상황을 복원할 수 있도록 시스템을 완전히 덤프(사용)하지 않고 이 작업을 시작 하지 마십시오..

새 디스크를 구입하여 그 위에 파티션 레이아웃(더 큰 디스크 포함 sda1)을 만들고, 파일 시스템을 만들고, 개별 파티션 내용을 복사하고, fstab 및 boot.cfg.

IMO는 또한 이런 방식으로 이 시스템을 설정한 사람들을 식별하고 그들이 실수를 회개하도록 노력해야 합니다.

답변2

루트 파티션을 확장할 수 있습니까? 예. 하지만 온라인으로 할 수는 없으며* Live CD나 USB 스틱에서 부팅해야 합니다. debian, fedora, kali 등 모든 배포판이 가능합니다.

*: 기술적으로는 가능하지만 복잡해질 수 있습니다.

물론 이렇게 하려면 공간이 필요합니다. LVM을 사용하지 않고 루트 파티션(sda1? sda8? sda9?) 바로 뒤의 디스크에서 빈 공간을 찾아야 합니다. 공유한 정보에 따르면 루트는 sd* 참조가 아닌 UUID에 의해 마운트되므로 이는 명확하지 않습니다. -blkid는 이 매핑을 보여줄 수 있습니다).

두 가지 옵션이 있습니다. - 확장 파티션에서 공간을 찾아 루트 파티션을 새 파티션으로 이동하거나, - 새 파티션 구성표를 다시 만들고 모든 데이터를 그 안으로 이동할 수 있는 예비 디스크를 사용합니다.

이 작업에는 많은 함정이 있으므로 작업을 수행하는 동안 디스크의 복제본을 유지하는 것이 좋습니다. 실패하면 언제든지 시작한 곳으로 돌아갈 수 있습니다.

나는 이것이 꽤 높은 수준이라는 것을 알고 있지만 문제는 여러 가지 방법으로 해결될 수 있습니다.

관련 정보