やっつけな日常(55) Raspberry Pi、SD Card Copier、便利

Joseph Halfmoon

限りあるmicroSDカードの書き換え回数、いずれは壊れる宿命です。そこでお世話になってきましたのがPC上のWin32DiskImagerです。microSDカードを丸ごとバックアップ/レストアできる優れもの。しかし不満あり。そこでRaspberry PiのSD Card Copierツールを使えるようにと。お役立ち。

※「やっつけな日常」投稿順 Index はこちら

前回は何度目かのJetson Nanoの復活。そういう時に活躍してきたのがWindows上のツール Win32DiskImager です。1枚のmicroSDカード全体をイメージファイルとて吸い出すこと、そしてそのファイルをmicroSDカードへ書き込むことができるものです。手元の Raspberry Pi シリーズのボード共も「適宜」お世話になってきております。

Win32DiskImagerでのレストアへの不満

これはソフトというよりmicroSDカードの仕様への不満かも知れません。御存じかと思いますが、microSDカード、例えば32GBとパッケージに書いてあっても、現物によって微妙にその容量が異なります(「微妙」ですぞ。中には容量の半分とかのパチモンも存在するようです。私は一度引っかかりましたがな。)

「微妙に容量異なる」わけは、そこに完璧を求めたら「お求めやすく」ならんということでのメモリ屋さんの深い慮りがあるんだと思います。知らんけど。

ともかく「本当の容量」は、購入後調査してみないと分からんと。そこで問題は、Win32DiskImagerというツールが「真っ正直にストレージ全体のイメージ」をコピーするツールだということです。表面的には同じ容量でも実際の容量が「微妙に」小さい媒体には書き戻せませぬ。

このような事態を考えると書き戻すときはサイズの大きい媒体に書き戻すのが安全です。大きい分には書けるんだな。

しかし「イメージ」を直接書き戻しているので、サイズが大きくなったからと言って余分な部分が即使えるようになっているわけでもありませぬ。何やらメンドそうなパーティションなどを操作して使える領域を増やす操作が必要と。

Raspberry Pi、SD Card Copierのためにリーダライタ購入

上記はRaspberry PiのストレージであるmicroSDを一端外してパソコンのSDカード・リーダライタで操作している場合の運用です。Raspberry Piに「もう一台」のSDカード・リーダライタが接続されておれば、お役立ちツール、

SD Card Copier

を使うことが可能となります。これであれば、

    • 媒体そのものが小さくとも、使用している容量が収まればコピー可
    • 媒体が大きければその全体を使用することも可

ということで不満も解消であります。わざわざラズパイの電源を一度切って、microSDカードを引き抜いてPCにもっていくという手間もなく、ラズパイ側だけでmicroSDのフルバックアップが可能となってしまう~。

しかし問題はRaspberry Piに「もう一台」のSDカード・リーダライタが必要であるという点。

手元を調べたらUSBに突き刺すタイプのSDカード・リーダライタのドングルを発見。しかし相当古いもの。多分、ほぼ確実にUSB 2.0 (まさか1.0じゃないよね。)それに横幅も広くてRaspberryPiのUSBに突き刺すと隣のポートが使えなくなってしまいます。

どうしたものかと密林様を徘徊しても最近は単体のSDカード・リーダライタのようなものは売られてませんな。多くはUSB Type Cのソケットに刺さる「ドッキング・ステーション」の一部としてSDカード・リーダライタが含まれております。まあいいんだけどね。TypeCのような高級なもん?でなくて、できればRaspberry PiのUSB 3 のポートに直接刺さるのが良いです。

探したらUSB3接続で「バス・パワー」のハブ+SDカード・リーダライタという製品はありました。電源に微妙に不安のあるRaspberry Piなので(この年寄には初代ラズパイの頃、電源問題頻発した記憶あり。最近は注意して容量大き目、電圧やや高めを使っているので経験しないけど。)できれば「セルフ・パワー」の方が良かったのだけれど。でも考えてみるとバス、セルフ共用みたいな製品はかえって、Raspberry Piの電源切ったときに外から逆流するんじゃないかという危惧もあり。

USB3のバスパワー、ハブに何か接続したりしない、SDカード・リーダライタとしてのみ使用

という割り切りなら大丈夫だろうということで手を打ちました?以下です。SDCARD_RW

製品自体は中華製です。以下の会社ではないかと。

Ruiwei Technology (Shenzhen) Co., LTD.

Englishページの情報量が少ないです。簡体字のページを見ないとなりません。通信関係のモジュールなどが主力事業の会社のようです。ホームページのトップに中国海軍の艦艇の写真が貼り付けてあって、ちょっとギョッとします。製品のラインナップ(戦列艦)ということみたいです。探してみましたが、コンシュマー向けの”atolla”印のSDカードリーダ(USB 3ハブ兼)については記載ありませんでした。だいたいパッケージに張り付けてある日本向けの製品番号のシールにもLinuxでなくLinus対応とか怪しい記載もあり。でも調べてみると使用しているチップは台湾の会社製でした。多分大丈夫じゃないかと。知らんけど。チップの会社のホームページは以下です。

Genesys Logic

Raspberry Pi 4 model BにSDカードリーダライタ接続

SDカード・リーダライタ(製品的にはUSB 3ハブでもありますが、SDカード部以外の各ソケットのスイッチはOFFってしまったので、実質もリーダライタ)をRaspberry Pi 4 model B のUSB3ポートに接続し、lsusbで観察したところが以下に。lsusb

燦然と Genesys Logic のSDカード・リーダライタ認識されてとりますな。

Raspberry Piが良いのは、mountなど手動操作しなくても、microSDを差し込んだらストレージとして認識してマウントしてくれるところ。今回64GBのmicroSDカードを挿入したところが以下に。62GBボリュームとな。

このときのブロックデバイスの接続状況(ぶっちゃけお名前)を知るためにlsblkしてみました。lsblk
上記をみれば、一撃で /dev/sdb が差し込んだ新しいmicroSDと分かりますな。なお、ラズパイ4本体のmicroSDカードスロットに差し込まれている方はmmcblk0であります。

SD Card Copierを起動

こんだけの情報があれば、後はSD Card Copierでバックアップとるのは簡単です。FromとToを選択するだけ。

SDCardCopier

今回は、元のmicroSDを置き換えるつもりなので、New Partition UUIDsにはチェックを入れませんでした。

Startし、10分ほどだったか待てばこのように。CopyComplete

コピー完了。電源OFFして、元のmicroSDを外して差し替えました。

起動するか、起動した、OK。

元の32GBのmicroSDは半分くらい容量を使ってましたが。64GBのカードに入れ替えたので何も手動操作なしに空き容量も激増。

1台USB3接続のSDカード・リーダライタがあるだけでこんなに便利になるのか。

やっつけな日常(54) Jetson Nanoの復活とOSアップグレードの失敗 へ戻る

やっつけな日常(56) AltairZ80シミュレータで懐かしのCP/M 2.2を動かす へ進む