マルチブートの仕方(特別編)

2001/02/26
目次
  1. プロローグ
  2. Windows初級編
  3. Linux初級編
  4. 機能編
  5. Windows中級編
  6. Linux中級編
  7. その他のOS編
  8. フリーツール編
  9. 市販ツール編
  10. 裏技編
  11. 特別
  12. 特殊環境編
  13. 究極編
  14. 豆知識編

PC/AT互換機の限界を超える

 今まで見てきたように、論理領域からの起動第2ハードディスク以降からの起動OS側の問題で非常に難しいことが分かった。第1ハードディスクの基本領域しか起動領域にできないOSが非常に多い訳だ。そうなると、やはり1つのハードディスクに4つの基本領域という制限はきついと感じることも多くなってきた。特に昨今の40GBだの80GBといった大容量のハードディスクを見ると尚更である。

 しかし、これまでいろいろな優れたブートローダを紹介してきたが、このPC/AT互換機の一般仕様の限界を超えることのできるローダはなかった。これはMBRに4つしかパーティションテーブルのエントリがない以上、ブートローダにはどうにもならないことだからだ。

 では、ブートローダが4つ以上のパーティションテーブルエントリのあるMBRを独自に作ったらどうだろうか。実はこれではだめなのだ。上記仕様に従っているのは別にブートローダだけではない。OSが全てこれに従っている訳である。ローダが勝手に独自のMBRを作ってもOSが相手にしてくれない。

 ところがこのPC/AT互換機の限界を超えることのできるブートローダが存在するのだ。以下の2つがそうである。

  1. SyMon
  2. SystemManageV

 SyMonは一つのハードディスクに36個基本領域を作ることができる。SystemManageVに至っては実に255個もの基本領域を作ることができる。これらのローダは一体どのようなカラクリでこんな芸当を可能にしているのだろうか。

 ブートローダはそもそもパーティション選択ツールに過ぎない。パーティションの中からデータを読み出して、実行するだけのツールだ。基本的にデータを書き換えるようなツールではない。IBMオリジナルのブートストラップローダはこの動作に徹している。パーティションのデータを書き換えるのは本来fdiskなどのパーティション操作ツールの役割である。

 とはいえこれに徹するとどうしても柔軟なマルチブートを行えない(まさにIBMオリジナルブートストラップローダがそうであったように)訳で、多くのサードパティのローダは多少パーティションテーブルも触る。アクティブ切り替えはパーティションテーブルのブートフラグを立てたり、おろしたりすることで実現しているし、隠しパーティションの機能もパーティションテーブルのパーティションタイプを変更することで実現している。

 しかし、ブートローダが触るパーティションテーブルのデータはここまでだ。通常のブートローダでは決して触れない部分がパーティションの位置情報の部分だ。これはパーティション操作ツールの触る領域であり、ブートローダが踏み込むことのなかった聖域である。

 SyMonSystemManageVはブートローダが今まで決して侵すことのなかったこの聖域に足を踏み込むことになる。


 しかし私はこれらのツールを多くの人に強力に薦めるつもりはさらさらない。多くのローダがこの聖域を侵さなかったのにはそれなりに理由がある訳で、やはりそれだけに非常に危険な行為なのだ。ここから先の記述は少なくとも私のこれまでの説明を完全に理解した人のみ、踏み込むことのできる聖域だと思ってほしい。


 まず、一つのハードディスクに4つの基本領域という限界を超えるカラクリを説明するにあたって、パーティション位置情報に関してその前提となる話を少ししておきたいと思う。

 PC/AT互換機の一般仕様では以下のようなパーティションの配置を、少なくいともエラーとはしない。

 [順序がばらばらで歯抜けだらけの構成]
順序がばらばらで歯抜けだらけの構成

 番号はパーティションテーブルのエントリ番号だ。上記構成のポイントは4つのエントリを全部使いつつも、まだ未使用の空き領域があるという点と、パーティションの物理的順序とパーティションテーブルエントリの順序が一致していないという点である。

 このような領域の作成を許さないパーティション作成ツールもあるだろうが、基本的には違反ではない。従って基本的にOSも図のようなパーティション構成を受け入れる。

 まあ空き領域に関しては例えば2つのパーティションしかない場合はあっても何ら不思議ではないから、4つのエントリが全部使われていても、尚空きがある場合でも特にチェックする訳ではないからだろう。また順序に関しても、特にIBMの技術仕様書に、物理的位置順序とテーブルエントリの順序は一致させるようにという決まりは記述されていない。ただ順序に関しては、一致していないと不具合を起こすOSも若干存在するようだ。

 結局、MBRのパーティションテーブルは一つの台帳に過ぎない。書く気になれば、どんなデータも書けてしまう。勿論パーティションが位置的に重複するなどの矛盾はOSインストール時に問題になるので、当然許されないが(それでも尚パーティションテーブルに書くことはできちゃうが)、特に矛盾したデータでない限り、上記のような構成も許される訳である。

 これを踏まえて、次項以降を読んでほしい。

 


