マルチブートの仕方(プロローグ)

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

マルチブートのすすめ

 Windows2000の登場以来、マルチブートを行う人が増えた。それ以前からWindows95/98とWindowsNTでデュアルブートができたが、これらはその用途が比較的はっきり分かれていて(Windows95/98系は個人使用でWindowsNTは企業用途)、それほどデュアルブートを行わねばならない場面が少なかったと思う。

 しかしWindows2000は、ぐっと個人使用に食い込んできた。しかし当面はドライバが未対応などの諸事情から、とりあえず従来環境を残し、デュアルブートにしておくという人が続出した訳だ。もちろんWindows2000がとても簡単にデュアルブート環境を構築できること、大容量ハードディスクが非常に安くなったことも手伝っているが。更にWindowsXPの登場はこの状況に拍車をかけている。

 また最近のLinuxブームの影響で、これをいじってみたいと思う人も多いはず。しかし当然まだまだWindows環境を捨てることなどできる人は極少数だろう。Linux専用マシンを用意できる人もそう多くはないだろうから、やはりとりあえずWindowsとデュアルでいきたいという人が圧倒的に多いと思う。Linuxも比較的Windowsとマルチブート環境を作りやすいので、挑戦したいと思う人は多いはずだ。

 本来ひとつのOSで何でもできればいいのだが、現状ではなかなか難しいし、折角いろいろなOSがあるのなら、いろいろいじってみるのも面白いかもしれない。そもそもハードディスクにパーティションがあるのは、複数のファイルシステムをひとつのハードディスク上に実現するため、すなわち複数のOSを入れるためなのだ。

 


マルチブートの概要

 マルチブートを正しく理解するには、その前提となるPC/AT互換機のブートの仕組みとハードディスクのパーティションについてはかなり高度な理解が必要だ。これらは「ブートの仕組み」「パーティションとその切り方」を参照してほしい。原則としてこれらのページで解説していることは、復習程度でしか繰り返さないので、そのつもりで読んでほしい。またそれぞれのOSを使っていく訳だから、そのOSについての基礎的な知識はあるという前提での説明になる。

 もっともマルチブートの中にはWindows9x系とWindows NT系のマルチブートのように殆ど知識などいらずに実現できるものもある。しかしたとえ実現は簡単でも、ひとたびトラブルが起こるとOSが起動しない事態になるので、多くの人がパニックになる。ここではそのような事態でも正しく対処するための知識を提供するのが目的なので、基礎知識はサボらずに身に付けてほしい。

 マルチブートの正しい理解で肝要なのは、そもそもこのOS横断的、ファイルシステム横断的行為を、OS依存的世界とその埒外の世界でどうコントロールしているのかを見極めることだ。

 と、言われてもちょっと難しいと思う。まず注目してほしいのは、ブートプログラムがハードディスクのどこにインストールされるのかだ。それがわかるとブート手順のどのプロセスに介入してくるのか、少し見えてくると思う。いずれにしてもブートの仕組みとパーティションについての知識が中途半端ではマルチブートについても到底正しく理解することはできないから、何度も言うようだが基礎知識はしっかり身に付けてほしい。

 


ライセンスについて

 OSをはじめソフトウェアの場合、我々はライセンスというものを購入してそのソフトウェアを利用する。実際は物理的なCD-ROMなどのメディアで購入することが多いわけだが、その物理媒体が購入の対象ではない。そのソフトウェアを使用する権利(ライセンス)を我々は購入するのだ。

 購入したライセンスによって許諾される権利はそのソフトウェアによって様々だが、必ずライセンス契約書などに明記されている。これらの条項は遵守しなければならない。ライセンス違反はれっきとした犯罪である。

 アプリケーションソフトによっては、一人の人が使う限り、複数のPCにインストールすることを許諾しているものもある。しかしOSなどの比較的巨大なソフトウェアの場合、1ライセンスで複数インストールを許諾しているものは非常に稀だ。

 マルチブートを行う場合、ややもするとこのライセンス違反を起こしてしまう場合がある。各OSのライセンス条項を十分に読んで、違反のないように構築する必要がある。

 例えばWindowsなどではアップグレード用の廉価な版が発売されることがある。アップグレード版はアップグレード対象である以前の版の使用権を放棄することを条件として安価に提供されるのが普通だ。従ってアップグレード後は以前のOSを使用することは許されないから、アップグレード版ではマルチブートができないと考えてもらった方がいいだろう。

 ライセンス違反にはくれぐれも気をつけてマルチブート環境を構築してほしい。

 


