2018年5月14日月曜日

FreeBSDをブートできるUSB外付HDDを作る

USB接続の外付HDDにFreeBSDをインストールし、ブートできるようにしておくと何かと便利です。

例えば、ブートしたFreeBSDで、PC内のHDDをまるごとイメージファイルとしてバックアップし、任意のタイミングでリストアして前の状態に復元できるようにしておけば、怪しいサイトからダウンロードしてきたアプリケーションやドライバをより気軽に試せるようになります。

ということで、今回はFreeBSDをブートできるUSB外付HDDを作ってみたいと思います。

使ったのは、秋葉原でよく見かけるUSB2.0接続の外付けHDDケース。
インストールしたのは、FreeBSD 10.4-RELEASEです。

この試み、簡単に行くと思いきや、意外と手こずったので、ハマったところをまとめてみました。

■失敗しないインストールの方法

まずは、FreeBSDのインストール方法から。

インストールするFreeBSDはi386(32bit)版が良いです。
これは、古いPC(CPUがAtom N270とか、Pentium M、Core Duoなどのもの)でも使えるようにするためです。

最近は、DVD/CDドライブがついていないPCが多いので、USBメモリをFreeBSDのインストールメディアとして使うのがリーズナブルです。
サイトからUSBメモリ用のイメージをダウンロードし、空のUSBメモリに書き込んでください。

但し、USBメモリから直接USB外付HDDへインストールを試みたところ、USB外付HDDのフォーマットに失敗する不具合に見舞われました。

いろいろ試行錯誤しましたが、USB外付HDDからHDDを取り出し、SATAケーブル等で直接PCに接続してFreeBSDをインストールし、ケースに戻すのがトラブルも無く一番手っ取り早いです。

尚、FreeBSDのインストール工程の一番最後で、fstabの内容を変更しておくことを忘れないで下さい。
インストール直後のfstabは、マウントするデバイスに「/dev/ada0a」などが指定されています。

インストール工程の「Final Configuration」で「Exit」した後に、「Manual Configuration」の選択肢が出てきますので、「Yes」を選択してください。

シェルに入った状態で、
vi /etc/fstab
としてfstabの編集し、
/dev/ada0a

/dev/da0a
などに変更します。
マウントするデバイスが複数ある場合には、すべて上記の通り変更してください。
(上記の変更をしておかないと、ブート後のファイルシステムのマウント時にpanicが発生します。)

■失敗しないHDD選び

どちらかというと、こちらの方を先に言及しておかなくてはならないのかもしれませんが、USBブートに利用するHDDは、512セクタのものを使用して下さい。

私の環境では、4kセクタのHDDからはUSBブート出来ませんでした。
4kセクタのHDDでは、FreeBSDのインストール自体はできるのですが、インストール後起動させると、画面右上に「|」のプロンプトが出た状態で固まってしまい、BTXにすら起動しません。
手元のWD WD10JPVX(4kセクタ)では何をやってもダメでした。

一方、512セクタのHITACHI HTS541640J9SA00(512セクタ)では問題なくFreeBSDが起動出来ました。

これは、今回使った外付けHDDケースのコントローラ固有の問題かもしれません。
世の中には4kセクタのHDDでもブートできるUSB HDDケースがあるかもしれませんので、もし4kセクタのHDDでも問題なくUSBブート出来たよ、という方がいらっしゃったらコメントで情報をいただけるとありがたいです。

0 件のコメント:

コメントを投稿