headerImage

ラズパイの設定、これで3台目。ぶっちゃけ、最初のインストールは全く同じ作業なので、めんどくさくなってきた。今後も何台か作りそうなので、初期バックアップを取っておいて、手を抜くことにしよう、と思ったら、いろいろ罠があったので、今回はその顛末。

ラズパイバックアップの定番:Win32DiskImagerの罠

ググると、こればっかりですよね。Win32DiskImager。もちろん、これでやってみました。でもね、大きな罠が潜んでました。考えりゃわかるんですけど、イメージバックアップなので、SDカード容量分のバックアップができちゃうのですよ。

Win32DiskImager での問題点
  • バックアップサイズが大きい!!
  • リストアに時間がかかる
  • わずかな容量差で、同サイズカードなのにリストアできないときがあるらしい

32GBのSDなら32GB、64GBのSDなら64GBもバックアップしちゃう。ほとんど使ってないのに、ディスク容量も無駄だし、なんといっても、リストアして新たなSDカードつくるのに時間がかかる。時間かけずにサクサクと初期状態までたどり着きたいからやってるのに、これではなんとも…

しかも、カードによって、セクタ数とかは微妙に違うから、ちょっとだけ足らないカードにリストアできないなんて事態もあるみたい。これを押し込むトラブル対処方法なんかが、ネット上にも散見されり。いやいや、そもそも、小さめに作っときゃいいんじゃないの、って思っちまいました。

お試し:8GBのSDカードで最小イメージを作成

それならば、8GBのカードでイメージバックアップして、リストア時に大容量カードに入れたらいいよね、ってことで、8GBカードで起動ディスクを作成し、バックアップを作成しました。容量は一目瞭然、しっかりと、32GBの1/4となりました。

スクリーンショット 2021-04-24 115224

日本語とかVNCとか VS Code とか Python とか入れて初期状態だと、合計:7.0GiB、空き容量:2.9GiB

スクリーンショット 2021-04-24 113810

空きもそこそこあって、初期状態作成用には、8GBカードがちょうどいいサイズですね。安いし少し持っておくといいかもね。

8GBバックアップから32GBカードへのリストア

さて、この8GBバックアップから、大容量SDへリストアすると、どうなるでしょうか? もちろん、8GiBしかリストアしてくれませんので、残りは未割当て状態になっています。そこで、パーティションを拡張して、使えるようにしてやる必要があります。これができなくて、断念してる場合もあるかもしれませんね。

まず、Win32DiskImager で、32GBディスクへリストアして。ラズパイで起動します。その後に、パーティション領域の拡張をfdiskで行います。

領域拡張の手順を詳しく解説してくれてるサイトがこちらにありました。

http://yamada.daiji.ro/blog/?p=382

また、ラズパイのSDカード内のパーティションの詳しい解説ならこちらが参考になります。

クラスメソッド発「やってみた」系技術メディア | DevelopersIO
Raspberry Piを極限まで無駄なくバックアップする | DevelopersIO
あなたのラズパイ力とLinux力、おまけに業務効率を強力にブーストする…かもしれません。
dummy

fdisk によるパーティション拡張設定 操作手順


sudo fdisk /dev/mmcblk0

fdisk 内でのコマンドは、p: 表示 d: 削除 n: 新規作成 w:書き込み、です。まず、pコマンドで現在のディスクパーティション設定を確認します。

スクリーンショット 2021-04-24 202208

パーティションが二つ。後半の /dev/mmcblk0p2 を拡張します。まずは、d コマンドで 削除します。

スクリーンショット 2021-04-24 202751

その後、先頭を同じにして、最後までの領域を n コマンドで作成します。先頭は、先ほど p コマンドで確認した先頭の数字532480、最後はデフォルトが最後までなので、enter、ext4 signature は変更しないので n を指定します。

スクリーンショット 2021-04-24 202843

p コマンドで変更内容を確認できたら、w コマンドで書き込みします。

スクリーンショット 2021-04-24 203156

これでパーティション設定の変更は完了しましたので、再起動します。

パーティション領域のリサイズ

設定変更しても、領域のリサイズを実行しないと広がりません。再起動後、resize2fs コマンドで領域拡張します。コマンド入力後、数十秒は待たされますので、待ちましょう。

スクリーンショット 2021-04-24 204223

これでめでたく、SDカード容量いっぱいまで領域が拡張されました。

スクリーンショット 2021-04-24 204332

これで、既存のパーティションを拡張できるので、大きいディスクへの載せ替えとかも、この方法でできそうですね。

最小構成のバックアップ作成に挑戦!

こうなると、欲がでます。残りの2.9GiBも削りたくなります。8GBのカードをわざわざ用意したくないって人もいそうだね。ということで、次回は、【大容量SDカードで、ラズパイの最小容量の初期ディスクを作る】ところもやってみましょう。

たのじぃの書き捨てノート
ラズパイ初期SDバックアップ、容量最小化チャレンジ
ラズパイ、Rasberry Pi のSDバックアップに時間がかからないように、最小容量でバックアップする方法を解説しました。
dummy