このサイトの歩き方

 さて基礎知識は身に付けるにしても、一言でマルチブートと言っても様々なスタイルがある訳だから、その全てを知らねば実現できない訳ではない。目的に応じて必要な知識の量は変わってくる。

 このサイトで紹介するマルチブートの方法も全てのマルチブートを網羅した訳ではないが、非常に広範に渡っており、読みこなすには骨であるかもしれない。従ってコースによって、読むべきページ、ポイントとなる項目を整理しておく。以下では基礎知識ページとはこのページの残りの部分、「ブートの仕組み」、及び「パーティションとその切り方」を指す。

  1. Windowsオンリーコース
    Windows9x系のOSは一つ、その他WindowsNT系のOSを一つ又は複数という構成の場合、基本的にこれ以降のページを読む必要は殆どない。まあトラブル時の対応のため、基礎知識ページとWindows初級編を読んでもらえれば十分かと思う。NTLDRの動きくらいは知っておいて損はないだろう。
     
  2. Windows+Linuxコース
    上記に加えLinuxを一つ、ないし複数を導入しようという場合、上記ページに加えLinux初級編を読んでもらえばまず問題ないと思う。LILOの基礎動作は理解しておいてほしい。
     
  3. Windows9x系複数コース
    Windows95やWindows98などはマルチブートに対応していないので、これらを複数で構成する場合、簡単なようで実は結構問題がある。この場合は「Windowsオンリーコース」に加え、機能編及びWindows中級編を合わせて読んでほしい。特に機能編で説明しているアクティブ領域切り替え隠しパーティションについての知識は必須となる。どうしてこのようなことをするのか、その意味と原理を理解しておいてほしい。複数ハードディスク利用の問題もここの範疇となる。
    実現はフリーツール編市販ツール編で紹介するツールで可能なので、合わせて読んでおくといいと思う。ただしフリーツールは環境構築支援機能(付属マニュアルなども含めて)は決して強力ではないので、よくよく原理を理解して取り掛かる必要がある。尤も市販ツールを使う場合でも、原理の理解を疎かにしてはいけない。
     
  4. Windowsイレギュラーコース
    構成的にはWindowsオンリーコースと同じでも、インストールの順序などが違うと難しくなる場合がある。例えばCドライブに既にWindowsNT/2000がインストールされている場合、同領域または別の空き領域にWindows9x系OSをインストールすると、場合によっては既存のWindowsNT/2000環境を破壊したりするため、その修復に対する知識が必要だ。修復作業そのものは別に難しい作業ではないが、NTLDRによるマルチブートの仕組みを確り理解して、どうしてこのようなことが起こるのかを、知っておく必要がある。読むべきページは「Windowsオンリーコース」と同じだが、同ページに記述してあることを完全に理解しておかないと、正しくトラブルに対応できない。
    また上記の例で、CドライブがNTFSだった場合は、また話が大きく違う。この場合、「Windows9x系複数コース」と同じくらいの知識レベルが要求される。NTLDRによる切り替えはもはや使えないため、アクティブ切り替えの動作が必須になってくるからだ。このあたり、どうしてそのようになってしまうのかの理由も含めて理解する必要がある。
     
  5. Linuxエキスパートコース
    Linuxも沢山のディストリビューションがあるので、あれもこれもと沢山のディストリビューションをがんがんマルチブートしたいという向きには、是非Linux中級編あたりまでは読んでほしい。そしてLILOに不満を感じたら、GRUBに手を出してみよう。
     
  6. その他のOSコース
    私の知識の偏りから、それ程多くのOSは知らないのだが、その他のOS編でいくつかの他のOSの場合のマルチブートの注意点を記載している。ただし基本的にはWindowsやLinuxについての話が応用できるはずだ。希望のOSの起動原理を理解して取り組んでみてほしい。またUNIX OSしか利用しない人でも、UNIX OS同士でマルチブートを行う場合、Windowsのページは、マルチブートの肝となる様々なことが書かれているので、決して読み飛ばしはしないでほしい。
     
  7. バリバリコース
    バリバリにマルチブートをこなすといってもピンキリだと思うが、およそ上記のパターンを超えようと言う人は、このサイトの全てのページをよく読んで理解を深めてほしい。特に論理領域起動第2ハードディスク起動などは多くの人がはまる部分だ。
    また自分にあったブートローダを探すのもいいが、それぞれ一長一短な部分も多いので、複数のブートローダを組み合わせて、使いやすい環境を構築してみるのもいいだろう。ローダによっては必要な環境(OSやファイルシステム)というのがあるから、そのあたりも含めて設計する必要があるかと思う。
     

 