限界を超えるカラクリ

 SyMonとSystemManageVは独自の内部パーティションテーブルを持っている。独自のテーブルだから、勿論4つの制限などない。先ほど独自のデータを持っていても、結局OSに相手にされないので、だめだと述べた。勿論この独自の内部テーブルをOSに見せたりはしない。例として、以下のように10個のパーティションを内部テーブルに持っていたとしよう。

[内部テーブルが持つ情報]
内部テーブルが持つ情報

 例えばWindows98があるとしよう。これを起動するときにSyMonなどは青色のパーティションをグループ化しておく。そしてこのグループの情報でMBRの本物のパーティションテーブルを書き換えてしまうのである。勿論位置情報も含めて、ごっそり書き換えてしまう。この時MBRのパーティションテーブルは以下のような情報になる。
 

パーティションテーブルエントリ 内部テーブル番号

 つまりD領域にあるWindows98が起動したとき、このWindows98からは青色の領域しか見えないことになる。OSが参照するMBRのパーティションテーブルにはこれらのパーティションの情報しか無いからだ。これは以前から説明してきた隠しパーティションとは根本的に違う。隠しパーティションは単にそのパーティションタイプをあるOSが知らないというだけだった。しかし今回のものはその位置情報からして全く分からない、究極の隠し領域となる。

 また、C領域Windows2000があったとしよう。これを起動するときはSyMonがグループでパーティションテーブルを置き換える。この場合、MBRのパーティションテーブルは以下のようになる。
 

パーティションテーブルエントリ 内部テーブル番号
空き

 やはり、この時起動したWindows2000からは赤領域以外は全く見えない。同様にE領域にある、例えばLinuxを起動した場合である。
 

パーティションテーブルエントリ 内部テーブル番号
空き

 起動したLinuxからは、緑領域以外を見ることができないのはもう説明するまでもないだろう。


 つまりSyMonなどはあるOSを起動する前に独自の内部テーブルからパーティショングループ(最高4つまでの基本パーティションの集合)を一つ抽出して、その情報でMBRのパーティションテーブルをごっぞり書き換えた上でそのOSの起動を開始する訳だ。だから、あるOSが起動しているときはそのOSから見れば、ちゃんとPC/AT互換機の一般仕様に従っている。まあOSからするとこんなカラクリが裏に隠れていることなど、全く分からない訳である。

 ただし、それは反面、あるOS起動時は依然PC/AT互換機の制限に服さねばならないことも意味する。やはり4つまでの基本パーティションしか認識することはできない。しかし、これでハードディスク全体としては、4つまでの基本パーティションという制限を逃れることができる訳だ。カラクリはこんなところである。

 確かに納得のできる、よく考えられた方法だと思うが、かなり乱暴な方法だと思った方も多いのではないだろうか。何しろMBRのパーティションテーブルがOS起動時に動的にどんどん変化してしまうのだ。ハードディスクの物理的なパーティション状態を正確に反映したMBRのパーティションテーブルなど、もはや存在しえないことになるのである。

 これを生理的に受け入れることのできる人で、更にこの動作をよく理解できた人は挑戦してみてもいいだろう。

 さて、そういう人のためにもう少し実用的な説明をしよう。
 


実際の構成

 前述の例では、各パーティショングループが完全に排他だったが、実際は1つまたはそれ以上のパーティションを各グループで共有しても構わない。つまり一つのパーティションは複数のパーティショングループに所属することができる。包含するパーティションのファイルシステムを共通で認識できるOS同士の場合、そうするのが普通だろう。

 また各グループ毎に4つの基本領域を持てるとはいっても、普通はそのうち拡張領域を含めて、実際は2つか3つ程度に抑えるだろう。

 因みに拡張領域は一つのグループに一つしか含めることはできない。これはPC/AT互換機の一般仕様に従うためだ。とにかく本物のパーティションテーブルに書く内容はOSが参照する以上、基本的なPC/AT互換機の一般仕様は守る必要がある。またブートコード領界などの問題もあるので、パーティションの配置はきちんと設計する必要があるだろう。

 では実用的な例を紹介する。内部パーティションテーブルには以下のような情報を持っている場合である。

