Raspberry Pi 4 にインストールしている Ubuntu Server をバックアップして、別の microSD カードにリストアする手順。
Ubuntu PC 上で、dd コマンドでバックアップ、PiShrink でイメージの縮小化、dd コマンドでリストア します。
1. バックアップ
まず、Raspberry Pi 4 から microSD カードを抜いて、Ubuntu PC に挿入して、dd コマンドでバックアップ。
自動マウントされる場合は、unmount してから作業。
# dd if=/dev/mmcblk0 of=/home/raspi.img status=progress
2. イメージサイズの縮小化
PiShrink を使用。
https://github.com/Drewsif/PiShrink
# wget wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh # chmod 755 pishrink.sh # ./pishrink.sh /home/raspi.img pishrink.sh v0.1.2 pishrink.sh: Gathering data ... pishrink.sh: Checking filesystem ... writable: Inode 2809 extent tree (at level 1) could be shorter. IGNORED. writable: Inode 28025 extent tree (at level 1) could be shorter. IGNORED. writable: Inode 40963 extent tree (at level 1) could be shorter. IGNORED. writable: 203145/926640 files (0.2% non-contiguous), 2164496/3823739 blocks resize2fs 1.45.5 (07-Jan-2020) pishrink.sh: Shrinking filesystem ... resize2fs 1.45.5 (07-Jan-2020) Resizing the filesystem on /dev/loop16 to 2346988 (4k) blocks. Begin pass 2 (max = 909346) Relocating blocks XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Begin pass 3 (max = 117) Scanning inode table XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Begin pass 4 (max = 26342) Updating inode references XXXXXXXXXXXXXXXXXXXXXXXX^HXXXXXXXXXXXXXXXX The filesystem on /dev/loop16 is now 2346988 (4k) blocks long. pishrink.sh: Shrinking image ... pishrink.sh: Shrunk raspi.img from 15G to 9.3G ...
3. リストア
microSD カードを入れ替えて、リストア。
# dd if=/home/raspi.img of=/dev/mmcblk0 status=progress
● raspberry pi, ubuntu server, バックアップ, backup, リストア, restore, PiShrink, pishrink.sh, 縮小化, shrink