お茶漬けぶろぐ

Raspbianのインストールイメージをmountする

SDカードとかUSBスティックにddして使うつもりのインストールイメージの中身を見たいとき、mountしたいが、ひと手間が必要。
インストールイメージという事はbootできるように作られているわけで、つまり複数のパーティションを持っているのだ。
これをmountするためには、offsetオプションをつける必要がある。素直に実行すると以下のような感じでエラーが出る。

$ sudo mount 2020-02-13-raspbian-buster.img /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.

offsetの値を調べるため、fdisk -l -u

$ fdisk -l -u 2020-02-13-raspbian-buster.img
Disk 2020-02-13-raspbian-buster.img: 3.54 GiB, 3787456512 bytes, 7397376 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xea7d04d6

Device                          Boot  Start     End Sectors Size Id Type
2020-02-13-raspbian-buster.img1        8192  532479  524288 256M  c W95 FAT32 (LBA)
2020-02-13-raspbian-buster.img2      532480 7397375 6864896 3.3G 83 Linux

Sector sizeStartの積をoffsetに指定すれば良い。

// 第1パーティション
$ sudo mount -o loop,offset=`expr 8192 \* 512` 2020-02-13-raspbian-buster.img /mnt
// 第2パーティション
$ sudo mount -o loop,offset=`expr 532480  \* 512` 2020-02-13-raspbian-buster.img /mnt

< Raspberry pi 3 B+でPXEブート

お名前.comのIPアドレス更新を自動化する >