[実用的内部パーティション構成例]
実用的内部パーティション構成例

 例えば、B拡張領域にはFAT16の論理領域を含んでいる。またD拡張領域にはNTFSの論理領域を含んでいるとする。この場合、以下のような起動グループ例が考えられるだろう。

[A領域のWindows95aを起動した場合]

パーティションテーブルエントリ 内部テーブル番号
空き
空き

[C領域のWindowsNTを起動した場合]

パーティションテーブルエントリ 内部テーブル番号
C
空き

[E領域のWindows98を起動した場合]

パーティションテーブルエントリ 内部テーブル番号
E
G
空き

[F領域のWindows2000を起動した場合]

パーティションテーブルエントリ 内部テーブル番号
F
C
G

[G領域のWindowsMEを起動した場合]

パーティションテーブルエントリ 内部テーブル番号
G
E
B
空き

 拡張領域を多くのグループで共有している。またいくつか共通に認識できる基本領域も共有している。起動領域第1エントリにしているが、これは決して必須ではない。この方が分かりやすいと思ったからである。逆に物理位置順に並べた方が気分のいい人は、そのように並べてもいいかもしれない。

 因みにSyMonもSystemManageVも内部パーティションテーブルは、MBRに続く例の同トラックの空きセクターを利用している。また必要ないとは思うが、基本的にMBR乗っ取り型なので同種のブートローダとは併用できないことに注意してほしい。

 いずれにしてもこれらのブートローダを使う場合、最初にどのような内部パーティションを作成するか、どのパーティションを組み合わせてどのOSを起動するのかなど、確り設計しておく必要がある。ブートコード領界や、各OSの制限など、今までのページで説明してきたすべての知識を駆使して設計する必要がある。

 内部パーティションはたとえばPartitionMagicなどの通常のパーティショニングツールでは当然扱えないので後で構成を変更する場合、結局再インストールをするはめになることが多いのため、最初の設計は非常に重要になる。ただしSystemManageVは、PartitionMagicのように内部パーティションをデータ保持したまま、サイズの変更をしたり、移動したりすることができる。よって構築後も変更が可能だ。しかし対応ファイルシステムは限られている(何でもできるのはFAT系だけ、NTFSやext2は移動だけ対応)ので、やはり最初の設計を怠ってはいけない。

 これ以降の説明では例として上述の内部パーティションテーブル例を使う。サイズは以下のような20GBのハードディスクということにする。

[各パーティションのサイズ]

Partition サイズ
A 2GB
B 3GB
C 2GB
D 3GB
E 2GB
F 4GB
G 4GB

 


SyMon

 まずSyMonのインストールだが、配布のアーカイブを解いて、起動ディスクなどに入れて、「instal」lというバッチファイルを実行する。このバッチファイルでは、bootcomp.comというSyMonの各データを構築して、それをファイルに書き込むプログラムと、bootsave.comという「bootcomp」が出力したファイルを実際にハードディスクのトラック0(MBRがある先頭トラック)に書き込むプログラムを順次実行している。それぞれ引数を指定することで特定のハードディスクを対象にすることができるが、指定がない場合は第1ハードディスクが対象になる。

 このプログラムはあとでSyMonデータのバックアップとレストアに使える。「bootcomp.com」が現在のデータをファイルに書き込むバックアッププログラムとしても使かえる。指定方法は以下である。

 bootcomp バックアップファイル [対象ハードディスク番号]

 対象ハードディスクは第1ハードディスクなら「0」、それ以降「1」と、単にBIOSで認識する数値を指定する。省略した場合は「0」となる。バックアップファイルは名称は任意だが、なぜか存在しない場合作成しないので、とりあえずなんでもいいのでファイルを作成しておき、それを指定する。一方レストアも同じシーケンスで以下のようになる。

 bootsave バックアップファイル [対象ハードディスク番号]

 MBRもろともレストアするから、慎重に行おう。不用意に実行してはいけない。

 最初のインストール時はとりあえず「install.bat」を使えばいいだろう。自動的に上記2つのコマンドが連続して実行される。

 「bootcomp」はまず、現在のパーティションの状態を検査して、内部パーティションテーブルやOSのエントリ(SyMonではこれをOSディスクリプタと呼ぶ)なども自動的に追加してくれる。もちろんこうして出来上がった内部パーティションテーブルは当然まだ普通の4つまでのパーティションを含んだ、PC/AT互換機一般のものと同じとなるが、インストーラが自動作成した内部パーティションテーブルやOSディスクリプタは他のデータの作成の参考になる。

 しかし今回はまったくマッサラの状態から作ることを考えよう。ハードディスクは今買ってきたばかりの20GBのIDEハードディスクである。

 インストールが完了したら早速PCをリブートする。ハードディスクのMBRが読み込まれると、まず自動生成したOSディスクリプタでメインメニューが表示されるはずだ。マッサラのハードディスクの場合、一つもOSディスクリプタがないかもしれない。

 まずここで設計した内部パーティションテーブルの作成にかかる。メインメニュー画面で「F3」を押すと各種ツール選択メニューがでるから、ここでPartition Editorを選択して起動する。「ALT-D」で直接メインメニューから起動することもできる。以下のような画面のツールである。

