micro SDカードは,見るからに信用できない。
これが PCの内部ハードディスクに相当しているのだとすると,バックアップに努めないわけにはいかない。
カードのバックアップは,「OS のインストール」の逆をすればよい:
即ち,つぎが手順になる:
- Raspberry Pi から,カードを抜く
- カードをカードリーダーに挿し,PCに装着
- カードの disk番号を知る
──以下「disk2」とする
- disk2 を unmount する:
$ diskutil unmountDisk /dev/disk2
Unmount of all volumes on disk2 was successful
(デスクトップにあった SD のアイコンが,消える)
- /bin/dd を使って,カードの中身を<ディスクイメージファイル>にして書き出す:
$ sudo dd bs=1m if=/dev/rdisk2 of=/Users/[user]/Desktop/yymmdd.img; sync
Password: (パスワードを入力)
ここで「yymmdd」は,この日の年月日──2021-02-17 だったら「210217」。
実行中,メッセージは何も現れない。
デスクトップに出力ファイルのアイコンが現れているので,アイコンをタッチして command + i で情報を表示させれば,進捗がわかる。
つぎのようなメッセージが現れて終了:
30436+1 records in
30436+1 records out
31914983424 bytes transferred in 1498.262761 secs (21301326 bytes/sec)
この度は,25分経過して,終了。
- カードを eject:
$ sudo diskutil eject /dev/rdisk2
Password:
Disk /dev/rdisk2 ejected
註. コマンドライン「dd bs= ‥ if=/dev/rdisk2 of=‥‥ ; sync」
- dd のオペランド
bs=BYTES | read and write up to BYTES bytes at a time |
if=FILE | read from FILE instead of stdin |
of=FILE | write to FILE instead of stdout |
- /dev/rdisk2
disk2 ではなく rdisk2 とすることで,処理速度が向上する。
- セミコロン「;」:コマンドの連結
- sync
「カーネルは (比較的遅い) ディスクの読み書きを避けるため、 データをメモリに保持する。 これにより性能は向上するが、コンピュータがクラッシュした場合、 結果としてデータが損失したりファイルシステムが壊れたりするかもしれない。 sync はメモリにある内容すべてがディスクに書き込まれることを保証する。」
(https://kazmax.zpp.jp/cmd/s/sync.8.html)
|