目次
GNU/Linux ディストリビューションは、インストール時にブートローダを必要とします。これらのブートローダは、GNU/Linux ディストリビューションをインストールするときに実行されるシステムファイルをロードする責任を負います。GNU/Linuxディストリビューションを開発している場合、ユーザがシステムにインストールできるように、ブートローダと協働する必要があるかもしれません。
そのようなブートローダのひとつが Syslinux です。Syslinux にはいくつかの種類があり、それぞれ特定のファイルシステムに特化しています。ここでは、Syslinux ブートローダについて、インストール方法を含め、知る必要のあることすべてを紹介します。
1.SYSLINUX
SYSLINUXはSyslinux’のFATファイルシステム用の変種です。また、Syslinux のブートローダの中で最も古いタイプです。FAT12、FAT16、FAT32の各ファイルシステムをサポートしています。WindowsやDOSを使っているならば、SYSLINUXがおすすめです。
SYSLINUXの構造
ミラーリンクを使ってSYSLINUXをダウンロードすると、圧縮されたアーカイブが得られます。このフォルダを開くと、中にbiosディレクトリがあります。このフォルダの下に、mbrとcoreのディレクトリがあります。
ディスクのブート・セクターの段階で、/bios/mbr ディレクトリにある mbr.bin ファイルが必要です。bios/coreディレクトリの中には、SYSLINUXのコアファイルであるldlinux.sysファイルがあります。
ldlinux.sysが動作するには、ldlinux.c32ファイルが必要です。したがって、ldlinux.c32とldlinux.sysは同じディレクトリにある必要があります。
他のファイルもカレントディレクトリーパスまたはカレントディレクトリーパスのサブディレクトリーになければなりません。これについては、syslinux.cfgの設定ファイルを見てください。このファイルはカレントディレクトリのパスになければならず、自分で作成する必要があります。
オプションで、親ディレクトリの下にプラグイン、ヘルプファイル、その他の設定ファイルを置くことができます。
SYSLINUXのインストール
システム別のSYSLINUXのインストールファイルの場所は、以下の表のとおりです。
Windows Linux DOS
|
|
|
SYSLINUXをディスクにインストールする際に使用できるデフォルトのコマンドは、以下の通りです。
2.EXTLINUX
EXTLINUXブートローダは、ext2、ext3、ext4、btrfs、FAT12、FAT16、FAT32、NTFS、XFS、HFS、およびUFSファイルシステムをサポートしています。EXTLINUXの作業ロジックとファイル構造は、SYSLINUXと全く同じです。ただ、ファイルシステムのサポートという点ではより進んでおり、いくつかの追加機能を備えています。
GNU/Linux カーネルをコンピュータにインストールする場合、EXTLINUX は良い選択です。EXTLINUX を先にインストールし、すぐに GNU/Linux カーネルをこのパーティションの上に置くことができます。
その他、知っておくべきこととして、EXTLINUXはSyslinuxのバージョン3.00から利用可能です。また、ext4, btrfs, FAT12, FAT16, FAT32 のサポートはバージョン 4.00 から、NTFS のサポートはバージョン 4.05 から、XFS のサポートはバージョン 5.00 から、HFS による UFS サポートはバージョン 5.00 からとなっていますので、異なるバージョンを使用している方は知っておくとよいでしょう。
EXTLINUXの構造
SYSLINUXと同様に、EXTLINUX’のコアファイルはldlinux.sysである。コアファイルのディレクトリについては、SYSLINUXで規定されているルールがここでも適用される。SYSLINUXとは異なり、EXTLINUXの設定ファイルはextlinux.confである。
EXTLINUXのインストール
Syslinuxの最新版をダウンロードした場合、/bios/extlinuxフォルダにセットアップファイルがあります。このファイルは、特定のコマンドラインオプションで利用することができます。
ブートローダーのインストールには、以下のコマンドを使用します。
extlinux –install
インストールされたボリュームを更新するにはextlinux–updateを実行します。
RAID パーティションにインストールする場合
extlinux–raid –install
インストールした RAID パーティションを更新する場合
extlinux–once /initrd.img root=/dev/sda0 initrd=initrd.img vga=794 /boot/extlinux
EXTLINUXでは、コマンドラインから任意の初期指定を簡単に行うことができます。このシステムをADV(Auxillary Data Vector)と呼びます。
シングル初期指定がされており、この状態を解除したい場合extlinux–clear-once# EXTLINUX が RAID-1 パーティション(推奨)にインストールされている場合、初期指定を解除するには ADV をリセットしなければなりません。
EXTLINUXのいくつかの特徴
EXTLINUXはSYSLINUXと異なり、記憶装置上の任意のディレクトリにアクセスすることができる。ディレクトリパスの命名規則はGNU/Linuxと同じである。f}/"記号がない場合、EXTLINUXはカレントディレクトリを使用する。ディレクトリパスの長さは511文字まで使用できます。
また、EXTLINUXはエイリアスもサポートしています。ただし、パスブロックに引っかかる可能性があるので、このエイリアスはあまり長くしない方がよい。エイリアスを使用する場合、Linuxタイプのディレクトリ命名を行うだけでよい。
3.ISOLINUX
CDやDVDでSyslinuxを使うのであれば、ISOLINUXを使いこなすべきでしょう。しかし、現在ではCDやDVDよりもUSBの方が普及しています。そのため、ISOLINUXの利用は他のSyslinuxに比べると少ないです。
ISOLINUXをインストールするために必要なもの
ISOLINUXをインストールするには、まずSyslinuxをダウンロードする必要があります。ISOLINUXをインストールするには、CDやDVDバーナーなどのソフトウェアが必要です。また、DVDを使用する場合は、DVDバーナーがブートディスク作成に対応している必要があります。なお、ISOLINUXを書き換え不可能なCDやDVDに焼くと、そのCDは二度と使えなくなる可能性があります。したがって、これには書き換え可能なCDを使用するのが理にかなっています。
ISOLINUXの構造
coreディレクトリには、isolinux.binファイルが格納されています。イメージを作成する場合は、boot.cat ファイルも必要です。
カレントディレクトリにはISOLINUXの設定ファイル、すなわちisolinux.cfgまたはsyslinux.cfgが含まれている必要があります。このファイルはインストールプロセス中に作成もコピーもされないので、手動で必要な調整を行う必要があります。このファイルが見つからない場合、ISOLINUXはパラメータなしでLinuxという名前のイメージを開こうとし、イメージが見つからなかったというエラーを投げます。
ISOLINUXとmkisofsの比較
ISOLINUXのCDイメージを作成するには、mkisofsプログラムを使用します。このユーティリティは、必ず最新の安定版を使用してください。
mkisofsの使用例としては、以下のようなものがあります。
mkisofs -o-b/isolinux.bin -c/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table
当たり前のことですが、前述のコマンドをそのまま使う必要はありません。また、これらのパラメータを個別に使用することも可能です。
ISOLINUXがサポートするファイル命名法
ISOLINUXでは、ディレクトリパスの区切り文字はUNIX形式で、スラッシュ(/)文字を使用します。1つの/は、ISOLINUXのカレントディレクトリを示す。ISOLINUXでは、ディレクトリパスは最大255文字までです。ISO 9660のファイル名のみを使用し、ISO 9660のレベル1(8.3文字)またはレベル2(31文字)を使用する必要があります。
さらに、留意していただきたいことがあります。
- ISOLINUXの離散ファイル、スペース型、論理ブロック、セクタの対応サイズは2048バイトのみです
- GNU/LinuxでISOLINUXのインストールされたイメージをマウントする場合、マウントコマンドに-oパラメータのnorock, nojoliet属性を追加する必要があります。
- コンピュータがISOLINUXを開くのに問題がある場合、ISOLINUXをインストールするときに、isolinux.binの代わりにisolinux-debug.binを使用します。こうすると、エラーメッセージを見ることができます。
ハードディスク用ISOLINUX
ISOLINUXはバージョン3.72以降、複数のISOイメージに対応しています。isohybridツールを使って、ISOLINUXがインストールされたCDやDVDのイメージから複数のISOイメージを作成することができます。
その使い方は以下の通りです。
isohybridを指定します。
ただし、この処理では、画像ファイルのサイズが平均1MB増加します。
4.PXELINUX
PXELINUXはSyslinuxの一種で、TFTPサーバからOSをロードするために使用されます。ディスクボリュームを持たないワークステーション向けです。BOOTPやTFTPを使ったサーバからDHCPでネットワークアダプタのPXE(Pre Execution Environment)をインストールするときに便利です。
PXELINUXを使用するには、BOOTPまたはTFTPサーバーと、他のネットワークまたは仮想化ソフトウェアからブート可能なコンピュータが必要です。
Pxelinux の構造
BOOTP または TFTP サーバ・ディレクトリのルート・ディレクトリにコア・ファイル pxelinux.0 を配置する必要があります。最新版をダウンロードした場合は、このファイルは/bios/coreにあります。また、PXELINUX’の設定ファイルは、pxelinux.cfgです。オプションのプラグインやヘルプファイル、画像などの設定ファイルは、カレントディレクトリの下にあります。
Syslinuxブートローダの種類は目的によって異なる
GNU/Linuxディストリビューションを他のデバイスで利用し、快適に持ち運ぶためには、ブートローダが必要です。Syslinuxはブートローダの1つに過ぎません。Syslinuxの種類は、使用目的やターゲットとする環境に応じて選択することができます。
さらに、これらの Syslinux の種類は、GNU/Linux ディストリビューションやカーネルをどこに、どのように移動させるかによって変わってきます。Syslinux 以外に、他のブートローダを代替として使うこともできます。