既存の Windows パーティションを保持したまま Linux などをインストールできる。デュアルブートについては詳しいページがあるのでそこを参考に。
インストールの仕方によっては、Linux 専用マシンにすること (シングルブート) もできるし、起動時に Linux と Windows などのどれかを選べるように (デュアルブート、マルチブート) もできる。
ただし、デュアルブートを行うためにはシングルブートよりいくつか手間がかかるし、インストールを失敗すると何も起動できなくなったり、もしかしたら既存のデータが消えるかもしれない。なので実際のところはシングルブートにしといた方が何かと簡単。
デュアルブートにしたいなら、消えると困るデータをバックアップするとか事前に万全の対策をした上でやってみよう。
Windows 95, 98, 2000 あたりは、既存のWindows以外のOSの存在をうまく考慮してくれない。こういう OS ならまず Windows の方を先にインストールした上で Linux を入れてみる。
Windows XP でもあとで Linux をインストールした方がブートローダに GRUB を使えるので楽に設定できる。
ブートローダーに GRUB を使う場合
という風にして入れていく。複数の Linux ディストリビューションをブートさせる方法 以下に比較的分かりやすい方法があるよ。
マルチブート関連の話題によく出てくる MBR とは何か?リンク先参照。
現在の一般的なおすすめは GRUB (GRand Unified Bootloader)。高機能で便利だし使い易い(ただし一部慣れが必要)。多くのディストリビューションを入れるときに標準で付いてくる。
LILO (LInux LOader) は時代遅れで、設定を失敗したときの復帰が悲惨なのでおすすめしない。
参考リンク
Windows NT, 2000, XP とのデュアルブートなら、NT OS Loader で Linux をブートさせるなんて事もできるよ。
「消す」ことはできないので必ず「上書き」する。
それぞれの OS 上で以下のようにすれば上書き可能。最後にどのパーティションがアクティブかも確認しておくこと。
Windows 回復環境で bootrec /FixMbr
回復コンソール上で fixmbr
ms-sys -m /dev/hda
マルチブート総合スレ 2つ目 で紹介された MBM(Multiple Boot Manager) を使ったマルチブートの方法を紹介します。
MBMは、ハードディスクのパーティションとして使用されない場所(MBRとそのすぐ後ろ)にインストールされる形式のフリーのマルチブートローダです。
OSが使用するパーティション領域を使用しない為、マルチブート環境を構成するOS(LinuxとかWindowsなど)を再インストールする可能性がある人には最適なブートローダです。
MBMをマルチブートローダとして用いた場合のメリットは主に以下の三点です。
※MBMのインストールには通常、ブート可能なフロッピーディスクドライブ(USB接続も可)を用います。ブート可能なCDドライブからインストールすることも可能ですが、自身でインストールCDを作成する必要があります(CD-R、RWドライブが必要)。ここではブート可能なフロッピードライブを持っていることを前提として説明を進めます。
以下に具体的な方法を記述します。
A:?>MBM INSTALLと打った後Enterを押します。確認のyを打つとインストール完了です。
※DOSの起動ディスクを必要としないインストール方法もあります。zipファイルの中にMBM038.144というファイルがあります。これをWindows上ではrawrite.exe、UNIX系OS上ではddを用いてフロッピーに書き入ればインストールフロッピーが出来上がります。
この作業以前にハードディスクにWindowsがいくつインストールされていようと気にする必要はありません。MBMインストール後もそれらは問題なく起動できます。ただし、Linuxのブートローダとして用いられているgrubやliloがMBRにインストールされていた場合は問題です。MBMをインストールするということはそれらを上書きして消してしまうということだからです。その場合はMBMインストール前に”ブートローダ”をLinuxがインストールされている領域の先頭(PBRという)にインストールし直しておく必要があります。
基本的には順番は何でもかまいません。
好きな順番でインストールして下さい。
(今ここで説明している方法は、OSを好きな順番でインストールしたりOSの入れ直しが自由に出来る方法です。)
ただし前述のように、Windowsのインストール時にマルチブートに対応するようなハードディスクのパーティション分割は出来ませんから、普通は先ずLinuxをインストールすることになるでしょう。
既にWindowsがハードディスク全てを使っている場合は、Partition Magicとかpartedとかを用いてハードディスクに空きを作って下さい。
また例えばWindowsのC:が10GバイトでD:が50Gバイトとかの場合は50Gの領域を開放すれば、マルチブートに利用できる領域が充分確保できます。この場合は上記のparted等での作業は不要です。
マルチブートが可能なパーティション分割をおこなわなくてはなりません。インストーラの自動にまかせずにfdiskを使わなくてはならない筈です。
Windowsのシステムドライブは基本パーティションである必要があります。 Linuxは/bootとか/とかswapも含めて全ての使用パーティションが拡張パーティションの中の論理パーティションで大丈夫です。したがって、基本パーティションを3つ確保し、拡張パーティションを一つ確保、そして拡張パーティションの中にLinux用の領域やWindowsのデータ領域を確保する形が、WindowsOS複数+Linuxでマルチブートする際の典型です。
インストールの際の注意点はブートローダの設定です。
ブートローダはどのディストリでもデフォルトではMBRにインストールされますが、ここではそれを選んではいけません。
ディストリビューションによって詳細は異なりますが、大概、”高度なオプション”なるものを選べば、ブートローダをMBR以外に設定できます。
ブートローダのインストール先としてLinuxの領域の先頭(PBRという)を選んで下さい。ブートローダがgrubでもliloでも同じです。
この注意を守ってのLinuxのインストール後に再起動すれば、Linuxが正常に起動できることが確認できる筈です。
既にWindowsOSが一つはインストールされているかもしれませんが、ここでは最初のWindows、後から追加するWindowsもインストールのやり方は全く同じで注意点も全く同じです。
Windowsインストール前 に下記の作業をおこなって下さい。
(既にWindowsインストール用基本領域は確保されているとして)
※上記作業で今からインストールしたい領域がアクティブになります。
アクティブな基本領域はWindowsやWindowsのインストーラにC:ドライブと認識されます。(たとえ3番目とか4番目の基本領域であっても)
上記作業後、マシンをリセットしてWindowsのインストールを開始して下さい。
Windows95系OS、WindowsXP、2003のインストーラはMBRのMBMを上書きして独自の非常に機能が貧弱な(マルチブートができない)ブートローダをインストールします。既に説明したDOS起動ディスクを用いて 再びMBMをインストールして下さい。 MBMは WindowsがMBRにインストールするブートローダの上位互換 だと見なして頂いて結構です。 Windowsのブートローダを上書きしてのMBMインストールはいかなる場合でもおこなってOK だと思ってください。
インストール時にブートローダをどこに入れるのか問われた際にNoneを選んで下さい。
Noneというのは実は”MBRを上書きしない”という意味でブートローダをインストールしないという意味ではありません。
Noneを選んでもFreeBSDスライスのPBRにちゃんとブートローダがインストールされるので心配ありません。
またNoneを選ばすにMBRにFreeBSDのブートローダをインストールしてしまっても慌てることはありません。もちろん今まで触れてきたようにMBMを再インストールすれば良いのです。
以上がOSのインストール順が自由で各OSの再インストールも自由なマルチブートの方法の説明です。MBM以外にも同様な仕様のマルチブートローダはありますが、国産で実績のあるMBMを用いた方法を紹介しました。
(この記事はマルチブートの方法の付属品という扱いなので、一応ここに記述しておきます。誰か適切な場所を知っている人が、そこに移動して下さい。そしてここには移動先へのリンクを書いて下さい。)
この記事では通常は難しいWindowsNT系OSのコピーを説明します。
(コピー先パーティションは既に確保していることを前提とします。)
WindowsNT系OS(WindowsNT、Windows2000、WindowsXP、Windows2003)は稼働中のコピーがおこなえませんが、別のパーティションにWindows2000、WindowsXP、Windows2003がインストールされていれば、そのOSを起動して当該OSのコピーをおこなうことができます。 その際、必要であれば適宜コピー先のフォーマットもおこなって下さい。
まだ一つしかWindowsNT系OSが入っていない場合は、コピー作業をおこなうためのOSとして、Windows2000、WindowsXP、Windows2003の何れかを新たにインストールするか、DriveImage、DriveCopy、Norton Ghost等のツールを使ってWindowsのコピーをおこなって下さい。
※Windows系OSの場合、ブートするパーティションの先頭(PBR)にそのパーティションの位置情報等が書き込まれていないとブート出来ません。それらの情報はFAT,FAT32の場合にはsysコマンドで正しく書き込むことが出来ますが、NTFSパーティションの場合には、OS上でフォーマットするか、回復コンソールやセットアップディスクのFIXBOOTコマンドを使うか、DriveImageやPartitionMagicの商用ツールを使わないと、正しく書き込むことは出来ません。基本的にはコピーするOSと同種のOS上でフォーマットすることが望ましいと考えてください。
上記で紹介しているMBMのR0.384にもNTシグニチャをクリアする機能が付きました
以上の作業後、コピーしたWindowsが起動し、ちゃんとログインもおこなうことができます。
いろいろ方法はありますが、ここでは Linuxらしい方法を説明します。 HDDはプライマリマスターに接続されているとします。
まずMBRのバックアップ
# dd if=/dev/hda of=mbr.img bs=512 count=1
いよいよ作業
# dd if=/dev/zero of=/dev/hda bs=1 seek=437 count=9
これでNTシグニチャのクリアが出来ました。
次にWindowsNT系のOSを起動した際に新たなNTシグニチャが設定されます。
ただし、上記の作業方法ではミスタイプすると大変なので、安全を期するのであれば、
# dd if=/dev/hda of=mbr.img bs=512 count=1 # dd if=/dev/hda of=mbr437.img bs=1 count=437 # dd if=/dev/zero of=zero9.img bs=1 count=9 # cat mbr437.img zero9.img > mbr446.img
ここでバイナリエディタやhexdumpを使って、mbr.imgとmbr446.imgの内容の違いを確認します。先頭から437バイトまでは共通でmbr446.imgは最後の9バイトが0で埋められていることを確認します。 確認後に
# dd if=mbr446.img of=/dev/hda を実行
この方法でもNTシグニチャのクリアがおこなえます。
手っ取り早い方法
# ms-sys -z /dev/hda
パーティションテーブルとマジックナンバー以外の部分に0x00を書き込みます 残念ながらKnoppixには収録されていないようです
実際には次のような活用目的(一例)があるかと思われます。
ただし、物理的には1つのハードディスクを共用しているだけですから、日頃から定期的にデータのバックアップを取って、ハードディスクの破損等予期せぬ事態に備えることが大切です。
ここでは、CentOS と Debian の2つをインストールする場合です。
ハードディスク | |||
デバイス | マウントポイント | タイプ | サイズ |
hda1 | / | ext3 | 10 GB |
hda2 | スワップ (swap) | swap | 1 GB |
(空き) | (自由領域) | 19 GB |
ハードディスク | |||
デバイス | マウントポイント | タイプ | サイズ |
hda1 | ext3 | 10 GB | |
hda3 | / | ext3 | 10 GB |
hda5 | スワップ (swap) | swap | 1 GB |
(空き) | (自由領域) | 9 GB |
2つ目のディストリビューションのブートローダー先は、パーティション (hda3) の先頭または マスターブートレコード (MBR) のうちのどちらかを選びます( ※ パーティション (hda3) の先頭を選択したときは、インストール後に必ず次の Chainloader の設定を行ってください)。
MBR へのインストールを選択した時は、ブート時の情報が上書きされ、OS のメニュー画面には Debian が自動的に追加されます。よって、Chainloader の設定作業は不要です。
コンピューターが正常に起動すれば、1つ目のディストリビューションが起動するので、/boot/grub/grub.conf をエディタで開いて設定します。 実際には、次の記述(CentOS の例)になっていることでしょう。
# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You do not have a /boot partition. This means that # all kernel and initrd paths are relative to /, eg. # root (hd0,4) # kernel /boot/vmlinuz-version ro root=/dev/hda5 # initrd /boot/initrd-version.img #boot=/dev/hda default=0 timeout=10 splashimage=(hd0,4)/boot/grub/splash.xpm.gz title CentOS-3 (2.4.21-27.0.1.EL) root (hd0,0) kernel /boot/vmlinuz-2.4.21-27.0.1.EL ro root=LABEL=/1 initrd /boot/initrd-2.4.21-27.0.1.EL.img
この /boot/grub/grub.conf の最後に、エディタで次のような記述を追加します。
title Debian rootnoverify (hd0,2) chainloader +1 (※ (hd0,*) の * 部分には、パーティションの番号を入れます。 ただし、このパーティションの番号は 0 から数えた数字です。)
全てのインストールが完了したら、Linux を立ち上げてハードディスクの構成を確認してみましょう。 ターミナル(端末)より # fdisk -l を実行してください。次のように表示されることでしょう。
# fdisk -l Disk /dev/hda: 30.7 GB, 30750031872 bytes 255 heads, 63 sectors/track, 3738 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 1216 9767488+ 83 Linux /dev/hda2 3647 3738 738990 5 Extended /dev/hda3 1217 2450 9912105 83 Linux /dev/hda5 3647 3738 738958+ 82 Linux swap / Solaris
上記の例で説明している Chainloader を用いたマルチブートでは、 /boot パーティションを共有する必要がなくなります。そのため、ここでは詳しく触れませんが、ユーザーはインストール後予想される運用上の様々な問題から開放されます。
この手法を応用すれば、複数の Linux へさらに Windows も追加したマルチブートを比較的容易に構成することができます。この場合特に注意すべき点は、Windows をインストールする順番です。
title Windows rootnoverify (hd0,0) chainloader +1 (※ (hd0,*) の * 部分には、パーティションの番号を入れます。 ただし、このパーティションの番号は 0 から数えた数字です。)
*1 [[Red Hat Linux 9 インストールガイド(HTML Tarball)>http://www.redhat.co.jp/support/doc/man/9/rhl-ig-x86-ja-9.tar.gz]]の システムのパーティション設定 という項目参照。
*2 Disk Druidは、fdisk に比べて簡単に理解することができます。以前に fdisk を使用した経験があり、動作方法を理解している場合以外、fdiskを使用するべきではない、としているベンダーさえあります。この点については、[[オフィシャル Red Hat Linux x86 インストールガイド(HTML Tarball)>http://www.redhat.co.jp/support/doc/man/9/rhl-ig-x86-ja-9.tar.gz]] 参照。