[Partition Editor画面]

 これを今回は以下のような値に設定してみる。

[前述の内部パーティション構成例のPartition Editorでの設定]

  Partition Begin Partition End LBA addressing  
N S H C S H C Begin Length FSC Comment
0 0 1 0 62 254 260 63 4176837 #06 FAT16
1 0 0 261 62 254 650 4176838 6265350 #05 EXTENDED
2 0 0 651 62 254 910 10442188 4176900 #07 HPFS,NTFS
3 0 0 911 62 254 1300 14619088 6265350 #0F EXTENDEDx
4 0 0 1301 62 254 1560 20884438 4176900 #0C FAT32x
5 0 0 1561 62 254 2080 25061338 8353800 #07 HPFS,NTFS
6 0 0 2081 62 254 2600 33415138 8353800 #0C FAT32x
7 0 0   0 0 0 0 0 #00 empty
8 0 0   0 0 0 0 0 #00 empty

 基本的にはCHSアドレスを記入しながら内部パーティションを作成していくのだが、パーティションはシリンダー境界に合わせて作成する必要があるので結構こつがいる。既存のパーティションの値をみてもらえば大体分かると思うが、ヘッダーとセクターは大体固定で、開始アドレスはヘッダーもセクターも共に「0」で、終了アドレスは通常ヘッダーが「254」で、セクター「62」だろう。先頭パーティションだけはヘッダー「1」から始まるのは、MBRを含む先頭トラックは開けておく必要があるからだ。

 LBA addressingの値は、「CHS」アドレスを入力すると自動的に入るから、ここに直接値を入れることはないだろう。「Length」はパーティションのサイズを確認するのに使えるはずである。これに「512」をかければパーティションのサイズがでる。

 FSC」カラム(File System Code)はパーティションタイプを16進数で指定する。そのパーティションをどんなファイルシステムで使うかの指定になる。注意点としてはFATや拡張領域はLBA対応とそうでないのがあるのでパーティションの一部でもハードディスクの先頭から8GBを超える場合、LBA対応のもの(FAT32の場合、0x0Bではなくて、0x0C)を使用してほしい。

 以下にPartition Editorでの主な操作キーを示す。

[Partition Editorのキー動作]

キー 動作
Left, Right, Up, Down カーソル移動
0-9, A-F パーティションパラメータの変更
BACKSPACE 前の文字の削除
Shift+DEL パーティションの削除
PgUp, PgDn 現在のシートの変更
Alt+M Partition Mapの起動
ENTER 変更の適用
ESCAPE 変更のキャンセル

 もっとも前述の終了CHSアドレスのヘッダーアドレスとセクターアドレスは、最近のハードディスクの場合の一般的ジオメトリだ。ハードディスクによっては違うかもしれない。だから既存のパーティションのデータを参考にする訳である。ただまっさらから作る場合は、どのような値にすべきかがわからない場合もあるだろうし、そうでなくてもアドレスをいちいち入れていくのは結構面倒だ。そこでパーティション作成をもっと楽にした支援ツールがPartition Editorのサブツール「Partition Mapである。

[Partition Map]

 「Partition Map」はその名の通り、パーティションを地図のように図形イメージにして作成できる。空き部分にカーソルを置いて、「SPACE」キーで作成を開始し、カーソルキーで範囲を指定し、また最後に「SPACE」キーで終了位置を決める。1カラムj1シリンダーで煩わしいヘッダー値、セクター値のことを考える必要がない。逆にあまり細かな作業ができないのが残念なのだが、全体サイズなども下の方に表示されるのでアドレスを数値で入れていくよりかはずっと楽に作成できるだろう。

[Partition Mapのキー動作]

