FreeBSD 2.X についての FAQ (よくある質問とその答え) : システム管理 : 「危険覚悟の専用 (dangerously dedicated) ディスク」は健康に悪いの?
Previous: FreeBSD と Linux を BootEasy からブートするには?
Next: どのようにしたらスワップ領域を増やせますか?

8.10. 「危険覚悟の専用 (dangerously dedicated) ディスク」は健康に悪いの?

インストール作業中, ハードディスクのパーティションを切る際に 2 つの方法を選ぶことができます. デフォルトの方法では, fdisk の テーブルエントリ (FreeBSD ではスライスと呼ばれる) を使って, 自身のパーティションを使用する FreeBSD のスライスを, 同じマシン の他のオペレーティングシステムと互換性のある形にします. それに付随して, ブートセレクタをインストールすれば, ディスク上の 使用可能なオペレーションシステムを切り替えることができます.

さて, これは確かに PC の世界からやって来た人々にとっては 一般的なお話でしょうが, ここで Unix の世界の方からやって来た, FreeBSD が動作する, しかも FreeBSD だけが動作するマシンをセットアップ しようとしている人の場合を考えてみましょう. 彼らは オペレーティングシステムがディスク全体を, その始めのセクタから 終りの 1 つに至るまで使い切る, 古典的な Unix の流儀に慣れ親しんで います. このような, FreeBSD が 1 日 24 時間, 1 週間に 7 日走り続け, 他のオペレーティングシステムがブートされることなど有り得ないマシン では, 正しい fdisk のテーブルは何の役にも立ちません. 結果, もし sysinstall の fdisk エディタで ``A)ll FreeBSD'' を選択し, 続く質問に ``No'' と答えれば, こちらのモードを選択したことになります. この場合, BSD のブートストラップがこのドライブの MBR になるので, ブートマネージャ等にスペースが残されていないことに注意してください. 何かを MBR にインストールすれば, BSD のブートストラップに ダメージを与えることになるでしょう.

では, なぜこれが 「危険覚悟の」と言われるのでしょう? このモードのディスクが, 通常の PC のユーティリティが有効な fdisk テーブルと見なす情報を持っていないからです. ユーティリティの出来 如何によりますが, そのようなディスクを発見したとき, 警告を 出すものもあります. また, もっと悪い場合, 確認も通告もなしに BSD のブートストラップにダメージを与えるものもあるでしょう. PC ではより広範囲で使われているあるオペレーティングシステムは, そういう非ユーザフレンドリーな行為をすることでよく知られています (もちろん, その行為は「ユーザフレンドリ」の名の元で 行われるわけですが). 少なくとも 1 種の, 例えば HP Netserver で使用されていた (もちろん, そこだけではありませんが) Award の BIOS は, 有効な fdisk テーブルを持っていないと認識した全ての ハードディスクを無視することで知られています. ブート時にこの現象が起こると, BIOS はそのようなディスクをさっさと 無視してフロッピードライブを読みに行き, しかも ``Read error'' というあっさりしたメッセージしか吐きません. 感動ものでしょ? 多分彼らにとってはこれが「ユーザフレンドリ」なんでしょうね. よくわかりませんけど.

このモードの利点はいくつかあります. FreeBSD がディスク全体を所有でき, 1980 年代の素朴なパーティショニングモデルのためだけに, いくつもの 本来不要な「トラック」を無駄使いする必要がなくなります. このモデルは, パーティショニングをどのようにすべきかという点に関して, いくらか不自然で, 今では無意味でさえある制限を課します. この制限は, しばしば PC に OS をインストールする際の最大の頭痛の種と なります. パーティショニングの情報を fdisk のテーブルに保存する際に 2 つの異なる, 冗長な方法が用意されているがゆえに, 結果として ジオメトリの不整合を引き起こすのです. Missing Operating System の章をご覧下さい. 「危険覚悟の専用」モードでは, BSD のブートストラップはセクタ 0 から始まりますが, BIOS のディスクジオメトリ「変換」の方式とは 無関係に, 常に等しい C/H/S の値に変換される唯一のセクタ なのです. したがって, ブートしなくなる危険を犯すことなしに, 異なる変換方式を採用しているシステム / コントローラ間で, ディスクを交換することができるのです.

「危険覚悟の専用ディスク」を通常の PC での使用法に 戻すには, 原則として 2 つ方法があります. 1 つは十分な NULL バイトを MBR に書き込んで, きたるべきインストーラにディスク はまっさらだと思い込ませる方法です. 例えば, こんな感じです.

        dd if=/dev/zero of=/dev/rsd0 count=15
      

また, マニュアルには書かれていない DOS の「機能」

        fdisk /mbr
      

は, BSD ブートストラップを追い払ってくれる上に, 新しいマスターブートレコードをインストールしてくれます.


FreeBSD 2.X についての FAQ (よくある質問とその答え) : システム管理 : 「危険覚悟の専用 (dangerously dedicated) ディスク」は健康に悪いの?
Previous: FreeBSD と Linux を BootEasy からブートするには?
Next: どのようにしたらスワップ領域を増やせますか?