ゼロ円でできるデュアルブート
LinuxとWindows 2000を共存させる

中澤勇
株式会社アットマーク・アイティ
2000/11/14

デュアルブートの設定

 Windows 2000とLinuxのインストールが終了したら、デュアルブートのための準備を行う。この時点で、ブートディスクを使えばLinuxも起動できるのでデュアルブート環境といえなくもないが、スマートではない。

■ブートセクタのファイル化

 まずLinuxのブートディスクを使ってLinuxを起動する。そして、ブートセクタに書き込んだLILOを、ddコマンドでファイル化する。ddコマンド自体は汎用的なものだが、以下のように使うと通常ではアクセスできないブートセクタも操作できる。

$ dd if=/dev/hda2 of=/mnt/dos/bootsect.lnx bs=512 count=1

■コラム bootsect.dosとは?

 bootsect.dosは、Windows 2000のインストール以前にDOSあるいはWindows 9x/Meが存在する場合に作られるファイルである。これらのOSが存在しない場合は作成されない。

 bootsect.dosの正体は、「Cドライブのブートセクタをファイル化したもの」だ。CドライブのブートセクタにOS Loaderを書き込む際に、従来のブートセクタをファイル化してバックアップしているのである。OS LoaderでDOSやWindows 9x/Meを選択すると、このファイルを利用してそれらのOSを起動する。

 つまり、ブートセクタをファイル化できればOS Loaderから起動できるということである。

 「if=」以下は、ブートセクタの位置の指定。この場合は2番目の基本パーティションを指している。「of=」は、ファイル化したブートセクタを書き込む場所とファイル名。上記の例では/mnt/dos/というディレクトリ(Cドライブのルート)にbootsect.lnxというファイル名で書き込む。「bs=512」はファイル化するサイズ。1セクタ=512バイトなので、ブートセクタのみを切り出してくることになる。

 ちなみに、ファイル名はbootsect.lnxでなくてもよい。単にWindows 2000が作る「bootsect.dos」(コラム参照)に準じた命名というだけのことである。

■OS Loaderへの登録

 bootsect.lnxをCドライブのルートにコピーしたら、次はWindows 2000を起動する。

 OS Loaderにbootsect.lnxを登録するには、Cドライブのルートにあるboot.iniを編集する必要がある。ただし、boot.iniはデフォルトでは不可視になっているので、エクスプローラの[ツール]−[フォルダオプション]の[表示]タブで「すべてのファイルとフォルダを表示する」にし、さらに「保護されたオペレーティングシステムファイルを表示する」をオフにする。警告が出るが無視する。心配ならboot.iniの編集後に再びオンにしておけばよい。

 boot.iniは以下のようになっている。

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
c:\="Microsoft Windows"

 このファイルの最後に、

c:\bootsect.lnx="Linux"

の1行を追加すればよい。これで、OS LoaderからLinuxが起動できるようになった。boot.iniやlilo.confに手を入れればタイムアウトなども変更できる。カスタマイズ方法については下のコラムを参照してほしい。

画面2 Linuxを追加したOS Loader

■コラム boot.ini

 ここで簡単にboot.iniとlilo.confについて説明しておこう。boot.iniは、[マイコンピュータ]−[プロパティ]にある[詳細]タブの[起動/回復]ボタンを押すと表示される以下の画面でも設定できる。

画面3 [起動/回復]ダイアログボックスの「起動システム」がboot.iniに関する部分

 ここで、デフォルトOSとタイムアウトまでの時間、OS Loader画面の表示/非表示を指定できる。しかし、OSの追加などはboot.iniを手動で編集するしかない。

 boot.iniの

timeout=30

がタイムアウトまでの時間。デフォルトは30秒だが、もっと短くてもよいだろう。

default=multi(0)disk(0)rdisk(0)partition(1)\WINNT