キー 動作
Left, Right, Up, Down カーソル移動
SPACE パーティションの開始及び終了
Shift+DEL パーティションの削除
PgUp, PgDn ページの移動
ENTER 変更の適用
ESCAPE 変更のキャンセル

 ただパーティションタイプ(FSC FileSystemCode)などは「Partition Map」では指定できないので、「Partition Editor」に戻って指定する。パーティションは、0から9、及びAからZの36個まで作成可能だ。


 さて、内部パーティションを作成したら次にどのパーティションを組み合わせてOSを起動するかのOSディスクリプターの作成になる。メインメニューから「F2」キーセットアップ」メニューを起動する。画面イメージは以下のようなものである。

[Setup Menu画面]

 これを今回は以下のような値を設定する。

[セットアップメニュー設定例]

     

Partitions

 
  Name of OS   0 1 2 3   AP BP D   Passwd
0 Windows 95a 0 1 - - 0 0 0 off
1 Windows NT 2 0 3 - 0 2 0 off
2 Windows 98 4 6 1 - 0 4 0 off
3 Windows 2000 5 2 6 3 0 5 0 on
4 Windows ME 6 4 1 - 0 6 0 off
5   0 0 0 0 - 0 0  
6   0 0 0 0 - 0 0  
7   0 0 0 0 - 0 0  
 
  Timeout, s(-, 1-600) 10
  Default OS to start (-, 0-J) 3
  Default cursor position (-, 0-J) -
  Password for floppy booing 0ff

 Name of OSはディスクリプターの表示名称になるので自分で分かりやすい名称にする。

 Partitions」カラム0」から「3が、本物のマスターブートレコード(MBR)のパーティションテーブルエントリに相当する。MBRのどのパーティションエントリに内部テーブルの何番のパーティションが入るのかを指定する。内部パーティションの指定は「Partition Editor」で指定した0」から「Zまでの内部パーティション番号である。エントリにパーティションを入れない場合(空きにする場合)はを入力する。

 AP」カラムは起動時アクティブにするパーティションで、MBRパーティションテーブルのエントリ番号、つまり「Partitions」カラムの「0」から「3」のいずれかで指定する。BP」カラムはブートパーティションで、「Partitions」カラムに入れたいずれかの内部パーティション番号で指定する。両者の指定するものの違いに注意してほしい。前者は「Partitions」カラムの番号、後者は内部パーティション番号だ。

 ブートパーティションとアクティブパーティションは同じになることが多いだろう。従って「AP」カラムを入力するとそのエントリの内部パーティション番号が自動的に「BP」カラムに入力される。意図的に両者の別のパーティションにしたい場合は手入力してほしい。もちろん「BP」カラムには「Partitions」カラムに入れたもの以外は指定できない。

 D」カラムドライブの指定だ。SyMonは複数のハードディスクがある場合、それぞれのMBRにSyMonをインストールする。そしてそれぞれのハードディスクで内部パーティションテーブルを作り、OSディスクリプタも作る。更に本来はそれぞれのハードディスクに移動してそれぞれのメニューからOSを起動する。複数ハードディスクの扱いの原則はこれである。

 しかしBIOSで第1ハードディスクとしているドライブのメニューから直接第2ハードディスク以降のOSディスクリプタが指定できるとドライブを移動する手間が省けて便利だということで、そのような方法も用意されている。その場合に「D」カラムにドライブ番号を指定する。自ドライブを「0」として、あとはBIOSが認識する順序に従う。

 この時「BP」カラムに指定するものは起動目的のハードディスクで起動したい「OSディスクリプタ」を指定する。通常の場合と違うので注意してほしい。「OSディスクリプタ」を指定する訳だから、あらかじめそのハードディスクで内部パーティションテーブルの作成は勿論、OSディスクリプタの作成もしておかねばならない。ただし、なぜか私の環境では一切第1ハードディスクのメニューから直接第2ハードディスク以降の起動ができないのでこの動作を確認していない。一応ドキュメントに書いてある説明通りにここでは説明した。第2ハードディスク以降に移動した上での起動は確認している。

 各OSディスクリプターにはパスワードを指定できる。因みにOSディスクリプターは20個まで作成できる。

 Timeoutは、秒で1から600まで指定できる。「-」にした場合はタイムアウトはなしで、いつまでもユーザの入力を待つ。時間経過によって起動するOSディスクリプターは次に説明する、明示的にデフォルトとして指定したものか、その指定がない場合は前回起動したディスクリプターである。

 Default OS to startは、「Timeout」時間が経過すると起動されるOSディスクリプターを指定する。必要ない場合は「-」にしておく。

 Default cursor positionは起動時にカーソルが位置しているOSディスクリプターを指定する。

 Passwd for floppy bootingはフロッピーブート時パスワードを設定する場合は指定する。

