나는 이 질문을 읽었습니다.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에 있음).
귀하의 경우 바로 뒤에 확장 파티션이 있기 때문에 확장이 매우 어렵습니다. 당신이 할 수 있는 일은 다음과 같습니다:
- /home 파일 시스템 축소
- 새 파티션을 위한 충분한 공간을 확보하기 위해 동일한 시작 블록을 사용하여 삭제하고 다시 생성
/dev/sda9
( )/home
- 파티션을 생성하고 ext4 파일 시스템을 생성한 후
/dev/sda1
거기에서 모든 것을 복사합니다. - 파티션에 있는 etc/fstab을 업데이트하고 파티션의 UUID를 업데이트한
/
다음update-grub
재부팅하고 새 항목을 선택해 보십시오.
크기 조정이 포함되지 않으므로 오류가 발생할 가능성이 덜한 또 다른 경로는 sda1 및 sda5의 데이터를 병합하고 sda1을 만드는 것입니다 /boot
.
- CD에서 부팅
/tmp/sda5에 sda5를 설치하고 다음을 수행하십시오.
mkdir /tmp/sda5/usr mv /tmp/sda5/* /tmp/sda5/usr
(물론 이것은
usr
스스로 움직일 수 없다는 불평을 하게 될 것입니다)sda1을 설치
/tmp/sda1
하고/tmp/sda1
다음을/tmp/sda5
제외한 모든 항목을 복사합니다./tmp/sda1/boot
- 디렉토리와 그
/tmp/sda1
내용을 제외한 모든 것을 삭제하십시오.boot
/usr
항목을 제거하고 (sda1)에 대한fstab
항목을 만듭니다 ./boot
/
fstab의 항목 업데이트- 실행하고
update-grub
boot.cfg의 메뉴 항목을 확인한 후 재부팅하세요.
두 경우 모두 dd
현재 상황을 복원할 수 있도록 시스템을 완전히 덤프(사용)하지 않고 이 작업을 시작 하지 마십시오..
새 디스크를 구입하여 그 위에 파티션 레이아웃(더 큰 디스크 포함 sda1
)을 만들고, 파일 시스템을 만들고, 개별 파티션 내용을 복사하고, fstab 및 boot.cfg
.
IMO는 또한 이런 방식으로 이 시스템을 설정한 사람들을 식별하고 그들이 실수를 회개하도록 노력해야 합니다.
답변2
루트 파티션을 확장할 수 있습니까? 예. 하지만 온라인으로 할 수는 없으며* Live CD나 USB 스틱에서 부팅해야 합니다. debian, fedora, kali 등 모든 배포판이 가능합니다.
*: 기술적으로는 가능하지만 복잡해질 수 있습니다.
물론 이렇게 하려면 공간이 필요합니다. LVM을 사용하지 않고 루트 파티션(sda1? sda8? sda9?) 바로 뒤의 디스크에서 빈 공간을 찾아야 합니다. 공유한 정보에 따르면 루트는 sd* 참조가 아닌 UUID에 의해 마운트되므로 이는 명확하지 않습니다. -blkid는 이 매핑을 보여줄 수 있습니다).
두 가지 옵션이 있습니다. - 확장 파티션에서 공간을 찾아 루트 파티션을 새 파티션으로 이동하거나, - 새 파티션 구성표를 다시 만들고 모든 데이터를 그 안으로 이동할 수 있는 예비 디스크를 사용합니다.
이 작업에는 많은 함정이 있으므로 작업을 수행하는 동안 디스크의 복제본을 유지하는 것이 좋습니다. 실패하면 언제든지 시작한 곳으로 돌아갈 수 있습니다.
나는 이것이 꽤 높은 수준이라는 것을 알고 있지만 문제는 여러 가지 방법으로 해결될 수 있습니다.