/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.3 LILO 設定ファイル
# The disk on which LILO should be installed. # By indicating the disk and not a partition. # you order LILO to be installed on the MBR. boot=/dev/sda # the partition that contains Debian root=/dev/sda2 # the item to be loaded by default default=Linux # the most recent kernel image image=/vmlinuz label=Linux initrd=/initrd.img read-only # Old kernel (if the newly installed kernel doesn't boot) image=/vmlinuz.old label=LinuxOLD initrd=/initrd.img.old read-only optional # only for Linux/Windows dual boot 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/50_custom
ファイルを変更してください。より複雑な設定をするには、/etc/grub.d
にある他のファイルを変更するか、このディレクトリにファイルを追加してください。さらに、このディレクトリに含まれるスクリプトは設定スニペットを返します。場合によっては外部プログラムを使用することもあるかもしれません。このスクリプトは起動したいカーネルのリストを更新するものです。すなわち 10_linux
はインストール済み Linux カーネルを考慮します。そして 20_linux_xen
は Xen 仮想システムを考慮し、30_os-prober
は他のオペレーティングシステム (Windows、OS X、Hurd) をリストアップします。
ybin
プログラムが bootstrap パーティションに yaboot
と設定ファイルをインストールします。設定ファイル /etc/yaboot.conf
(このファイルは bootstrap パーティションにコピーされ、yaboot
がディスク上からカーネルのパーティションを見つける方法を知っています) が変更されたら、ybin
コマンドを再度実行する必要があります。
例 8.4 Yaboot 設定ファイル
# bootstrap partition boot=/dev/sda2 # the disk device=hd: # the Linux partition partition=3 root=/dev/sda3 # boot after 3 seconds of inactivity # (timeout is in tenths of seconds) timeout=30 install=/usr/lib/yaboot/yaboot magicboot=/usr/lib/yaboot/ofboot enablecdboot # last kernel installed image=/vmlinux label=linux initrd=/initrd.img read-only # old kernel image=/vmlinux.old label=old initrd=/initrd.img.old read-only # only for Linux/Mac OSX dual-boot macosx=/dev/sda5 # bsd=/dev/sdaX and macos=/dev/sdaX # are also possible