라즈베리파이 SD 카드 이미지를 Windows에서 PiShrink로 축소하려면 WSL 2(Windows Subsystem for Linux) 환경을 사용해야 합니다.
WSL 설치는 아래 포스트에 정리해두었으니 그대로 보고 하시면 됩니다.
WSL2 Ubuntu20.04 설치하기
WSL 설치가 완료되었다면 아래의 명령어를 입력하여 img파일의 용량을 줄이면 됩니다.
Ubuntu/Debian 터미널에서 아래 명령어 실행:
sudo apt update && sudo apt install -y wget parted gzip pigz xz-utils udev e2fsprogs
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
chmod +x pishrink.sh
sudo mv pishrink.sh /usr/local/bin
Debian의 경우 아래 명령어 실행:
sudo ln -s /proc/mounts /etc/mtab
라즈베리파이 이미지 파일(예: raspberrypi.img)을 Windows의 C:\RPI 등 원하는 폴더에 복사(없으면 파일 생성)
WSL에서 이미지 파일 접근
cd /mnt/c/RPI
(폴더 경로는 본인 환경에 맞게 변경)
sudo pishrink.sh raspberrypi.img # 해당 명령어는 /mnt/c/RPI 파일에서 실행해야함.
압축까지 함께 하려면 아래와 같이 실행:(지화 프로젝트에서는 압축하면 안됩니다.)
sudo pishrink.sh -z raspberrypi.img


위의 사진처럼 64GB인 파일이

24GB로 줄었습니다.
축소된 이미지 파일(예: raspberrypi.img 또는 raspberrypi.img.gz)을 Rufus, Win32 Disk Imager 등으로 SD 카드에 복제
이제 더 작은 용량의 SD 카드에도 복제가 가능합니다
주의) 용량을 줄이게 되면 기존 64기가 파일을 대상으로 용량을 줄이기가 진행되기에 64기가 파일 원본이 필요하다면 백업을 만들어둬야합니다.
sudo pishrink.sh 이미지파일명.img 새이미지파일명.img
# 두 번째 인자에 파일명을 지정하면 원본 이미지는 그대로 두고, 새 파일로 작업 결과를 저장합니다
xz 압축 사용
sudo pishrink.sh -Z 이미지파일명.img
# -Z 옵션을 사용하면 xz 압축이 적용되어 .img.xz 파일이 만들어집니다.
병렬 압축 (멀티코어 활용)
sudo pishrink.sh -a -z 이미지파일명.img
# -a 옵션을 추가하면 gzip/pigz가 병렬로 동작하여 압축 속도가 빨라집니다.