Windows との共存方法

[2010/01/13 追記] 最近では、QTParted の代わりに GParted というソフトが使われているようです。 パーティション操作専用の Linux Gparted LiveCD という bootable な CD がありますので、 iso イメージをダウンロードして CD に焼くと便利でしょう。

Windows XP までなら FreeBSD の Boot manager を MBR に設定すれば デュアルブートにできますが、どうやら Vista や 7 だと一工夫いるようです。


Windows 2000 や XP などは、ファイルフォーマットとして NTFS を使っています。そして、NTFS は PRESIZER では扱えないそうです。 この場合、CD-ROM ブートの Linux OS である KNOPPIX や SystemRescueCD から ブートして、その中に入っている QTParted というソフトを使うと パーティションが分割できます。

QTParted の詳しい使い方は、例えば http://www.stackasterisk.jp/tech/systemConstruction/dual01_03.jsp#3_4 を見て下さい。

Panasonic の Let's note CF-Y4 で KNOPPIX-2004 を起動しようと思ったら、 内蔵の CD/DVD ドライブが USB 接続らしくてうまく起動しませんでした。 最新バージョンの KNOPPIX ではどうかはわかりません。 System Rescue CD からはちゃんと起動して、QTParted を動かせました。 使い方は、

  1. 起動するまで待つ
  2. キーボードタイプを聞かれたら、選ぶ(たぶん 22 の jp でいいです)
  3. プロンプトが出たら、run_qtparted を実行する
  4. マウスのタイプを聞かれたら、答える。たいてい 0) autodetect でよいそうです
  5. QTParted(英語版)が起動するので、自己責任で作業を行う
  6. 左側のハードディスクのうち、リサイズしたいハードディスクをマウスでクリック
  7. 右下の画面で、リサイズしたいパーティションを選択し、右クリックの Resize を選択
  8. 新しいサイズを入力して[OK]をクリックする
  9. 新しいサイズが決まったら、File -> Commit で最終決定する
といったところです。
注意 以下の情報は古いので、Windows XP には使えません。

Windows 起動ディスクの作成

後でハードディスク内に FreeBSD 用の領域ノートを確保するソフトを DOS から動かすため、Windows の起動ディスクを作っておきます。

Windows の起動ディスクは当然ながらWindows で作ります。 フロッピーディスクをフロッピーディスクドライブ (A:) に入れ、 マイコンピュータ/A を右クリックした後、 起動フロッピーディスクの作成、起動専用ディスクを選択します。

ディスクが出来上がったら、そのディスクに以下の2つを入れておきます。

fips.exe と pfdisk.exe は 適当な所(たとえば このへん)から拾って来ます。

[1] fips.exe の他に、 Partition Resizer (presizer.exe, presizer.doc) というものもあります。 fips.exe は 8.4GB 以上の IDE ディスクに対応していない、 との情報もあり、大きいディスクには presizer.exe を使うとよいでしょう。

presizer の使い方は、 かつをぶし さんのサイト内、 PRESIZER.EXE の使用(その1) PRESIZER.EXE の使用(その2) に詳しくのっています。

FreeBSD 用領域の確保

ここの作業は危険であるため、 必ず必要なデータのバックアップを取ってから行って下さい。 また、著者は有形無形の損害に対し一切の責任を取りませんので、 自己の責任において実行して下さい。

Windows がすでにインストールされているマシンのハードディスクに FreeBSD 領域を確保する手順は、次の通りです。

  1. ハードディスクを検査して (スキャンディスク)
  2. ハードディスクを最適化して (defrag)
  3. 空き領域を作って(fips or presizer)
  4. FreeBSD 領域として宣言する(pfdisk)

スキャンディスク

まず、「スキャンディスク」してハードディスクに損傷がないか調べます。 「自動的に修復」を選んでおくとよいでしょう。

defrag

defrag は DOS 領域に散在しているファイルなどをかためて ディスクを最適化する作業です。これは
/スタート/プログラム/アクセサリ/システムツール/デフラグ
というところにあるのでこれを叩けばOKです。 ただし、結構時間がかかりますのでお茶でも飲んでて下さい。

fips

8GBを超えるハードディスクには fips は 使用しないで下さい。 8GB 以前の内容を壊してしまいます。

いよいよ fips です。失敗したらかなりいや (Windows を再インストールする)なので心して使用して下さい。 必要なデータはバックを忘れずに。 さて実行は、先ほど作った Windows 起動ディスク + fips.exe + pfdisk をフロッピードライブに入れ再起動します。 A:\> というプロンプトが出ていると思いますが、ここで
A:\> fips
と打ちます。
A:\> Press any Key
という文字がでたら何か叩きます。次に出て来た質問には、 何番目の(ハード)ディスクが対象であるかを答えます。 1台しかない場合は、当然「 1 」と答えます。
Which Drive (1=0x80/2=0x81)? 1
このあと、情報が流れて来ますが、行の最後が 「OK」 となっていれば 気にしなくて良いでしょう。結構時間がかかります。 バックアップを取るか?という質問がありますので、 必要な場合はぜひともバックアップを取っておいて下さい。

ここまで進んだら、新しいスライスの大きさを定義します。

↑	  新スライスの容量を約10MB増やす
↓	  新スライスの容量を約10MB減らす
←	  新スライスの容量を約1MB増やす
→	  新スライスの容量を約1MB減らす  
を使って決めましょう。 新スライスの容量を決めて Enter を打ち、、 覚悟がついたら続く質問に「y」と答えて祈ります。 うまくいけば縮まった DOS 領域と新しく作ったスライス(DOS領域)の 2つができているいることでしょう。うまくいきましたか?

pfdisk の代わりに、PRESIZER.EXE を使っても構いません。

pfdisk

fips に続いて、pfdisk をします。 対象のディスクが1台目の場合は
A:\> pfdisk 0
と打ちます。2台目だったら
A:\> pfdisk 1
です。すると、
pfdisk>
というプロンプトが出てきます

まず、「L」 コマンドで現在の状況を見て見ましょう。 新旧のスライス両方とも左から2列目、ID 番号のところが DOS 領域を表す 6 になっていますか? 新しく作った FreeBSD 用の領域の ID 番号を FreeBSD の ものに変えてあげましょう。
pfdisk> 2 165 xxx yyy
左から、2番目のスライス・FreeBSDのID番号(165)・ 「L」コマンドで見た 2 番目のスライスの3列目・4列目 とします。これを実行し、問題がなければ 「L」コマンドで確認した上で「W」コマンドでハードディスクに 書き込み、「Q」コマンドで pfdisk を終了します。

トラブルシューティング

実は、Toshiba DynaBook SS 3380 CT では pfdisk に失敗しました。
Error: bad argument: last >= cyls
と言って怒られてしまいます。 これは pfdisk の仕様の問題らしく、 こうなったら pfdisk による FreeBSD 領域の宣言は諦めましょう。

でも問題ありません。 後に、FreeBSD をインストールするときに fdisk で ディスクの ID を変更しますので、 ここは気にせずちゃきちゃき進みましょう。


FreeBSD の部屋


Last modified: Wed Apr 20 16:03:18 JST 2011