ブートプログラム(ブートローダ)

 OSの起動には何らかのブートプログラム(ブートローダ)は必ず必要だ。従ってOSには必ず何らかのブートローダが付属している。しかし多くはユーザがあまり意識しないでインストールされるものであるため、その存在に気づかない場合が多いだろう。Windowsをインストールした場合に、MBRに書き込まれるIBM、Microsoftオリジナルのブートストラップローダなどはその典型だ。

 OS付属のブートローダは通常そのOSの起動のために用意されるので、他のOSの起動を考える必要はないのだが、後から開発されたOSの場合、既存OSとの共存を意識してユーザとの対話型の動作を行って、OSの選択起動を可能にしているものが多い。

 マルチブートには、このような対話型のブートローダが必要だ。ただそれは上記のようにOSに標準で付いていたり、フリーソフトだったり、結構値のはる市販品だったりと様々だ。またOS上で稼動するExcelやWordといったアプリケーションソフトとは根本的に違うものなので気をつけてほしい。

 以下にいくつかのブートローダを挙げる。IBM、Microsoftブートストラップローダ以外は全てマルチブートにとって必須の対話型ブートローダだ。赤色のものがこのサイトで解説している(または解説予定の)ものだ。

  1. IBM、Microsoftブートストラップローダ
    Windows9xをインストールすると必ずMBRにインストールされるブートローダで、殆どの人がその存在を知らない、または意識していないローダだ。本来、DOS、Windows用のローダだが、そもそもMicrosoftのOS自体が、PC/AT互換機の中で特別な地位にあるので、そのローダであるこのブートローダも1OSのローダの地位を越えて、PC/AT互換機の標準ブートローダとなっている。対話型でないので本来マルチブートには使えないのだが、マルチブートを極めれば極める程、このローダに対する知識が必要になるのは、結局このローダがPC/AT互換機のブートの原点だからだろう。このローダの詳しい解説は「ブートストラップローダの詳細」に譲る。
     
  2. NTLDR(NT Loader)
    Windows NT/2000/XPのカーネルローダ。機能はある意味最も少ないが、Windows系OSを中心に使っているなら、特に変わった要望がない限り、十分使えるはずだ。BootPartユーティリティを使うとぐっと高機能なローダに変化する。
     
  3. LILO(Linux Loader)
    Linuxの標準カーネルローダ。UNIX文化らしい寡黙な巨人で、使いこなすにはスキルが必要だが、奥が深く柔軟で非常に面白い。いろいろな場所に置けるので、他のローダとの親和性が高く、連携にも向いている。ただし環境変化に非常に弱いので、Linux中心のマルチブートでない限り、最近は利用が避けられる傾向にある。
     
  4. MBM Multiple Boot Manager
    フリーのブートローダとしては、使いやすさと纏まりでピカイチ。機能もトップクラスで、更にマウスが使えて、好きな画像を利用できるグラフィックメニューもうれしい。極簡単なものだが、パーティション作成機能もある。国産品なのが更にグッドだね。因みに私はこれをメインで使っている。
     
  5. GNU GRUB GNU Grand Unified Bootloader
    フリーでかつ、UNIX使いなら、これしかないというくらい多機能。各種カーネルのロードが可能なので、そのOS固有のローダとの併用の必要がない。柔軟性の高さもピカ一で、一つ持っていて損のないローダだ。前述のLILOがもつ多くの欠点を克服しているため、最近のLinuxのディストリビューションでは標準ローダとして採用しているものも増えている。
     
  6. ext-IPLExtended-IPL
    やはり国産フリーのローダ。メニュー対応、LBA対応のVersion5が公開されて、ぐっと高機能になった。
     
  7. XOSL (Extended Oparating System Loader)
    フリーローダでありながら、1600x1200というWindowsも真っ青という高解像度のメニュー画面を表示できるので、ブートローダのメニュー画面という気がしない。他のブートローダとの連携機能にも優れ、特にSBMや、Ranish Partition Managerとは直接連携機能を持つ。
      
  8. SBM (Smart Boot Manager)
    現在のところATAPIに限るが、ブータブルCDを起動できる唯一のローダだ。またブートローダとしての主だった機能は殆ど備えているので、結構使える。遊び心などはないが、実用派にはお薦めだ。フリーである。
     
  9. OS/2ブートマネージャ
    OS/2の標準のローダ。今となっては多機能ではないだが、対話型ブートローダとしては草分け的存在。
     
  10. システムコマンダー
    ライフボートの販売、V Communications社開発の製品。市販ブートローダとしては最古参。それだけに使いやすく、初心者にはやさしい。バージョン7になって遊び心もふんだんに取り入れられるようになった。
      
  11. Boot Magic
    ネットジャパンの販売、PowerQuest社開発のパーティション操作ツール「Partition Magic」の付属ツール。市販品だけあって、使いやすいが決して多機能ではない。市販品のわりには遊び心があり、好感が持てる。
     
  12. System Selector
    住友金属システムソリューションズの製品。機能的には「Partition Magic」や「System Commander」の弟分といった内容だが、これらの製品の半額くらいの価格なのでコストパフォーマンスは高い。パーティション操作の速度は「Partition Magic」より速いとのことだ。
     
  13. BootWare
    メディアヴィジョンのパーティション操作ツール「Virtual Partition」の付属ツール。機能的にはSystemSelector同様、「Partition Magic」の縮小版といった感じで、価格もそれほど変わりないので、特にこれを選択する積極的理由はない。ブート画面も市販品としては寂しすぎる。
     
  14. Select-IT
    やはりメディアヴィジョンのパーティション操作ツール「Partition-IT EXTRA STRENGTH」の付属ツール。このところ全然バージョンアップしないので今一。紹介する気にもなれない。
     
  15. GAG(GESTOR DE ARRANQUE GRAFICO)
    名称はスペイン語。英語訳をするとGraphic Boot Managerになる。名前の通り、グラフィカルなメニューが表示される。グラフィックメニューといってもアイコンが選べる程度で、それ以外では他のローダに比べ、際立った特長はない。ただしFDに導入できるので、一つ起動FDを持っていてもいいだろう。 
     
  16. Booteasy
    以前FreeBSDについていた極めて単純な汎用チェーンローダ。DOSからも簡単にインストールでき、独自領域が必要ないので、LILOよりは導入が簡単だが、MBMやGRUBという優れたフリーローダがある中でマルチブートのツールとして、これを積極的に利用する理由は全くない。現在FreeBSDではboot0というローダに変わっており、booteasyは利用していない。こちらはLBA対応されているが、逆に汎用性に欠ける。
     
  17. OS-BS(OS Boot Select)
  18. Bootactv
    いずれもブートする基本領域を切り替えるだけの単純なローダ。アクティブ領域の切り替え程度の機能を備えたものもあるが、やはり優れたフリーローダの前ではペケ。
     
  19. SyMon(System Monitor Release II)
    フリーであるにも関わらず、PC/AT互換機の限界を超えて、一つのハードディスクに36個の基本領域の作成をサポートしたブートローダ。ただし、それゆえ危険度も非常に高い上、ドキュメント(ロシア人の書いたスペルミスだらけの英語)は決して分かりやすいものではないのでかなり上級者向けだ。
     
  20. SystemManagerV
    ジャングル社の販売、テラバイト社開発の製品で、SyMon同様、PC/AT互換機の限界を超えて、実に255個の基本領域の作成を可能にしている。こちらは市販品で日本語版マニュアルもあるが、非常にわかりにくいので結局SyMon同様手ごわい。
     
  21. Ranish Partition Manager
    基本的にはパーティション操作ツールだが、付属のブートローダはやはり31個の基本領域を作成できる特別なものだ。ただし付属のドキュメントはSyMon以上に分かりにくく使い勝手も非常に悪い。機能的にSyMonに勝った部分もない上、シェアウェアなのであまり積極的に使う必要はないだろう。パーティション操作機能もあまり大したことないが、DOSコマンドとして使えるので一つ持っていてもいいだろう。
     

 ざっとこれらのブートローダの特徴を表にしてみた。太字のブートローダは実際私が使ったものだが、それ以外は使っていないので、表の項目はドキュメントやWeb上の情報、人伝えで埋めたもので確実ではない。また私が使ったものでもバージョンによって違う可能性が高いので、鵜呑みにしないでほしい。項目の説明はおいおいしていく。

 

  インストール先*1 インストール方法 必要なファイルシステム 選択方法 アクティブ切り替え 隠し領域 拡張領域起動*2 Multi-FAT機能 8GB超 ドライブスワップ*3 FD起動*4 MBR起動*5 パスワード 電源断 特記事項
