1. Linuxの起動
現在のLinuxには、他のOSにあるような起動に関する制限はありません。
- 拡張パーティション中の論理ドライブからでも(ブート部分を含めて)ブート可能。
- HDD中の位置による制限はない=HDDの後方のパーティションからでもブート可能。
したがって、インストールする場所についてあまり考える必要はなく(=他のOSの都合を優先できる)、ブート部分(ブートローダー)を設定すれば終わりです。
2. GRUB
Linuxのブートローダーは、現在の多くのディストリビューションでは、かつてのLILOではなく、GRUBが標準になっています。
[基本情報] | GNU GRUB: GRUB Manual |
[参考情報] | IBM developerWorks: ブート・ローダー対決: LILO と GRUB について Linux活用日記: GRUBについて Multiboot with GRUB Mini-HOWTO |
- GRUBの主な機能として、以下が可能。
`
- Linux等のカーネルをロードして起動させる。
- 他のOS(9x、NT系等)のあるパーティションのPBRをロードして起動させる(「chain-load」と呼ぶ)。
- GRUBは、LILOと同じように「1st Stage」と「2nd Stage」の2段構成になっています。この1st Stageのインストール場所として、以下の場合があります。
- MBRにインストールする
- 他のOSがない場合の標準的な方法。ただし、後から9x等をインストールすると、MBRが上書きされるので、消えてしまう。
[参考情報] Microsoft: Windows Overwrites Linux Boot Manager
- 他のOSがない場合の標準的な方法。ただし、後から9x等をインストールすると、MBRが上書きされるので、消えてしまう。
- 1台目のHDDの基本パーティションのPBRにインストールする
- 他のOSがある場合。「アクティブ」に設定すれば、標準的なMBRのブートコードから起動させることができる。他の起動切り替えソフトから起動させることも当然可能。
- 論理ドライブのPBRにインストールする
- 他の起動切り替えソフト(論理ドライブからの起動が可能なもの)から起動させてやることが前提となる。
- MBRにインストールする
- GRUBは、LILOのように設定を変える度にmakeし直す必要はなく、設定ファイルである「grub.conf」或いは「1st.menu」(典型的には/boot/grub/にある)を編集するだけで機能環境が設定でき、かなり扱いやすくなっています。このgrub.confの内容としては、例えば以下のようなものです(Fedora Core 4で、1st Stateを論理ドライブのPBRにインストールしたもの)。
# 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,6) # kernel /boot/vmlinuz-version ro root=/dev/hda7 # initrd /boot/initrd-version.img #boot=/dev/hda7 default=0 timeout=5 splashimage=(hd0,6)/boot/grub/splash.xpm.gz #hiddenmenu title Fedora Core (2.6.11-1.1369_FC4) root (hd0,6) kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet initrd /boot/initrd-2.6.11-1.1369_FC4.img title Windows XP rootnoverify chainloader +1 title Windows 2000 rootnoverify (hd0,1) chainloader +1
- 「title」と先頭に付いた部分がOSのエントリ。例えば、1番目のエントリでは「Fedora Core (2.6.11-1.1369_FC4)」がOS選択画面に出る表示、「(hd0,6)」がパーティションを示しています。このHDDのパーティション構成を、XPの「ディスクの管理」で見た場合は、以下のとおり(LinuxがあるのはE:の後ろの「不明なパーティション」。これはファイルシステムがExt2であるため)。
LinuxのFDISKで見た場合は、以下のとおり。
Disk /dev/hda: 60.0 GB, 60011642880 bytes 240 heads, 63 sectors/track, 7752 cylinders Units = シリンダ数 of 15120 * 512 = 7741440 bytes デバイス Boot Start End Blocks Id System /dev/hda1 * 1 976 7378528+ 7 HPFS/NTFS /dev/hda2 977 1444 3538080 7 HPFS/NTFS /dev/hda3 1445 7752 47688480 f W95 Ext'd (LBA) /dev/hda5 1445 5401 29914888+ 7 HPFS/NTFS /dev/hda6 5402 7150 13222408+ 7 HPFS/NTFS /dev/hda7 7151 7614 3507808+ 83 Linux /dev/hda8 7615 7752 1043248+ 6 FAT16
パーティション
IDファイル
システムXP
(注1)Linux
(注2)GRUB
(注3)1番目の基本パーティション 7 NTFS C: /dev/hda1 (hd0,0) 2番目の基本パーティション 7 NTFS G: /dev/hda2 (hd0,1) 拡張パーティション f - - /dev/hda3 (hd0,2) 1番目の論理ドライブ 7 NTFS D: /dev/hda5 (hd0,4) 2番目の論理ドライブ 7 NTFS E: /dev/hda6 (hd0,5) 3番目の論理ドライブ 83 Ext2 - /dev/hda7 (hd0,6) 4番目の論理ドライブ 6 FAT F: /dev/hda8 (hd0,7) (注1) XPのドライブレターは任意に指定できるので、あくまで便宜的なもの。 (注2) Linuxの表記方法では、例えば「hda1」の場合、以下を意味する。 - 「hd」:ATAのHDDであること(SCSIまたはATAでも追加的なホストアダプタに接続したHDDのときは「sd」)
- 「a」:1台目のHDDであること(2台目であれば「b」。アルファベット順)
- 「1」:1番目のパーティションであること(開始数は1。ただし、1〜4は基本パーティション(含む拡張パーティション)に当てられるので、論理ドライブは5から始まる)
(注3) GRUBの表記方法では、例えば「(hd0,0)」の場合、以下を意味する。
- 「hd」:HDDであること(他の例では、FDDの場合は「fd」)
- 1番目の「0」:1台目のHDDであること(開始数は0)
- 2番目の「0」:1番目のパーティションであること(開始数は0。ただし、0〜3は基本パーティション(含む拡張パーティション)に当てられるので、論理ドライブは4から始まる)
- 「hiddenmenu」が有効になっている場合、何かキーを押さない限り、OS選択画面は出ない(この例では「#」を先頭に付けて無効にしている)。
- 「title」と先頭に付いた部分がOSのエントリ。例えば、1番目のエントリでは「Fedora Core (2.6.11-1.1369_FC4)」がOS選択画面に出る表示、「(hd0,6)」がパーティションを示しています。このHDDのパーティション構成を、XPの「ディスクの管理」で見た場合は、以下のとおり(LinuxがあるのはE:の後ろの「不明なパーティション」。これはファイルシステムがExt2であるため)。