/를 새 파티션으로 이동

/를 새 파티션으로 이동

내 노트북에는 Windows 7과 Debian 듀얼 부팅이 있습니다. Debian 측 공간이 제한되어 있으므로 Windows 파티션을 삭제하고 전체 컴퓨터를 Debian용으로 사용하고 싶습니다. 나는 현재 데비안의 단일 파티션(스왑 포함)을 사용하고 있지만 /home을 새로운 배열로 자체 파티션으로 나누고 싶습니다.

Windows 파티션은 모든 Debian 파티션보다 크기 때문에 현재 Windows 파티션에는 전체 Linux 설치에 충분한 공간이 있습니다. 그래서 제가 할 일은 다음과 같습니다.

  1. 60GB Windows 7 파티션 /sda2를 두 개의 ext4 파티션(/용 15GB, /home용 45GB)이 있는 확장 파티션으로 다시 포맷합니다.
  2. 현재 / 및 /home 디렉토리를 새 파티션으로 이동/복제합니다.
  3. 50GB의 공간을 확보하려면 데비안이 설치된 파티션을 다시 포맷하세요.
  4. 새 확장 파티션과 그 안에 있는 /home 파티션의 크기를 조정하여 3단계에서 확보한 50GB를 통합합니다.
  5. 마지막으로 스왑을 위해 2GB를 따로 확보해 두었습니다.

나는 fdisk -l아래에 내 것을 게시했습니다.

내 질문:

  1. 이것이 현명한 접근 방식입니까?
  2. 2단계로 어떻게 진행하나요? 다시 설치하지 않고 / 디렉토리를 이동할 수 있나요?
  3. 처음이 아닌 파티션의 끝을 이동하여 크기를 조정하므로 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을 사용하는 것이 좋습니다. 전환하려면 다음과 같이 하세요.

  1. 기존 /dev/sda2(Windows 파티션)에 물리 볼륨(pvcreate)을 생성합니다.
  2. /dev/sda2(vgcreate)만 포함하는 볼륨 그룹을 생성합니다.
  3. /합계를 보관할 논리 볼륨을 생성합니다 /home(분할해야 하는 이유는 무엇입니까? 분할할 필요가 없습니다.) (lvcreate)
  4. mkfs 두 개의 새로운 논리 볼륨(장치: /dev/mapper/vgname-lvname)
  5. 아직 복구 디스크를 사용하지 않았다면 부팅 디스크로 부팅하세요(Debian 설치 디스크를 사용하거나 터미널로 전환하거나 Ubuntu 디스크를 사용할 수 있습니다).
  6. 새 논리 볼륨을 마운트합니다(또는 분할하지 않기로 결정한 경우 하나만). 둘 다 설치하는 경우 home을 새 루트 디렉터리(예: /new-root/ 및 /new-root/home)에 설치하고 이전 rootfs도 어딘가에 설치해야 합니다.
  7. tar를 사용하여 파일을 복사하십시오. 그것은 마치( cd /old-root && tar --one-file-system -c . ) | ( cd /new-root && tar vx )
  8. 새로운 루트 파일 시스템으로 chroot하고 다음을 수행합니다.
    1. /etc/fstab을 변경하여 올바른 루트 파일 시스템 제공
    2. /proc, /sys 및 /boot 마운트(chroot 내부)
    3. update-initramfs -u
    4. 그럽 업데이트
    5. 편집증이 있는 경우 생성된 /boot/grub/grub.cfg를 보고 새 rootfs가 선택되었는지 확인하세요.
    6. chroot 종료
  9. 마지막으로 마운트한 파일 시스템(으로 시작 /new-root/{proc,sys,boot})을 마운트 해제하고 재부팅합니다.
  10. 새 루트 파일 시스템으로 부팅했는지 확인합니다. 예를 들어 /proc/mounts데이터가 존재하는지 확인하세요. (백업도 가지고 계시죠?) 아주 중요해요.
  11. 이것이 돌아올 수 없는 지점이다. 다음 단계에서는 이전 파티션을 파괴합니다.
  12. 이제 이전 파티션을 생성한 다음 이를 볼륨 그룹(vgextend)에 추가할 수 있습니다.
  13. 이제 lvextend 및 resize2fs(또는 파일 시스템에 적합한 도구)를 사용하여 논리 볼륨의 크기를 조정할 수 있습니다 /. /home이는 시스템이 실행되는 동안 온라인으로 수행할 수 있습니다.

LVM에 있으면 향후 디스크 변경 사항이 발생합니다.많은더 쉬워졌습니다. LVM 명령을 사용하면 시스템이 실행되는 동안에도 거의 모든 디스크 변경을 수행할 수 있습니다.

(참고: 이 작업을 수행한 지 꽤 시간이 흘렀고 한두 단계를 놓쳤을 수도 있지만, 치명적인 실수는 하나도 놓치지 않았다고 확신합니다. 물론 원본 설치와 데이터는 24시간이 될 때까지 그대로 유지됩니다. 새로운 rootfs로 부팅된 것을 확인한 후)

관련 정보