IBMブートストラップローダ MBR DOSコマンド なし なし なし なし なし なし 不可 不可 不可 なし 不可  
NTLDR FS NTに付属 FAT or NTFS メニュー選択 なし なし 論(NT系のみ) なし 不可 不可 不可 なし 不可  
LILO MBR, PBR, FD Linuxコマンド ext2 メニュー選択 あり(選択可) あり 拡、 なし 不可 不可 あり 不可 シリアルコンソール
MBM MBR, FD DOSコマンド なし メニュー選択(マウス可) あり(選択可) あり 拡、論 なし 不可 なし メニュー画像変更可
Extended-IPL MBR, FD DOSコマンド、UNIXコマンド なし メニュー選択 あり(実行時選択可) なし なし 不可 不可 なし 不可  
GNU GRUB MBR, PBR, FD UNIXコマンド FAT, ext2, ffs, ReiserFS, Minixfs メニュー選択 あり(選択可) あり 拡、 なし あり シリアルコンソール、ネットワーク起動
XOSL MBR DOSコマンド FAT or 専用領域 メニュー選択(マウス可) あり(選択可) あり 拡、 なし あり SXGA表示、他ローダ連携機能
SBM MBR DOSコマンド なし メニュー選択 あり(選択可) あり なし あり CD-ROM起動
OS/2ブートマネージャ FS   専用領域が必要   なし あり なし 不可 不可 不可 不可   不可  
システムコマンダー MBR Windowsコマンド、専用ディスク FAT or NTFS メニュー選択(マウス可) あり(選択可) あり あり 不可 不可 あり 不可 メニュー画面のスキンを変更できる
BootMagic MBR Windowsコマンド、専用ディスク FAT メニュー選択(マウス可) あり あり 拡、論 なし 不可 不可 あり 不可 メニュー画像変更可
BootWare MBR   FAT メニュー選択 あり あり   あり         不可  
SystemSelector2 MBR   FAT メニュー選択(マウス可) あり あり あり   不可 あり  
Select-IT MBR   FAT メニュー選択 あり あり     不可 不可       不可  
GAG MBR, PBR, FD DOSコマンド なし 番号入力 あり あり なし 不可 不可 あり 不可  
Booteasy MBR DOSコマンド、UNIXコマンド なし PFキー入力 あり なし 不可 なし 不可 不可 不可 不可 なし 不可  
OS-BS MBR DOSコマンド なし 番号入力 あり(選択可) なし 不可 なし 不可 不可 不可 不可 なし 不可  
Bootactv MBR DOSコマンド なし 番号入力 なし なし なし 不可 不可 不可 不可 なし 不可  
SyMon MBR DOSコマンド なし メニュー選択 あり(選択可) あり なし 不可 あり 36個の基本領域
SystemManagerV MBR 専用ディスク 専用領域が必要 メニュー選択 あり あり あり あり 不可 255個の基本領域
RPM