はデフォルトOS、つまり何も指定しなかった場合に起動されるOSの指定だ。[operating systems]セクションのWindows 2000のパスと同じく、ここはARC(Advanced RISC Computing)デバイス名で記述する。説明は割愛させていただくが、DOSのパス記述法とは異なるということは知っておいた方がいいだろう。

 また、bootsect.lnxを追加した際に「Microsoft Windows」にファイル名がない(本来ならbootsect.dosの指定があるはず)ことに気付いただろうか? OS Loaderでは、ファイル名が省略された場合はCドライブのルートにあるbootsect.dosが使われることになっているのだ。


■コラム lilo.conf

 LILOの設定を保存しているのが/etcディレクトリにあるlilo.confだ。lilo.confの内容は環境によって異なるが、一例を紹介しよう。

boot=/dev/hda2
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux

image=/boot/vmlinuz-2.2.14-5.0
        label=linux
        read-only
        root=/dev/hda2

other=/dev/hda1
        label=dos

 最初の「boot=/dev/hda2」は2番目の基本パーティションから起動する指定。これを「boot=/dev/hda」にしてLILOを更新すると、LILOがMBRに書き込まれる。「timeout」や「default」はboot.iniの場合と同じ。OS Loaderから起動する場合、LILOでOSを選択する必要はないのでtimeoutはゼロにしてもいいだろう。

 「image=」はLinux用の指定。これを増やせば複数のカーネルを共存させることもできる。「other=」はLinux以外のOSに使う。上記の例では/dev/hda1(Cドライブ)が指定されている。必要なければ削除してもよい。

 なお、lilo.confを編集した後は、必ず

# /sbin/lilo

を実行してLILOの更新を行うこと。また、今回のようにOS Loaderを使う場合は、LILOを更新した後にddコマンドでbootsect.lnxを作り直さなければならない。多少面倒ではあるが、頻繁に発生する作業ではないので問題ないだろう。


4/4

Index
続ゼロ円でできるデュアルブート
LinuxとWindows 2000を共存させる
  1. OS Loaderを使おう
  2. パーティション構成の検討
  3. Windows 2000とLinuxをインストールする
  Windows 2000のインストール
  Linuxのインストール
  4. デュアルブートの設定
  ブートセクタのファイル化
  OS Loaderへの登録

Linux Square全記事インデックス


 Linux Squareフォーラム Windowsとの共存/連携関連記事
特集:ゼロ円でできるデュアルブート
LinuxとWindowsを共存させる

Windows 98とLinuxの最も基本的なデュアルブート環境を構築しながら、OSの共存に必要な基礎知識を紹介する
特集:続ゼロ円でできるデュアルブート
LinuxとWindows 2000を共存させる

今回はLinuxとWindows 2000の組み合わせに挑戦しよう。Windows 2000のOS LoaderにLinuxを登録する方法を紹介する
特集:ゼロ円でできるXサーバ
WindowsでLinuxをリモート操作(前編)

Windows用Xサーバは高価だ。しかしライセンスフリーのVNCなら低コストでリモート操作環境を構築できる。その方法を紹介しよう
特集:ゼロ円でできるXサーバ
WindowsでLinuxをリモート操作(後編)

今回は多ユーザー環境などに適応させるカスタマイズ方法や、inetd経由でVNCサーバを自動起動させる方法を紹介しよう
特集:真ゼロ円でできるXサーバ
Windows 2000で動かすXFree86[インストール編]

Windows上にGNU環境を作るCygwinを使って、Windows 2000でXFree86を動かしてみよう。これで完全なフリーのXサーバが手に入る
特集:真ゼロ円でできるXサーバ
Windows 2000で動かすXFree86[設定・運用編]
Cygwin/XFree86でLinuxサーバにアクセスしよう。sshによる接続や日本語入力、Win2kでWindow Makerを動かす方法まで
特集:真ゼロ円でできるXサーバ
Cygwin/XFree86最新事情と日本語化

多くのパッケージが標準setup.exeでインストールできるようになったCygwin。今回は日本語化を中心に環境構築方法を解説
特集:真ゼロ円でできるXサーバ
Cygwin/XFree86でKDE & GNOMEを使おう
Cygwin/XFree86の準備ができたので、Xサーバとして活用しよう。後半ではKDEとGNOMEを動かすための方法を解説
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間