FreeBSD 7.0 へようこそ

第2回7.0-RELEASEでディスク丸ごとバックアップ

今回のポイント:クリーンインストールの場所を確保しよう

それでは早速FreeBSD 7.0-RELEASE(2月27日公開)を試してみることにしよう。新しいOSには新しいハードウェアが似合うということにして、筆者も本稿執筆を機会に、3年来愛用したIntel Pentium M 2GHz + MSI 915GSpeedSter-FA4とお別れして、新たにIntel Core2 Duo 6550(2.33GHz⁠⁠ + ASUS P5GC-MX/1333を導入した図1⁠。秋葉原なら27,000円程度で購入できる、極めて普通の構成であるが、筆者は本稿執筆期間中フランスに出張しているため、やむなく現地の通販サイトからパーツを購入した。税込285.7ユーロ(46,616円)と、かなりお高い買い物になってしまった(コラム参照⁠⁠。

図1 新規導入したCore2 Duo 6550とASUSのマザーボード。大型のヒートシンクが目立つ
新規導入したCore2 Duo 6550とASUSのマザーボード

FreeBSDの伝道師を自称する筆者としては本記事を機会にWindows やLinuxから乗り換えてくれる読者が一人でも出てくれることを願ってやまない。インストールに先立ち、現在使用しているサイズより大きなハードディスクを購入し、現ディスクから新しいディスクにセクタ単位で「丸ごとコピー」して、ディスクの末尾にできる空領域にFreeBSDを導入する方法が簡便である。セクタ単位のコピーであるので、中身はNTFSであってもUFSであってもEXT2FSであってもお構いない上に、丸ごとコピーすることによって、ついでにその日のハードディスクの完全なバックアップができてしまうおまけ付きである。FreeBSDインストールCD-ROMはこういった用途にも便利に利用できるので、今回はそのやり方を紹介しよう。

※)
私事で恐縮だが、たとえば近場の標的は筆者の家族には研究所で使っていたSunOS4.1.4の続きで9年前から、父親(77)には「Windowsのウィルスには絶対に感染しない」という殺し文句で6年前からFreeBSDを使ってもらっている。潜在的新ユーザは14ヵ月になる息子で、毎晩筆者のPCのマウスとキーボードで遊んでいるのでこれもFreeBSD使いと言ってよかろう-しかし得意技はM-x 不可解な文字列とか、タッピングでfvwm2をexitしてXを落っことすことだが…。

クリーンインストールとディスク「まるごとバックアップ」テクニック

「これから新しくFreeBSDを使ってみよう」という人は、まず十分な空き領域のあるハードディスクを装備したPCを用意しよう。

そのPC上で単純に
ftp://ftp.jp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/
から、以下のファイルをダウンロードする。

  • 7.0-RELEASE-i386-disc1.iso
  • 7.0-RELEASE-i386-disc2.iso
  • 7.0-RELEASE-i386-disc3.iso

これらをそのままイメージとしてCDに焼き込み、⁠disc1」となったCDをPCに差し込んで起動することで、インストーラが起動する。国とキーボード配列を選んだ後は、⁠Standard」インストールを選択して指示されるままに作業をすることで簡単にインストールができる。かかる時間は、ものの10分程度である。具体的なやり方についてはいわゆる「インストール本」に解説が詳しいので、本稿ではこれ以上の深入りは避ける。

ここで、「十分な空き領域」をどうやって確保するかという問題がある。データを失なうことなくパーティションサイズの変更などを行ってくれる商用のソフトウェアもあるが、筆者のお勧め手段は先ほども述べたように、

  1. 新しいディスクを購入し
  2. 古いディスクを丸ごとコピーすると
  3. ディスク末尾に空き領域ができるので、そこにFreeBSDを入れる

方法である。この方法を応用すると、全く同じ内容のハードディスクを大量にコピーすることができる。壊れたときすぐに差し替えできる完全バックアップが欲しい方にもお勧めの方法である。

今回実験のために用意したディスクは、日立製作所製の400Gバイト、500Gバイトのハードディスクである。

[手順1]インストーラCD-ROMの作製

先に紹介したディスクイメージ

  • 7.0-RELEASE-i386-disc1.iso

をFTPで入手して、ISO9660イメージファイルとしてCD-ROMに書き込む。7.0-RELEASE以降では、CD-ROMのISOイメージは最大で700Mバイトまで取ってよいことになったので、メディアを購入する時には注意が必要である。もっとも 7.0-Rは3枚組になっているので、たとえばdisc1は509Mバイトと、現在のところ容量一杯を使っているわけではない。

[手順2]インストーラCD-ROMからFreeBSD起動

CD-ROMを挿入してパソコンをリセットすると、FreeBSDのインストーラが起動する。7.0-RELEASEのインストーラでは、まず最初に国を聞かれ、次にキーボードの種類を聞かれる。たとえば日本語キーボードを使っている場合は「Japanese 106」などと答えることになる。インストーラの画面が起動したら、Fixitを選択する。ライブCD の場所を聞いてくるので図2⁠、CDROM/DVDを選択すると、コマンドラインが起動する。

図2 fixitを選択する
図2 fixitを選択する

ここで、

# cd dev
# ls ad*

と入力すると、たとえば

ad4    ad4s1    ad4s2

のように表示される。これが、FreeBSDから見えているハードディスクデバイスファイルで、ディスクad4の中に、2つのパーティション(FreeBSD の言葉では「スライス⁠⁠)s1s2ができていることがわかる。

この番号は、起動時のメッセージで

ad4: 381554MB <Hitachi HDT725040VLA360 V5COA52A> at ata2-master SATA150

と検出されたときに出ているディスク番号と同じものである。このディスク番号を間違えると大変なことになるので、しっかりメモ用紙に記入しておこう。

[手順3]シャットダウン、ディスクの追加、再起動

次に、新しいハードディスクを追加接続して同じようにCD-ROM起動すると、起動時に2台のハードディスクが認識される。

ad4: 381554MB <Hitachi HDT725040VLA360 V5COA52A> at ata2-master SATA150
ad5: 476940MB <Hitachi HDP725050GLA360 GM4OA52A> at ata2-slave SATA150

サイズと型番から、古いディスクがad4新しいディスクがad5として認識されることがわかる。どちらの番号がどちらのディスクであるかを、目を皿のようにして確認し、忘れずにメモした上で、先ほどと全く同じ手順で「Fixit⁠⁠→⁠CDROM/DVD」を選択、コマンドプロンプトから

# cd dev

と入力する。

# ls

の結果は先ほどと若干異なり、

ad4    ad4s1    ad4s2    ad5

となる。これは、新たに「ad5」として認識されたディスクがあり、そのディスクはまっさらで、スライスが存在しないことがわかる。

ここまで確認できたら深呼吸して、おもむろに

# dd bs=131072 if=ad4 of=ad5

Enterとする。データの転送速度によって、数時間程度で転送が終わる。

[注意点1]

if=ad4 of=ad5で、ad4からinしたものをad5にoutするということでコピー命令になる。この番号をひっくり返したり、同じ番号を2回入れるなど、少しでも打ち間違えた場合はデータは戻ってこないので、しつこいようだが細心の注意が必要である。筆者も一度「if」「ad4⁠⁠、⁠of」にも「ad4(実はad5のつもり⁠⁠」と指定して、誤って同じものに上書きすることになって悲鳴をあげたことがある。このときは幸いもう1ヵ所「of」のところを「os」と打ち間違えていたお蔭で九死に一生を得た。

[注意点2]

bsは一度にコピーするブロックのサイズ(この例では128kバイト)を意味する。デフォルトでは512バイトであり、その場合コピー開始までのオーバーヘッドが大きいのでコピー速度は概ね1MB/sとなる 。bs=1024、bs=2048、…と大きくしていくに連れてコピーは速くなり、bs=131072では実測で60MB/s程度になる。

コピーが開始されるとまずスライスの情報が作製されるので、Ctrl-Cを打って途中でコピーを止めてlsを打つと、

d4    ad4s1    ad4s2    ad5    ad5s1    ad5s2

という構成が直ちにできあがっているのがわかる。この状態でたとえば「ad4s1」だけを「ad5s1」にコピーすることも可能で、そのときは

# dd bs=131072 if=ad4s1 of=ad5s1

とする。筆者はこの手法を使って、1スライスだけの完全バックアップという技をよく利用している。

おわりに

単純な「dd」コマンドひとつ取っても、このように便利な使い方ができることを見るのは素直に嬉しいものであるが、FreeBSDの世界ではより便利に、快適にOSサーフィンを行うためのコマンド群が日夜開発されている。次回は、すでにFreeBSD 6系をインストールしている読者のための、⁠freebsd-updateによるバージョンアップ」の様子を紹介しよう。

おすすめ記事

記事・ニュース一覧