Syslinuxブートローダーの種類を理解する

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

  • win32ディレクトリにあるsyslinux.exeは、32ビットWindows用です。
  • win64ディレクトリにあるsyslinux64.exeは、64ビットWindows用です。
  • linuxディレクトリにあるsyslinuxファイル
  • dos ディレクトリにある syslinux ファイル

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 以外に、他のブートローダを代替として使うこともできます。

Scroll to Top