MBR

DOSコマンド なし メニュー選択 あり あり 不可 なし 不可 不可 あり 不可 31個の基本領域

 *1: FS=ファイルシステム上、MBR=マスターブートレコード、PBR=パーティションブートレコード(ブートセクター)、FD=フロッピーディスク。
  *2: 拡=拡張パーティションブートレコードを起動できるもの。論=論理パーティションから起動可能なもの。
  *3: MSのOSを第1ハードディスク以外から起動するためのドライブIDのスワップ機能。
  *4: メニューからフロッピーディスク起動を選べるもの。
  *5: メニューから他のハードディスクのマスターブートレコードの読み込みができるもの。

 注! 現在発売のWindows2000は、MBRに独自のシグニチャを記録しており、その情報が破壊されてハードディスクを最初に認識した時とパーティションの情報が変わると、マウントに失敗して起動不能になるという、とんでもないバグがある。具体的症状としては、ログイン後すぐログアウトしてしまい、またログインプロンプトが出るという、ログイン動作のループ状態になり、絶対にログインできない。

 この問題については、「ブート ドライブ文字が変更されているとログオンできない」に解決方法が記されている。かなり面倒な方法が沢山書いてあるが、とりあえず、もしWindows9xの起動ディスクを持っているなら、上記ページの解決方法の最後の方にある「fdisk /mbr」でシグニチャのクリアするのが圧倒的に簡単だろう。

 ページには条件の解説で意味不明な部分があるが、複数のハードディスクを接続している場合は全てのハードディスクに対して「fdisk /mbr」を実行する必要があるようだ。これによって問題が回避されることを私も確認している。
 

 では、早速本題として、各OSの通常のブート手順から見ていこう。

 


次へ(Windows初級編)→

 


ブートとハードディスクの目次へ
inserted by FC2 system