デュアルブートの解説は多々ありますが、大抵はウインドウズ環境にリナックスを追加する話です。逆のリナックスにウインドウズを入れてデュアルブートするための解説はほとんど見あたりません。リナックスをベースにする人は、エキスパートなので易しい解説など必要ないと言うことでしょうか。私もウインドウズにリナックスのデュアルブートを試みた一人ですが、あるときうっかりウインドウズを消去してしまい、復活するのに非常に手間取りました。アマチュアでもリナックスにウインドウズを入れたいことがあるのです。私はリナックスのことはあまり知らないので、私がやってみた方法よりもっと能率的な方法は当然あるでしょう。これはこうしたらうまくいったという一つの事例でしかありませんが、経験の少ない人には私の経験談が役に立つかもしれないと思い、メモとして残すことにしました。なお、デュアルブートでなくリナックス環境を、すっかりウインドウズに変えたいときもこの方法でより簡単にできます。
◎ポイントは、ウインドウズ2000(win2k)インストールキットが準備してあれば、やるべきことはリナックス環境の中にウインドウズ用にフォーマットしたパーティションを用意するだけのことです。
(製作:030427)()
目 次
1. 準備: インストール用起動ディスクの作製
2. ウィンドウズ用パーティションの作製
2.1 リナックスを再インストールする際に行う。
2.2 リナックスを起動させた状態で、ウインドウズ用のパーテイションを作る。
3. ウインドウズのインストール
4. リナックスをウインドウズのブートローダーからデュアル起動するための設定
4.1 フロッピーディスクを経由する方法
4.2 リナックスから直接ウインドウズに書き込む方法
5. リナックスのLILOからもウインドウズを起動できるようにする。
6. ウインドズ緊急用起動ディスクの作製
7. 参考サイト
☆インストール用起動ディスクの作製: Win2kインストール用のCDROMをCDドライバー(D:\とする)に入れます。コマンドラインから
D*:\>BOOTDISK\MAKEBOOT.EXE A:
を実行すれば、4枚組のインストール用フロッピーディスクが作れます。
方法は二つあります。リナックスのインストーラーを使うか、リナックスを立ち上げてFDISKを使うかです。データバックアップが苦にならなければ前者の方が易しいでしょう。
Vine Linux 2.6のインストーラーでの経験ですが、Red Hat Linux 7xでもほとんど同じでしょう。インストールする途中、パーティション設定を行う操作があります。
1)自動パーティション設定、2)DiskDruidを使う手動設定、3)FDISKを使う手動設定の3方法が選べます。慣れればFDISKを使う方法が一番きめ細かくできるのですが、設定が面倒で、間違いも起こしやすいのです。私の薦める方法は、DiskDruid を極力使い、(状況によって一部FDISKを使った後)最後に自動設定で仕上げることです。手動設定でインストールを成功させるのは結構経験が必要ですが、自動設定で仕上げると、コンピュータの方で設定を考えてくれるので、たいていの場合インストールが最後までうまく行きます。パーティション設定はシステム設定の根幹に関わることなので慣れないうちは難しいことはやらない方が無難と言うことのようです。
◎ポイントは、可能な限り必要最小限の設定をすること。必要最小限とは
1. ウインドウズ用に最低一つのパーティションを、それも1ギガバイト以上の容量で確保します(win2kインストールには最低限800MB程度必要です)。マウントポイントは/Cとします。さらに第1パーティションとして強制指定します。フォーマットはvfatとします。
DiskDruidを使った場合の制限は、NTFSフォーマットができないこと、vfatのパーティションサイズが2GB以下に制限されることです。この制限を嫌うならば、FDISKを使うか、2GBの vfat パーティションを続けて作製しておいて、後にウインドウズのインストールの際、パーテイションを設定し直す場面で再結合すればよいでしょう。私のやりかたは、システムは C:¥ドライブに入れ、後にインストールするものは全てD:\ドライブに入れると言う方針ですので、C:\ドライブのサイズが2GB以下というのは気になりません。また、ファイルフォーマットは後でウィンドウズをインストールする際に変更可能ですので、ここでは vfat でフォーマットしても差し支えはありません。
DiskDruidを使うと、リナックス用のext3(2)パーティションやウインドウズ用のパーティションの順番が、設定の度に前後しますが、あまり神経質になる必要はありません。ウインドズ2000、XPでは、MBL(マスターブートローダー)さへ確保しておけばOSそのものはどこのパーティションに入れてもOKだからです。なお、ウインドズ98以前は、最初のパーティションに入れなければならないと言う制限があるそうで、その場合は、DiskDruidの設定は結構試行錯誤をせねばならず、FDISKを使う必要があるかもしれません。
2.リナックス用に
2.1 ブートセクション用に50MB程度を確保します。マウントポイントは/bootとします。フォーマットはext3とします。
2.2 スワップ用に メモリーの2倍程度。例えば500MBを確保します。
2.3 ルートセクション用に 最低2GB確保します。マウントポイントは/とし、フォーマットはext3とします。
3.残りは空きメモリーのまま残しておく。
ウインドウズシステムは、基本パーティション(4つ以内、もしくは論理パーティションと3つ以内)の中に入れる必要がありますので、少なくも最初の vfat は基本(第1)パーティションとして強制指定します。リナックスの場合はどちらでもかまわないので、論理ドライブにいれます。強制指定しなければコンピューターの方で適当に選んでくれます。残りの空きメモリーも他のパーティションも論理ドライブを含めて、全部設定することも可能ですが、ウインドウズに慣れている人は、ここでは、ウインドウズ用のパーティションを最低一つだけ作って置いて、ウインドウズをインストールした後にウインドウズからメモリー操作をする方が楽ですし、間違いも少ないでしょう。
こうしてウインドウズ用のパーティションを確保した上で、いったん前の設定画面に戻り、「パーティションの自動設定」を選び直します。次の画面で、「システムの全てのパーティションを削除」でなく、「全てのリナックスパーティションを削除」をえらぶと、手動の設定が少し変更された形で設定を表示してくれるはずです。変更はおおむねわずかですし、これで後のインストールがうまく行く可能性が増えるので、お勧めの手続きです。変更結果が気に入らない時は多少の試行錯誤は必要です。
リナックスのインストールを続行すると、ブートローダー(LILOもしくはGRUB)をどこに入れるか聞かれます。ウインドウズ2000/XPと共存させる場合はMBR(マスターブートローダー)には入れられず、リナックスの最初のセクターに入れるよう設定します。しかし、この場合、次に電源を入れたときリナックスは自動起動しません。従って、起動用のフロッピーディスクを作製しておく必要があります。フロッピーを使わない起動設定はウインドウズインストール終了後に行います。
FDISKの使い方についてはhttp://www.a-yu.com/opt/fdisk.htmlを参照してください。このサイトも参考になります。
3.2 インストール用フロッピーディスクを挿入して電源のスイッチを入れます。4枚目のフロッピーの最後で、インストール用CDROMを入れるよう指示されますので、CDROMを入れて続行します。設定のオプションをいろいろ聞かれますが、ほとんどは自明な質問です。
3.3 パーティションを設定する画面が現れます。先にセクション2で設定した、vfatパーティションが表示されているでしょう。空きメモリーやリナックス用のパーティションは、全て未使用で不明のパーティションとして表示されます。ここで、パーティションを削除したり(Dボタン)、未使用パーテイションを使うように設定する(Cボタン)ことができます。つまり、リナックスを壊しても良いなら、もともとウインドウズ用のパーティションを用意しなくも、ここで設定が可能です。リナックスシステムを保持しつつウインドウズを入れるためには、リナックス用のパーティションを壊さないようにしなければならず、そのためにウインドウズ用のパーティションをここで認識できるように、名前を付けておいた訳です。また、リナックスインストールの際に確保した複数の vfat パーティションをここで再結合もできます。いったん削除して未使用パーティションとした後、Cボタンで好みのサイズのパーティションを設定すればよいのです。
リナックスが生きている場合は、アクティブパーティションが入っている等のメッセージがでますが、かまわずここはウインドウズ優先の設定で続行します。
3.4 次に、NTFSかVFATかのフォーマットを選び、フォーマットします(Fボタン)。
3.5 あとは、通常のウインドウズのインストールのやり方に従います。
3.6 最後にウインドウズが起動できたら、マイコンピューター右クリックで、「管理」ー「ディスクの管理」画面が現れ、右パインにパーティションが表示されます。先に空き領域として確保しておいたところは、空き領域と表示されているはずです。すでにウインドウズが起動しているわけですから、これ以上プライマリーパーティションを作製する理由はなく、拡張パーテイションの中に論理ドライブを作ってゆけばよい訳です。空き領域を右クリックして論理ドライブを選択するとウィザードが立ち上がりますので、後は指示に従うだけです。D:\以下のドライブを作製しましょう。
1.DOS(FAT)でフォーマットしたフロッピーディスクを用意します。
2.リナックス上で、最初のルートパーティションのブートセクターに書き込まれたLILOのバイナリーイメージを dd コマンドを使いファイルに落とします。
例えばリナックスブートセクションののパーティションを/dev/hda5とした場合、
#dd if=/dev/hda5 of=bootsect.lnx bs=512 count=1
によって、ブートセクターの内容が bootsect.lnx にコピーされます。
-------------------------------------------------------------
なお、Linux のブートセクターが入っているところは、
#/sbin/fdisk /dev/hda
を実行した後、pを打ち込むとパーティションの一覧が示されるので判ります。見た後はqを打ち込んで戻ります。
-------------------------------------------------------------
3.次にこのファイルをフロッピーディスクにコピーします。
方法1: #mount -t msdos /dev/fd0 /mnt
#cp /bootsect.lnx /mnt
#umount /mnt
方法2: #mcopy /bootsect.lnx a:
4.bootsect.lnx ファイルをウインドウズC:¥ディレクトリーにコピーします。
ウインドウズを立ち上げて、フロッピーディスクを挿入した後、コマンドラインから
c:\>copy a:bootsecr.lnx c:\
を実行します。
5.ウインドウズの lilo.conf に対応するファイル boot.ini にリナックス起動用の文章を追加します。
方法1: boot.ini は保護されているファイルなので、まずその属性を解除します。管理者権限でエクスプローラーの「ツール」メニューから「フォルダーオプション」「表示」タブを表示し、「保護されたオペレーティングシステムファイルを表示しない(推奨)」のチェックをはずします。
(あるいはコマンドラインから、c:\>attrib -s -r -h c:\boot.ini としてもよい。)次に メモ帳などのエディターで c:\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 XP Professional" /fastdetect
c:\BOOTSECT.LNX="Vine 2.6"
==========================================================================
上記の文章を付け加えた後保存してから、属性を元に戻します。(コマンドライン入力の場合は、c:\>attrib +s +r +h c:\boot.ini )
以上の作業の後、再起動すると ウインドズかリナックスの選択画面がでるので、選んで起動できるようになります。
方法2: ウインドウズXPでは、マイコンピュータを右クリックー>システムプロパティから「詳細設定」ー>起動と回復の設定ー>起動システムの編集をクリックすると、boot.ini の内容が表示されますので、編集が簡単にできます。
この方法は、ウインドウズのCドライブがVFATでフォーマットされている時のみ有効です。NTFSでフォーマットされているときは、リナックスから読むことはできますが書き込むことはできません。これはリナックスカーネルの仕様のようです。
------------------------------------------------
リナックスが動いている状態で、スーパーユーザー権限で次の操作を実行します。デヴァイスのハードディスクパーティションの最初 hda1 にウインドウズのCドライブが入っているものとします。hdax に入っているときは、hda1 を hdax で置き換えます。次の命令を実行することにより、リナックスからウインドウズCドライブにアクセス可能となります。NTFSでフォーマットされているときは、vfat-->ntfs とすれば良いわけですが、先の述べたようにこの場合は書き込みはできません。
#mkdir /mnt/winc
#mount -t vfat /dev/hda1 /mnt/winc
次に、リナックスのブートセクター(hda5とします)をコピーしさらにウインドウズCドライブにコピーします。
#dd if=/dev/hda5 of=/bootsect.lnx bs=512 count=1
#cp /bootsect.lnx /mnt/winc
この後、ウインドウズの boot.ini を編集することは先のフロッピーディスクを経由する方法と同じですが、ここで、 vi エディターを使ってboot.ini を編集することも可能です。
/etc/lilo.conf には次のような文章が入っています。最後のところが、ウインドウズ起動用に付加した文章です。
-----------------------------------
prompt
ptimeout=50
pdefault=linux
pboot=/dev/hda1
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32image=/boot/vmlinuz-2.4.19-0vl11
label=linux
read-only
root=/dev/hda6image=/boot/vmlinuz-2.2.20-0vl10
label=linix-2.2-up
read-only
root=/dev/hda6
other=/dev/hda3
optional
label="Win 2000 Pro"
-------------------------------------------
ラベル(label)の文字はあまり長くなければ、好きに選べますが、空白があるときは " "で挟むのを忘れないように。書き換えた後、/sbin/lilo を実行して変更を有効にします。
☆ インストール用としては必須ではありませんが、緊急起動用のフロッピーディスクを作っておくと役に立ちます。リナックスのLILO設定の誤動作などで、MBR(マスターブートレコーダー)を壊してしまい、ウインドウズが起動できなくなった場合でも、ウインドウズOSは残っているときに、復活起動できます。
Windows 2000 が立ち上がっている状態で、フロッピーディスクをセットし、コマンドラインから次の命令を実行します。システム関係のファイルは保護されているので、制限を解除してからコピーします。
c:\>format a:
c:\>attrib -s -r -h c:\nt*
c:\>attrib -s -r -h c:\boot*
c:\>copy c:\ntldr a:
c:\copy c:\nedetect.com a:
c:\copy c:\bootfont.com % 必須ではないが日本語環境には必要
c:\boot.ini a:
コピーが終了したら
c:\>attrib +s +r +h c:\nt*
c:\>attrib +s +r +h c:\boot*
でファイルの保護を復活します。なお、Win2k 動作環境が得られないときは、Win2k 用CDROMの中のI386ディレクトリーの中にある「ntldr」「ntdetect.com」「bootfont.com」をフロッピーにコピーします。「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
------------------------------------------------------------------------------
なお、通常ウインドウズは最初のパーティションに入れるので「partition(1)」ですが、インストールの際、最初のパーティションを選ばなかったときは、ここの番号を変える必要があります。たとえば、基本パーティションの設定で、基本0(Cドライブ)/基本1(Dドライブ)/拡張0{論理0(Eドライブ)論理1(Fドライブ)}とパーティションを区切って、パーティションのEドライブにウインドウズを入れた場合、partition(3)となります。自分で数えるよりは、インストールしたウインドウズを立ち上げて、そこから boot.ini をコピーする方が安全でしょう。
| リナックスの日本語サイト | http://www.linux.or.jp/JF/ |
| Windows 2000 とLinux のデュアルブート | http://www.a-yu.com/system/nt_linux.html |
| FDISKの使い方 | http://www.a-yu.com/opt/fdisk.html |
| http://homepage2.nifty.com/winfaq/fdiskhowto.html | |
| MBRの解説 | http://homepage2.nifty.com/winfaq/howtoboot.html |