「NOOBS」タグアーカイブ

Raspberry Pi を HDD 起動(& NOOBSから通常のRaspbian構成に変更)

前回 惨敗した後に散々試行錯誤してやっとできました。

また、後々メンテマンスもしやすそうなので、これを機に NOOBS から通常の Raspbian 構成に変更しました。

 icon-save 構成

現在の構成
・起動中SD カード(8GB : NOOBS Raspbian )
・外付けHDD 1(電源供給USBハブで接続)
追加したもの
・boot用SDカード (うちにあった2GBのもの)
・外付けHDD 2(1TB:ルート移動先)
SDカード/HDDを操作するPC
・Windows 10

 icon-keyboard-o 手順

1. デバイス状況確認

HDDをUSB接続し、マウント状況を確認します。

1. HDD

1. フォーマット

使用するHDD を Ext4 でフォーマットします。

2. パーティション作成

とりあえずはルート用とその他用のパーティションを2つ切ってこのようにになりました。

再度フォーマットします。

パーティション操作については こちらの記事 の方が少し細かく書いています。

2. マウント

マウント用ディレクトリを用意してマウントします。どこでもOKですが、デフォルトで用いされている「/mnt」にディレクトリを作成しました。(/mntに直接マウントでも大丈夫です。)

3. ルートのコピー

ルートをコピーします。稼働中のためか、dd と dump ではうまくいきませんでした。 rsync で 試したところ一発でうまくいきました。

  • フルバックアップと除外リストのオプションをつけます。先ほどマウントした場所(/mnt)は除外しないと無限ループに陥ります。
  • 初回は結構時間がかかります。経過を表示するオプションもあるようです。( その間 Vine の動画作って遊んでました

4. fstabの書き換え

コピーが終わったら、コピー先 のfstabを書き換えます。

修正前

修正後

※今回、新SDカードは NOOBS ではないので、 /boot は 通常のRaspbian と同じ  /dev/mmcblk0p1 になります。NOOBS構成のSDカードをそのまま使う場合は、mmcblk0p7 (ルート)の修正だけでOKです。

4. boot用SDカード作成

RaspberryPiのbootファイルは、通常版、Lite、NOOBSもすべて同じようなのでどこから持ってきても良さそうです。FAT16形式です。

方法1. 現在のbootから取り出す方法
bootディレクトリrsyncでHDDにコピーし、それをWindowsで焼きます。
方法2. RASPBIAN LITEをDLして焼く
新SDカードに、2GB以上の容量がある場合は、これでも簡単な気がします。起動後に cmldine.txt を修正します。
方法3. 現在のSDカードをそのままBOOT用にする
別SDカードに復元可能なことが確認済みのバックアップがある場合などは、現在使用しているSDカードを書き替えてしまう方法でも良いかと思います。この場合は、NOOBS構成のままになります。

シャットダウン

つい最近まで電源引っこ抜いてましたが、ちゃんとshutdown した方が良いみたいです・・・。

6. 新SDカードで起動

新SDカードに差し替えて、電源を入れ直します。

無事起動!

起動に失敗した場合

自分の失敗したパターンを記録しておきます。

全く起動しない
差し込んでも無反応、全く起動しない場合は、boot に 問題がありました。
起動はしたけど、動作がおかしい
apacheが起動しない、データが足りないなど・・・HDDファイルのコピーが失敗していました。 元々のSDカードは無傷ですので、そこから再度コピーし直します。 (起動中にデータ引っこ抜くならrsyncが良いです)
コマンドラインは起動し、操作が可能な場合。
設定ファイルに問題があるかもしれません。

 icon-warning 作業中ハマったところ

初心者なので色々はまりました。

バックアップが復元できない
Win32DiskImagerでPCに保存しておいたバックアップが2つとも復元出来ない上記に遭いました。(原因究明に至っていませんが、Win32DiskImagerでバックアップとるのをやめました。)「バックアップとっているから大丈夫」と安心せずに、復元可能なことを確認するべきだと学びました。orz
パーティションがちゃんと作成できない
fdisk で パーティションを作成(n)しても「Partition type」が出てこなくて長時間悩みました。ディスクをフォーマットしたら、出てくるようになりました・・・。
dd 、dump がうまくいかない
そもそも起動中のファイルシステムをコピーしようとしていたからか、何度やってもファイルが破損してapacheなどが起動しませんでした。rsync はファイルシステムを理解する、起動中にもできる、ということで良いことづくめな気がします。
Windows上でSDカードやHDDの中身が見えない
起動が失敗したとき、WIndowsからSDカードの中身を書き換えられなくて困りました。ソフトを使う事でパーティション操作、ファイル操作が可能になりました。
rsync が終わらない
最初、除外リストを作らずに /mnt/が無限ループになるという・・・随分終わらないなと思い、別タブでsudo du /mnt/bk を見ると、ひたすら無限にmnt/bk/mnt/bk となっていて気が付きました。

 icon-windows 便利なWindowsソフト

 icon-pencil-square-o 参考にさせて頂いたサイト

バックアップ

その後、外付けHDD1 → HDD2 にバックアップをとるようにしました。

https://homemadegarbage.com/raspberry-pi-rsync