目次
dd - USB フラッシュ、SD カードのバックアップ/復元
バックアップ
$ sudo parted -l
モデル: Kingston UHS-II SD Reader (scsi) ディスク /dev/sdc: 125GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos ディスクフラグ: 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 1 4194kB 138MB 134MB primary fat32 boot, lba 2 138MB 125GB 125GB primary ext4
$ mount $ sudo umount /run/media/tomoyan/2565-1BA0 $ sudo dd if=/dev/sdc of=~/dietpi-sd-backup_20250517.img bs=16M status=progress
124939927552 bytes (125 GB, 116 GiB) copied, 3069 s, 40.7 MB/s 7447+0 records in 7447+0 records out 124939927552 bytes (125 GB, 116 GiB) copied, 3070.18 s, 40.7 MB/s
Or
$ sudo dd if=/dev/sdc bs=16M status=progress | bzip2 --best > ~/dietpi-sd-backup_20250517.img
復元
$ sudo dd if=~/dietpi-sd-backup_20250517.img of=/dev/sdc bs=16M status=progress
124939927552 bytes (125 GB, 116 GiB) copied, 3069 s, 40.7 MB/s 7447+0 records in 7447+0 records out 124939927552 bytes (125 GB, 116 GiB) copied, 3070.18 s, 40.7 MB/s
Raw Image のマウント
losetup の使い方
$ losetup -h
Usage:
losetup [options] [<loopdev>]
losetup [options] -f | <loopdev> <file>
Set up and control loop devices.
Options:
-a, --all list all used devices
-d, --detach <loopdev>... detach one or more devices
-D, --detach-all detach all used devices
-f, --find find first unused device
-c, --set-capacity <loopdev> resize the device
-j, --associated <file> list all devices associated with <file>
-L, --nooverlap avoid possible conflict between devices
-o, --offset <num> start at offset <num> into file
--sizelimit <num> device is limited to <num> bytes of the file
-b, --sector-size <num> set the logical sector size to <num>
-P, --partscan create a partitioned loop device
-r, --read-only set up a read-only loop device
--direct-io[=<on|off>] open backing file with O_DIRECT
--loop-ref <string> loop device reference
--show print device name after setup (with -f)
-v, --verbose verbose mode
-J, --json use JSON --list output format
-l, --list list info about all or specified (default)
-n, --noheadings don't print headings for --list output
-O, --output <cols> specify columns to output for --list
--output-all output all columns
--raw use raw --list output format
-h, --help display this help
-V, --version display version
Available output columns:
NAME loop device name
AUTOCLEAR autoclear flag set
BACK-FILE device backing file
BACK-INO backing file inode number
BACK-MAJ:MIN backing file major:minor device number
BACK-MAJ backing file major device number
BACK-MIN backing file minor device number
MAJ:MIN loop device major:minor number
MAJ loop device major number
MIN loop device minor number
OFFSET offset from the beginning
PARTSCAN partscan flag set
REF loop device reference string
RO read-only device
SIZELIMIT size limit of the file in bytes
DIO access backing file with direct-io
LOG-SEC logical sector size in bytes
For more details see losetup(8).
loop デバイスのセットアップとマウント
参考: command line - Mounting Disk Image in Raw format - Ask Ubuntu
losetup: raspbian-20200505.img: failed to set up loop device: Device or resource busy - Ask Ubuntu
$ sudo losetup -f -P aiy-vk-001-backup_20250517.img $ losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO LOG-SEC /dev/loop0 0 0 0 0 /home/tomoyan/aiy-vk-001-backup_20250517.img 0 512
$ sudo parted /dev/loop0 print
モデル: Loopback デバイス (loopback) ディスク /dev/loop0: 126GB セクタサイズ (論理/物理): 512B/512B パーティションテーブル: msdos ディスクフラグ: 番号 開始 終了 サイズ タイプ ファイルシステム フラグ 1 4194kB 273MB 268MB primary fat32 lba 2 273MB 126GB 126GB primary ext4
$ sudo mkdir /run/media/tomoyan/boot $ sudo mount /dev/loop0p1 /run/media/tomoyan/boot $ ls /run/media/tomoyan/boot
COPYING.linux bcm2709-rpi-2-b.dtb bcm2711-rpi-cm4.dtb fixup_cd.dat start.elf LICENCE.broadcom bcm2710-rpi-2-b.dtb bootcode.bin fixup_db.dat start4.elf 'System Volume Information' bcm2710-rpi-3-b-plus.dtb cmdline.txt fixup_x.dat start4cd.elf bcm2708-rpi-b-plus.dtb bcm2710-rpi-3-b.dtb config.txt issue.txt start4db.elf bcm2708-rpi-b-rev1.dtb bcm2710-rpi-cm3.dtb fixup.dat kernel.img start4x.elf bcm2708-rpi-b.dtb bcm2710-rpi-zero-2-w.dtb fixup4.dat kernel7.img start_cd.elf bcm2708-rpi-cm.dtb bcm2710-rpi-zero-2.dtb fixup4cd.dat kernel7l.img start_db.elf bcm2708-rpi-zero-w.dtb bcm2711-rpi-4-b.dtb fixup4db.dat kernel8.img start_x.elf bcm2708-rpi-zero.dtb bcm2711-rpi-400.dtb fixup4x.dat overlays
アンマウント
$ sudo umount /run/media/tomoyan/boot $ sudo rm -r /run/media/tomoyan/boot