RaspberryOSのGUI版にはSDCardCopyerという便利なモンがありますが、CLIでは使えません。
そこらへんを何とかするツールとしてrpi-cloneというのがあります
実際のところ
導入
aptでは入らないのでgitから
$ git clone https://github.com/billw2/rpi-clone.git
簡単に呼び出せるようにするためか、
バイナリを直接ぶっこむ方法を公式が推奨しております。
$ cd rpi-clone $ sudo cp rpi-clone rpi-clone-setup /usr/local/sbin
実行
まずSDカードの中身を確認します。
SDカードリーダーに焼き対象のSDカードを挿して、fdiskで実態を確認。
私の手元ではsda1に入っている様子
$ sudo fdisk -l ... Device Boot Start End Sectors Size Id Type /dev/sda1 8192 60456959 60448768 28.8G c W95 FAT32 (LBA)
挿しているのは一枚だけなので、以下の様に書き込みコマンドを実行。
"f"は初期化を強制、"p"はパーティションのサイズを変更。
後ろのは要らなかったかもしれない。
$ sudo rpi-clone -f -p 256M sda Booted disk: mmcblk0 31.0GB Destination disk: sda 31.0GB --------------------------------------------------------------------------- Part Size FS Label Part Size FS Label 1 /boot 256.0M fat32 -- 1 28.8G -- -- 2 root 28.6G ext4 rootfs --------------------------------------------------------------------------- == Initialize: IMAGE partition table - forced by option == 1 /boot (48.0M used) : RESIZE MKFS SYNC to sda1 2 root (3.1G used) : RESIZE MKFS SYNC to sda2 --------------------------------------------------------------------------- -p 256M : resize /boot to 524288 blocks of 512 Bytes. Run setup script : no. Verbose mode : no. -----------------------: ** WARNING ** : All destination disk sda data will be overwritten! -----------------------: ... =============================== Done with clone to /dev/sda Start - 01:53:37 End - 02:49:00 Elapsed Time - 55:23 Cloned partitions are mounted on /mnt/clone for inspection or customizing. Hit Enter when ready to unmount the /dev/sda partitions ... unmounting /mnt/clone/boot unmounting /mnt/clone ===============================|
というわけで、RasPi4B+の8Gですら約一時間かかりました。
3B+だと三時間とか普通にかかりそうな勢いです。