[セットアップメニューのキー動作]

キー 動作
TAB, Shift+TAB OSディスクリプタ内の水平移動
0-9, A-Z 内部パーティション指定
- 空パーティション
Left, Right, Up, Down カーソル移動
SPACE パスワードの設定/削除
Shift+DEL OSディスクリプタの削除
PgUp, PgDn OSディスクリプタテーブルの移動
Shift+UP, Shift+DOWN 2つのOSディスクリプタの上下交換
BACKSPACE 前の数字の削除(Timeout指定)
ENTER 変更の適用
ESCAPE 変更のキャンセル

 さて、上記のような設定を終えてメインメニューに戻ると、次のようなメニューが表示されるはずだ。

[SyMonのメインメニュー]
SyMonのメインメニュー

 基本的にここで「OSディスクリプタ」を選択して起動する。複数のハードディスクがある場合は他のハードディスクに移動するメニューBooting from HDx (サイズ)もでる。他のハードディスクへの移動は単にそのハードディスクのMBRのブートコードを実行するだけなので、もしそのハードディスクのMBRに他のブートローダがあったらそれを実行する。

 またフロッピー起動も可能だ(メニューBooting from A:)。さらにはATX電源の場合、ここからコンピュータの電源を切ることもできる(メニューTurn off the computer)。

 もちろんこのメニューはまだ何の実体もないものの反映だから、この後パーティションのフォーマット、OSのインストールをしていく必要がある。まず例にある「Windows 95a」ディスクリプターのインストールをしてみよう。

 用意するものは普通にWindows95をインストールするときに用意するものと同じで、起動ディスクとインストールCD(勿論インストールFDでもOK)である。まず普通にハードディスクからブートしてSyMonのメインメニューを表示させる。ここでディスクリプター「Windows 95a」にフォーカスをあてて「SPACE」キーを押す。するとこのディスクリプターの前に*」マークが付く。

 その後、起動ディスクをフロッピードライブに挿入して「Booting from A:」を実行してフロッピーディスクからブートする。事前の「*」マーク付けによって、フロッピーブート時にそのディスクリプターで当該ハードディスクのパーティションが書き換えられる。このあたりは重要だ。SyMonはOSディスクリプターの起動時にMBRのパーティションテーブルの書き換えと、ブートを行なうが、ブートをせずにパーティションテーブルの書き換えだけを行なうのが「*」マーク付く。「*」マーク付けを行なって他のハードディスクに移るか、フロッピーからブートするとマークをつけたディスクリプターの内容でパーティションテーブルを置き換える。(「*」マーク付けだけでは書き換えない)

 例ではこの場合のパーティションは第1領域が「FAT16」の基本領域、第2領域が拡張領域」になっているはずだ。起動ディスクでブートしたら、まずはFDISK拡張領域内に論理領域を作る。FDISKで行なうのはこれだけである。その後はPCを再起動する。フロッピーディスクは入れたままにしてフロッピーからブートする。起動したら各パーティションをフォーマットし、引き続きOSのインストールを行なう。インストールが完了すれば、そのディスクリプターに関しての作業は完了ということになる。

 ただWindows9x系はOSのインストールを行なうと、MBRをIBMオリジナルのブートストラップローダで書き換えてしまうので一通りインストールが完了した後、SyMonの再インストールを行なう必要がある。しかし内部パーティションテーブルなどはちゃんと残っているので一からやり直す必要はない。インストールを行なうと「既にインストールしてある」という旨のメッセージが表示されるだろう。

 他のディスクリプターに関しても基本的には同じ手続きで作成していく。

 ここで注意が必要なのはOSのツールで行なうべきことと、決してやってはいけないことがあることだ。今まで説明してきたこの原理を理解していれば問題ないと思うが念のため言及しておく。

 論理領域の作成パーティションのフォーマットは必ずOSのツールを使う。SyMonではできない。しかし基本領域と拡張領域の作成はSyMonで行なう。決してOSのツールで行なってはいけない。その理由が分からない人はこのページの最初からよく読みなおして原理の理解をしてほしい。それでも分からないようなら、このツールを使うのは諦めよう。


 「F3」キーで起動するツールには、前述の「Partition Editor」の他に以下の3つのツールがある。

  1. Disk Editor
    ディスクをLowレベル(バイナリレベル)で扱うツールだ。普通の人には手におえないだろう。ブートセクターなどがどんなデータで構成されているのか、覗いて見るにはいいかもしれない。もしセクターのコピーなどができるなら、多くのパーティションはブートセクターのバックアップコピーを持っているので、そこからの修復などに使えるが、1バイトずつ手入力する方法しかないようなので(マニュアルにこのツールの説明がない)非常に使いづらい。自信のある人はブートセクターやマスターブートレコードの修復に使えるかもしれない。
     
  2. Search Partitions
    既存のディスクからパーティションを自動的に探しだす。SyMonは一応いくつかのファイルシステムのブートセクターの構造のデータベースを持っていて、その情報をもとにディスクからパーティションを探しだすのである。結構ちゃんと探しだすので驚く。もしSyMonの内部パーティションの情報データが壊れた場合、これを修復するのに利用できる。ただ勿論このツールの探索は完全なものではないので、あくまで補助機能と考えた方がいいだろう。
     
  3. Security Service
    単なる各ツールを使うときのパスワード設定である。

 


