在使用樹莓派(Raspberry Pi)時,很多人會透過 dd 或相關工具把整張 SD 卡完整備份成映像檔(.img)。然而這樣的備份大小會等同於 SD 卡容量,即使實際使用空間只有幾 GB,32GB 或 64GB 的卡片仍然會生成同等大小的檔案。這樣的映像檔不僅佔用大量儲存空間,還會讓壓縮與寫回 SD 卡的速度變慢。
PiShrink 是一個開源的 bash 腳本,可以自動縮小映像檔,並確保在下次開機時會自動擴展至 SD 卡最大可用空間。這樣能大幅減少備份檔案大小,方便壓縮、傳輸與儲存。對於需要經常備份樹莓派環境或分發系統映像的使用者來說,PiShrink 是一個非常實用的工具。
功能與參數
PiShrink 提供了豐富的參數選項,方便針對不同需求進行調整:
| 參數 | 用途說明 |
|---|---|
| -s | 在首次開機時不要自動擴展檔案系統。 |
| -v | 輸出更詳細的訊息,方便觀察過程。 |
| -n | 停用自動檢查新版 PiShrink 的功能。 |
| -r | 若一般檔案系統修復失敗,使用進階修復選項。 |
| -z | 縮小完成後使用 gzip 壓縮映像檔,副檔名會加上 .gz。 |
| -Z | 縮小完成後使用 xz 壓縮映像檔,副檔名會加上 .xz。 |
| -a | 在壓縮時使用多核心並行處理,加速 gzip 或 xz 的壓縮速度。 |
| -d | 輸出 debug 訊息至 pishrink.log,方便除錯與問題分析。 |
Linux 環境安裝與使用
在 Debian 或 Ubuntu 系統中,先安裝必要套件:
sudo apt update && sudo apt install -y wget parted gzip pigz xz-utils udev e2fsprogs
下載並安裝 PiShrink:
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
chmod +x pishrink.sh
sudo mv pishrink.sh /usr/local/bin
假設映像檔名稱為 pi.img,執行方式如下:
sudo pishrink.sh pi.img
若想保留原始檔案,並將縮小後的輸出存成另一個檔案,可以指定第二個檔名:
sudo pishrink.sh pi.img pi_shrunk.img
如果需要壓縮,可以搭配 -z 或 -Z,例如:
sudo pishrink.sh -z pi.img
sudo pishrink.sh -aZ pi.img
在 Windows 使用 PiShrink
Windows 環境可以透過 WSL(Windows Subsystem for Linux)執行 PiShrink。安裝好 WSL 並進入 Linux 環境後,使用方式與 Linux 相同。Windows 磁碟會掛載在 /mnt/ 路徑下,例如 C 槽會是 /mnt/c/。因此若你的映像檔放在桌面,可以這樣執行:
cd /mnt/c/Users/你的使用者名稱/Desktop
sudo pishrink.sh raspbian.img
如此一來就能直接縮減並壓縮 Windows 桌面上的映像檔,無須額外轉移檔案,非常方便。
在 macOS 使用 PiShrink
macOS 使用者則可以透過 Docker 來執行。先安裝 Docker Desktop,接著 clone 原始碼並建立映像:
git clone https://github.com/Drewsif/PiShrink && cd PiShrink
docker build -t pishrink .
建立 alias,方便之後執行:
echo "alias pishrink='docker run -it --rm --privileged=true -v $(pwd):/workdir pishrink'" >> ~/.bashrc && source ~/.bashrc
進入存放映像檔的資料夾後,直接執行即可:
pishrink raspbian.img

▲ PiShrink 的官方 GitHub 介紹頁面,顯示了完整參數與使用方式。透過這些選項,可以針對不同需求靈活調整縮減與壓縮方式。

▲ 在 Windows WSL 中透過 /mnt/c/ 進入桌面資料夾並執行 PiShrink 的實例。從輸出結果可以看到映像檔縮小與處理過程,操作方式與 Linux 完全一致。如果縮小後檔案仍很大,可再考慮透過 gzip 或 xz 進行壓縮。
《上一篇》30-Meter SRTM Tile Downloader:下載 NASA 全球 30 公尺高程資料
《下一篇》Qwen Chat:線上免費體驗 Qwen-Image-Edit 為任一角色換裝|AI 換裝工具推薦 









留言區 / Comments
萌芽論壇