PiShrink:自動縮減樹莓派映像檔案大小

2025/09/23 158 1 軟體介紹 , 物聯網
■ 軟體檔案 ■
軟體名稱
PiShrink
軟體類別
命令列工具
軟體性質
自由軟體
軟體下載
請到官方網站下載!
支援系統
Windows、macOS、Linux
支援語言
英文

在使用樹莓派(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 進行壓縮。

贊助廣告 ‧ Sponsor advertisements

留言區 / Comments

萌芽論壇