내 노트북에는 Windows 7과 Debian 듀얼 부팅이 있습니다. Debian 측 공간이 제한되어 있으므로 Windows 파티션을 삭제하고 전체 컴퓨터를 Debian용으로 사용하고 싶습니다. 나는 현재 데비안의 단일 파티션(스왑 포함)을 사용하고 있지만 /home을 새로운 배열로 자체 파티션으로 나누고 싶습니다.
Windows 파티션은 모든 Debian 파티션보다 크기 때문에 현재 Windows 파티션에는 전체 Linux 설치에 충분한 공간이 있습니다. 그래서 제가 할 일은 다음과 같습니다.
- 60GB Windows 7 파티션 /sda2를 두 개의 ext4 파티션(/용 15GB, /home용 45GB)이 있는 확장 파티션으로 다시 포맷합니다.
- 현재 / 및 /home 디렉토리를 새 파티션으로 이동/복제합니다.
- 50GB의 공간을 확보하려면 데비안이 설치된 파티션을 다시 포맷하세요.
- 새 확장 파티션과 그 안에 있는 /home 파티션의 크기를 조정하여 3단계에서 확보한 50GB를 통합합니다.
- 마지막으로 스왑을 위해 2GB를 따로 확보해 두었습니다.
나는 fdisk -l
아래에 내 것을 게시했습니다.
내 질문:
- 이것이 현명한 접근 방식입니까?
- 2단계로 어떻게 진행하나요? 다시 설치하지 않고 / 디렉토리를 이동할 수 있나요?
- 처음이 아닌 파티션의 끝을 이동하여 크기를 조정하므로 4는 간단하다고 가정합니다. 이것이 맞습니까?
fdisk -l 디스크 /dev/sda: 120.0GB, 120034123776바이트 255개 헤드, 63개 섹터/트랙, 14,593개 실린더, 총 234441648개 섹터 단위 = 1 * 512 = 512바이트 섹터 섹터 크기(논리적/물리적): 512바이트/512바이트 I/O 크기(최소/최적): 512바이트/512바이트 디스크 식별자: 0x45689f01 장치 부팅 시작 끝 블록 ID 시스템 /dev/sda1 * 2048 616447 307200 7 HPFS/NTFS/exFAT /dev/sda2 616448 127768575 63576064 7 HPFS/NTFS/exFAT /dev/sda3 127770622 234440703 53335041 5 확장 /dev/sda5 127770624 230021119 51125248 83 리눅스 /dev/sda6 230023168 234440703 2208768 82 Linux 스왑 영역/Solaris
답변1
LVM을 사용하는 것이 좋습니다. 전환하려면 다음과 같이 하세요.
- 기존 /dev/sda2(Windows 파티션)에 물리 볼륨(pvcreate)을 생성합니다.
- /dev/sda2(vgcreate)만 포함하는 볼륨 그룹을 생성합니다.
/
합계를 보관할 논리 볼륨을 생성합니다/home
(분할해야 하는 이유는 무엇입니까? 분할할 필요가 없습니다.) (lvcreate)- mkfs 두 개의 새로운 논리 볼륨(장치: /dev/mapper/vgname-lvname)
- 아직 복구 디스크를 사용하지 않았다면 부팅 디스크로 부팅하세요(Debian 설치 디스크를 사용하거나 터미널로 전환하거나 Ubuntu 디스크를 사용할 수 있습니다).
- 새 논리 볼륨을 마운트합니다(또는 분할하지 않기로 결정한 경우 하나만). 둘 다 설치하는 경우 home을 새 루트 디렉터리(예: /new-root/ 및 /new-root/home)에 설치하고 이전 rootfs도 어딘가에 설치해야 합니다.
- tar를 사용하여 파일을 복사하십시오. 그것은 마치
( cd /old-root && tar --one-file-system -c . ) | ( cd /new-root && tar vx )
- 새로운 루트 파일 시스템으로 chroot하고 다음을 수행합니다.
- /etc/fstab을 변경하여 올바른 루트 파일 시스템 제공
- /proc, /sys 및 /boot 마운트(chroot 내부)
update-initramfs -u
- 그럽 업데이트
- 편집증이 있는 경우 생성된 /boot/grub/grub.cfg를 보고 새 rootfs가 선택되었는지 확인하세요.
- chroot 종료
- 마지막으로 마운트한 파일 시스템(으로 시작
/new-root/{proc,sys,boot}
)을 마운트 해제하고 재부팅합니다. - 새 루트 파일 시스템으로 부팅했는지 확인합니다. 예를 들어
/proc/mounts
데이터가 존재하는지 확인하세요. (백업도 가지고 계시죠?) 아주 중요해요. - 이것이 돌아올 수 없는 지점이다. 다음 단계에서는 이전 파티션을 파괴합니다.
- 이제 이전 파티션을 생성한 다음 이를 볼륨 그룹(vgextend)에 추가할 수 있습니다.
- 이제 lvextend 및 resize2fs(또는 파일 시스템에 적합한 도구)를 사용하여 논리 볼륨의 크기를 조정할 수 있습니다
/
./home
이는 시스템이 실행되는 동안 온라인으로 수행할 수 있습니다.
LVM에 있으면 향후 디스크 변경 사항이 발생합니다.많은더 쉬워졌습니다. LVM 명령을 사용하면 시스템이 실행되는 동안에도 거의 모든 디스크 변경을 수행할 수 있습니다.
(참고: 이 작업을 수행한 지 꽤 시간이 흘렀고 한두 단계를 놓쳤을 수도 있지만, 치명적인 실수는 하나도 놓치지 않았다고 확신합니다. 물론 원본 설치와 데이터는 24시간이 될 때까지 그대로 유지됩니다. 새로운 rootfs로 부팅된 것을 확인한 후)