今だにThinkPadを使用している。FreeBSDをインストールしたやつだけれど。
これが飛んでしまったらどうしよう……、とずっと怯えていてついにこのあいだ、SSDでread errorが発生してしまった。いよいよくるべきものがきたか。
ある程度はMacBook Airに環境を移してあるのだが、あいにくPostgreSQLとかのデータベース環境はそのままだ。空き容量の問題があって二の足を踏んでいる。悩んでいたのはこのまま、ThinkPadの環境を残しておきたかったからだ。
環境の再構築が面倒だ。
ThinkPadの環境を丸ごと——つまり、SSDそのものをコピーできれば、いいのだが——それ自体はddでできるだろうことは承知していたのでいろいろ頭をひねった末。
VirtualBoxの仮想ハードディスクへddコピーすれば、いいんじゃないか。
と気づいた。
もちろんThinkPadのSSDの容量は128G。MacBook Airも同じサイズなのでローカルには無理だ。そこでネットワークドライブ——TimeCupsleに作成することにした。オフライン環境では使えないが、まぁ、そこはしかたがない。
手順は以下。
- FreeBSDのインストールディスク(isoファイル)を起動ディスクにしてVirtualBoxでbsdinstallを立ち上げる。その際、仮想ハードディスクをネットワークドライブに作成しておく。
- 「Live CD」でFreeBSDを動かす。
- お立ち台でSSDをUSDドライブとしてFreeBSDに認識させる。
- dd if=/dev/da0 of=/dev/ada0 bs=10m
- 終わるまで待つ(7、8時間かかった)。
終了後、コピーした仮想ハードディスクで起動してみたたところ、見事にFreeBSDが動作した。ThinkPadと同じように。ところがマウスは効くのがだ、キーボード入力を受け付けなかった。VirtualBoxのゲストとして動くために必要なVirtualBox-Guest Additionsをいれてないからだった。
ThinkPadのFreeBSDは今だ動いている。