SystemManageV

 こちらは市販ツールであり、以前はランドコンピュータからBootItという名で販売されていたツールがジャングル社から機能はそのままで名称だけ変更して販売されるようになった。単にランドコンピュータからジャングルに売却されただけだろう。

 日本語マニュアルも用意されており(非常にわかりにくいのだが)、日本語サポートも受けられるので細かな使い方は説明しないが、特徴、特にSyMonとの違いとマニュアルのわかりにくい部分の補足など行ないたいと思う。

[SystemManageVメインメニュー]

 SystemManageVのマニュアルでは既存パーティションを生かしつつ、内部パーティションを作成する方法で解説を進めているが、そもそも既存の概念を大きく超えたことをしようとしているので、ここはやはり1から設計と構築を行った方がすっきりするだろう。

 だからハードディスクは一旦完全にデータを消して、作りなおしたほうがいいと思う。既存のOSの設定を生かしたい場合はバックアップを取る等の方法で対処し、ヘタに既存パーティションをそのまま生かそうとは思わない方がいい。

 インストールは付属のインストールディスクで行う。このインストールディスクは添付のCD-ROMにあるツールで作成することもできる。添付のCD-ROMにはWindowsで各種設定を行えるWindows版ユーティリティも含まれているので非常に便利である。

 インストールディスクで起動すると「Auto」「Manual」でインストールするか選択肢が出てくるが、まずAutoで問題ないだろう。「Auto」を選択するとインストールが始まり、最初に第1ハードディスク上にSystemManageV専用の一つパーティションを作成しようとする。この領域は10MBから16MB必要だ。だからそれくらいの空き領域がハードディスク上に必要である。空きがない場合、この場でどこかのパーティションを潰して、空きを作ることもできる。今回はハードディスクをマッサラにしてから行うので問題ないだろう。自動作成に任せると基本的にはハードディスクの最後の2シリンダーあたりを利用して作成される。このパーティションにはSystemManageVに関する様々なデータが保管される。

 インストールが完了すると再起動を促すのでそれに従う。再起動すると上記のようなメインメニューが出るが、まだ実際エントリ「Select Boot Option」Auto Createというエントリだけのはずだ。ここでまず「F10」で次のメンテナンスユーティリティ画面を表示する。

[メンテナンスユーティリティ画面]

 SystemManageVの設定は殆どこの画面を中心に進める。

 まずはここで、Partition Workを選択する。この「Partition Work」がSystemManageVの内部パーティションを作成する機能でSyMonの「Partition Editor」に相当するものだ。「Partition Work」を選択するとドライブを選択する画面が最初に出るので、目的のドライブを選択する。その後次のような「Partition & Volumes」画面が表示される。

[Partition & Volumes画面]

 これがSystemManageVの一つのディスクの内部パーティションの一覧である。パーティションの作成はここでfree spaceを選択して「Enter」を押し、操作画面がでるのでその中からCreate」操作を選んでパーティションを作成する。希望のパーティションタイプとサイズを指定して作成していく。SyMonのようにセクターやシリンダーを指定するといった細かな指定方法はとれないが、サイズ指定だけでも特に不都合はないだろう。作成したパーティションからOSをブートするつもりがあるなら、パーティションのプロパティでBootable」属性は付与しておく。これを付与しておかないと、あとでこのパーティションをブートパーティションとして選択することができない。

 作成したパーティションがFATの場合、この場でフォーマットするか尋ねてくる。ここでフォーマットしてしまっていいだろう。それ以外のパーティションタイプの場合はフォーマットできないので、OSインストールフェーズでOSの機能を用いてフォーマットすることになる。

 またSyMonでは拡張領域の作成はできたが、その中に論理領域を作ることはできなかった。論理領域の作成はOSのツールを使う必要があった。しかしSystemManageVでは論理領域もここで作成することができる。更にそれがFATの場合、フォーマットすることも可能だ。

 基本的には上記の操作の繰り返しで、ブートコンセプト設計時に描いたような内部パーティションを次々を作成していく。

 内部パーティションが完成したら次は起動メニューの作成になる。メンテナンスユーティリティ画面からBoot Menu Configurationを選択する。どのパーティションを組み合わせて、どのパーティションからブートするのかは、ブートコンセプト設計時に決めているはずだ。ここではそれに基づいて起動エントリ(メニュー)を作成していく。SyMonではセットアップメニューで行ったことである。ただしSystemManageVでは、他のハードディスクのパーティショングループも指定できるので合わせて設定したい場合はこれも行う。

