Raspberry Piのファイルシステム破損対策。

しばらくRaspberry Piですべての回線を扱ってみようと思うのでSDカードのファイルシステム破損対策をしてみる事にした。

 

Raspberry PiはSDカードで起動するのだけど…

SDカードはどうもデータ書き込みで破損しやすいイメージ。

カード本体にはコントローラーもなくメモリのみが入ってるせいだからかもしれない。

 

Raspberry PiのSDカードに必要なのは70MB程のBOOTパーティションのみでその後の起動はUSBメモリから可能との事なのでUSBメモリにROOTを設定して起動する事にした。

BOOTパーティションは起動時に読み込むのみなのでその後は使われないので破損にも強くなるのでは?

本体からできるだけはみ出さないように小型なUSBメモリとRaspberry Pi用のマイクロSDアダプターを買ってきた。

不意にSDカードやUSBメモリに触れてしまうトラブルもコレでなくなるはず。

 

Raspberry PiのSDカードのext4のRootパーティションをUSBメモリにコピー。

 

次にUSBメモリをRaspberry Piに挿して起動。

fdisk -l

fdiskコマンドでUSBメモリのデバイス名が何で認識しているかを確認。

大体の場合は/dev/sda1で認識していると思う。

 

SDカードはBOOTパーティションのみになるので容量は少なくていい。

余っていたSDカードにFATのBOOTパーティションのみをコピー。

サムスンの1GBが余っていたのでコレを使うことにした。

GallaxyS2に付いていた付属品で未使用のまま残ってた。

Raspberry PiはClass4以上推奨だけどとりあえずいいだろう!

 

SDカードのFATパーティションに入っているcmdline.txtというファイルにRootとして認識するデバイス指定があるので/dev/mmcblk0p2を/dev/sda1に書き換える。

 

後は作ったSDカードとUSBメモリを指してRaspberry Piを起動!

無事起動したら/etc/fstabを開いて編集。

ここにもRootパーティションの設定があるので/dev/mmcblk0p2を/dev/sda1に書き換える。

 

これでUSBメモリからRaspberry Piが起動できるようになった。

しばらく運用してファイルシステムが壊れないか様子見てみよう!