1. 이미지를 루프 장치로 마운트:
sudo losetup -fP disk_image.img
sudo losetup -a # 어떤 루프 장치가 할당되었는지 확인 (예: /dev/loop0)
2. Gparted 설치 및 진행:
sudo apt-get install gparted
sudo gparted /dev/loop0 # 위에서 확인한 루프 장치 사용
3. 파티션 크기 조정:
Gparted에서 파티션을 선택하고, 마우스 오른쪽 버튼을 클릭한 다음 "크기 조정/이동"을 선택함.
파티션 크기를 대상 디스크보다 작게 조정함.
조정 버튼을 클릭한 다음 '적용' 버튼을 클릭하여 변경사항을 적용함.
4. 변경사항 적용 후 이미지 마운트 해제
sudo losetup -d /dev/loop0
5. 이미지 크기 줄이기
파티션 크기를 줄인 후 전체 이미지 파일 크기도 줄여야함.
# 파티션 테이블 정보 확인
sudo fdisk -l /path/to/disk_image.img
# 마지막 섹터 위치 확인 후 약간의 여유를 두고 이미지 크기 조정
# 예: 마지막 섹터가 1000000이고 섹터 크기가 512바이트라면
sudo truncate --size=$[(1000000+10000)*512] /path/to/disk_image.img
ex)
이미지 크기: 477 GiB, 512110190592 바이트
파일 시스템: GPT
파티션 정보:
EFI 파티션: 512M (섹터 2048 - 1050623)
Linux 파티션: 466.7G (섹터 1050624 - 979734527)
sudo truncate --size=$[(979734527+2048)*512] "Disk Image of nvme0n1 (2024-07-07 1202).img"
파일 이름에 공백이 있으므로 따옴표로 감싸야 합니다.
6. 파티션 테이블 수정
sudo gdisk "Disk Image of nvme0n1 (2024-07-07 1202).img"
디스크 무결성 확인
Command (? for help): v
무결성 검사 후 새 파티션 테이블을 쓰고 GPT 헤더 수정
Command (? for help): w