/dev/
ディレクトリ内で「ブロック」スペシャルファイルを使います。Debian Squeeze 以降、ハードドライブの命名規則は Linux カーネルによって統一化されました。現在、すべてのハードドライブ (IDE/PATA、SATA、SCSI、USB、IEEE 1394) は /dev/sd*
と表されます。
/dev/sda1
は 1 台目のディスクの最初のパーティションで、/dev/sdb3
は 2 台目のディスクの 3 番目のパーティションです。
/dev/sda5
、2 番目は /dev/sda6
などのように割り振られるでしょう。
udev
は /dev/sd*
に加えて、固有名のシンボリックリンクを作成します。曖昧でない方法でハードドライブを識別したい場合にはこのシンボリックリンクを使うことが可能です。これらのシンボリックリンクは /dev/disk/by-id
に保存されています。たとえば 2 台の物理ディスクを備えるマシンでは以下のようなシンボリックリンクが見つかります。
mirexpress:/dev/disk/by-id#
ls -l
合計 0 lrwxrwxrwx 1 root root 9 7月 23 08:58 ata-STM3500418AS_9VM3L3KP -> ../../sda lrwxrwxrwx 1 root root 10 7月 23 08:58 ata-STM3500418AS_9VM3L3KP-part1 -> ../../sda1 lrwxrwxrwx 1 root root 10 7月 23 08:58 ata-STM3500418AS_9VM3L3KP-part2 -> ../../sda2 [...] lrwxrwxrwx 1 root root 9 7月 23 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697 -> ../../sdb lrwxrwxrwx 1 root root 10 7月 23 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 10 7月 23 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697-part2 -> ../../sdb2 [...] lrwxrwxrwx 1 root root 9 7月 23 08:58 scsi-SATA_STM3500418AS_9VM3L3KP -> ../../sda lrwxrwxrwx 1 root root 10 7月 23 08:58 scsi-SATA_STM3500418AS_9VM3L3KP-part1 -> ../../sda1 lrwxrwxrwx 1 root root 10 7月 23 08:58 scsi-SATA_STM3500418AS_9VM3L3KP-part2 -> ../../sda2 [...] lrwxrwxrwx 1 root root 9 7月 23 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697 -> ../../sdb lrwxrwxrwx 1 root root 10 7月 23 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 10 7月 23 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697-part2 -> ../../sdb2 [...] lrwxrwxrwx 1 root root 9 7月 23 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0 -> ../../sdc lrwxrwxrwx 1 root root 10 7月 23 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0-part1 -> ../../sdc1 lrwxrwxrwx 1 root root 10 7月 23 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0-part2 -> ../../sdc2 [...] lrwxrwxrwx 1 root root 9 7月 23 08:58 wwn-0x5000c50015c4842f -> ../../sda lrwxrwxrwx 1 root root 10 7月 23 08:58 wwn-0x5000c50015c4842f-part1 -> ../../sda1 [...] mirexpress:/dev/disk/by-id#
lilo
コマンドを使わなければいけません。このルールを忘れて、古いカーネルを削除したり、置き換えた新しいカーネルを古いカーネルがあった場所と同じディスクの場所に置かなかったりすると、システムが起動できないと表示されます。
/etc/lilo.conf
です。標準的な設定を行う単純なファイルは以下の例のように書けます。
例 8.4 LILO の設定ファイル
# このディスクに LILO をインストールします。 # ここではパーティションではなくディスクを指定してください。 # LILO は MBR にインストールされます。 boot=/dev/sda # Debian がインストールされているパーティション root=/dev/sda2 # デフォルトで起動させるアイテム default=Linux # 最新のカーネルイメージ image=/vmlinuz label=Linux initrd=/initrd.img read-only # 古いカーネル (最新のカーネルが起動しなかった際に使います) image=/vmlinuz.old label=LinuxOLD initrd=/initrd.img.old read-only optional # Linux と Windows のデュアルブート用 other=/dev/sda1 label=Windows
grub-install /dev/sda
を実行してください。
/boot/grub/grub.cfg
に保存されていますが、このファイルは (Debian の場合) 別のファイルから生成されます。/boot/grub/grub.cfg
を直接変更しないでください。なぜなら、update-grub
が実行されたら (さまざまなパッケージの更新時に実行されることがあります) そのようなその場限りの変更は失われるからです。/boot/grub/grub.cfg
ファイルに対して最も一般的な変更を加える (たとえば、カーネルに渡すコマンドラインパラメータを追加したり、メニューの表示される時間を変える) には /etc/default/grub
に含まれる変数を使います。メニューにエントリを追加するには /boot/grub/custom.cfg
ファイルを作成するか、/etc/grub.d/40_custom
ファイルを変更してください。より複雑な設定をするには /etc/grub.d
にある他のファイルを変更するか、このディレクトリにファイルを追加してください。/etc/grub.d
ディレクトリに含まれるスクリプトは設定スニペットを返すスクリプトであり、場合によっては外部プログラムを使用するかもしれません。これらのスクリプトは起動したいカーネルのリストを更新するためのものです。すなわち 10_linux
はインストール済み Linux カーネルをリストアップします。そして 20_linux_xen
は Xen 仮想システムをリストアップし、30_os-prober
は他のオペレーティングシステム (Windows、OS X、Hurd) をリストアップします。
ybin
プログラムがインストールする yaboot
と設定ファイルも含まれています。設定ファイル /etc/yaboot.conf
(このファイルは bootstrap パーティションにコピーされ、yaboot
がディスク上からカーネルのパーティションを見つける方法を指定するファイルです) を変更したら、ybin
コマンドをもう一度実行する必要があります。
例 8.5 Yaboot の設定ファイル
# bootstrap パーティション boot=/dev/sda2 # ディスク device=hd: # Linux パーティション partition=3 root=/dev/sda3 # 3 秒間何もしなければ起動します # (timeout は 10 倍の値を設定してください) timeout=30 install=/usr/lib/yaboot/yaboot magicboot=/usr/lib/yaboot/ofboot enablecdboot # 最近インストールされたカーネル image=/vmlinux label=linux initrd=/initrd.img read-only # 古いカーネル image=/vmlinux.old label=old initrd=/initrd.img.old read-only # Linux と Mac OSX のデュアルブート用 macosx=/dev/sda5 # bsd=/dev/sdaX および macos=/dev/sdaX # の可能性もあります