[Boot Menu Configuration画面]

 「Boot Description」欄がメニューに表示されるこのエントリの識別子となるものなので自分でわかる名称にすればいいだろう。「Drive:」欄は起動ドライブを指定する。第1ハードディスクなら「0」だね。

 Partition」欄はブートパーティションを指定する。このパーティションからブートしてこのパーティションがアクティブになる。この欄にフォーカスをあてて「Enter」を押すと、「Drive」欄に指定したドライブの内部パーティションのうち、プロパティで「Bootable」となっているパーティションのリストが表示されるから選択する。

 因みにここには基本領域だけでなく、論理領域も指定可能だ。リストから拡張領域を選択すると更に内部の論理領域のリストがでるから希望の論理領域を指定する。

 「File」欄はマルチOS(Multi-FAT)機能を利用する場合に指定する。ここでは説明しない。マニュアルを読んでほしい。「Group/Par....」欄も同じだ。「Sound」欄は起動時に音を鳴らすことができのでそれを指定する。これもマニュアルを読めばわかるだろう。

 MBR HDDx」欄が各ハードディスクのこの起動エントリ起動時に設定するパーティショングループを指定するものである。

 こうして起動メニューを次々を作成していく。さて起動メニューの作成が完了したら、早速OSのインストールだが、SyMonでは希望のエントリにスペースで「*」印をつけた上でフロッピーブートした。SystemManageVでは、とりあえずいきなり希望のエントリをあたかもここからブートさせるかのように起動メニューで選択してしまう。当然まだOS起動できる状態にないのでエラーメッセージっぽいものが表示されるが、フロッピーディスクを入れるように指示されるので、その指示に従って起動フロッピーなどを入れてOSのインストールを開始するだけだ。結局はSyMonと同じようなものである。このあたりはマニュアルにも書いてあるし、実際やってみてもそれ程迷うことはないだろう。

 ここでマニュアル内や各画面で随所で使っている略語について解説する。なんとマニュアルにはその説明が一切ないからだ。ひどいマニュアルである。以下はランドコンピュータさんが提供してくださった技術書を元に解説してみた。実際の動作などから私が勝手に推測した部分もある。実際作っているのはテラバイト社なので、ランドコンピュータも完全に理解していないようである。

  1. EMBR(Extended Master Boot Record)
    拡張マスターブートレコード。後述するMPTMBFTMDTを含んだものだ。MBRの後続セクターに格納されているようである。
     
  2. EMBRM(Extended Master Boot Record Manager)
    起動メニューなどSystemManageVが動作するのに必要な情報を多くを含んだパーティションを指す。SystemManageVインストール時に10MB程必要とする領域である。
     
  3. EMBRL(Extended Master Boot Record Loader)
    EMBRをロードするプログラムだ。MBRの後続セクターにあるが、技術書によるとEMBRの内部のMDT内にあるので、どの時点で読み込まれるのかはよくわからない。
     
  4. EMBRI(Extended Master Boot Record Initiator)
    MBRに格納されており、EMBRやEMBRLをロードする1st Loaderのようなものではないかと思う。
     
  5. MPT(Master Partition Table)
    EMBRの構成物の一つでSystemManageVの内部パーティションテーブルそのものである。
     
  6. MBFT(Master Boot File Table)
    これもEMBRの構成物の一つでマルチOS設定のグループファイルなどを格納している。
     
  7. MDT(Master Driver Table)
    やはりEMBRの構成物の一つだが、技術書を読んでも何なのかよくわからない。しかし中身にEMBRLが入っていることはわかっている。 


 とりあえず、このくらいの解説と不備だらけだが、添付のマニュアルで何とかSystemManageVは使っていけると思う。

 


←前へ(裏技編)  次へ(特殊環境編)→

 


目次へ