Product SiteDocumentation Site

8.8. Mengonfigurasi Bootloader

Mungkin ini telah berfungsi, namun akan lebih baik jika mengetahui bagaimana mengonfigurasi dan menginstall bootloader jika dia menghilang dari Master Boot Record. Hal ini dapat terjadi setelah instalasi sistem operasi lainnya, seperti Windows. Informasi berikut dapat pula membantu Anda untuk memodifikasi konfigurasi bootloader jika diperlukan.

8.8.1. Mengidentifikasi Cakram

Konfigurasi bootloader harus mengidentifikasi perangkat keras yang berbeda dan partisinya. Linux menggunakan berkas khusus “block” yang tersimpan dalam direktori /dev/, untuk tujuan ini. Sejak Debian Squeeze, pola penamaan untuk hard drive telah disatukan oleh kernel Linux, dan semua hard drive (IDE/PATA, SATA, SCSI, USB, IEEE 1394) sekarang direpresentasikan oleh /dev/sd*.
Setiap partisi direpresentasikan oleh nomornya pada disk di mana dia berasa: misalnya, /dev/sda1 merupakan partisi pertama pada disk pertama, dan /dev/sdb3 adalah partisi ketiga pada disk kedua.
Arsitektur PC (atau "i386", termasuk saudara sepupunya "amd64" yang lebih muda) telah lama terbatas untuk menggunakan format tabel partisi "MS-DOS", yang hanya mengizinkan empat partisi "primer" per disk. Untuk melalui batasan ini, salah satunya harus dibuat sebagai partisi "perluasan", dan kemudian dapat memuat partisi tambahan "sekunder". Partisi sekunder ini harus bernomor dari 5. Maka partisi sekunder pertama dapat berupa /dev/sda5, diikuti oleh /dev/sda6, dst.
Keterbatasan lain dari format tabel partisi MS-DOS adalah itu hanya mengizinkan disk berukuran sampai dengan 2 TiB, yang menjadi masalah nyata dengan disk-disk terkini.
Suatu format tabel partisi baru bernama GPT melonggarkan kendala ini pada banyaknya partisi (itu mengizinkan sampai dengan 128 partisi ketika memakai setelan standar) dan atas ukuran disk (sampai dengan 8 ZiB, yang lebih dari 8 miliar terabita). Bila Anda hendak membuat banyak partisi fisik pada disk yang sama, maka Anda mesti memastikan bahwa Anda membuat tabel partisi dalam format GPT ketika mempartisi disk Anda.
Tidak mudah untuk mengingat cakram apa yang terhubung dengan SATA controller, atau pada posisi ketiga dalam chain SCSI, khususnya sejak penamaan hard drive yang tertancap (termasuk di antaranya kebanyakan disk SATA dan disk eksternal) dapat berubah dari satu boot ke lainnya. Untungnya, udev membuat tambahannya pada /dev/sd*, tautan simbolis dengan nama tetap, yang dapat Anda gunakan kemudian jika Anda ingin mengidentifikasi hard drive dengan cara yang tidak membingungkan. Tautan simbolis ini tersimpan di /dev/disk/by-id. Pada mesin dengan dua cakram fisik, misalnya, dapat ditemukan sebagai berikut:
mirexpress:/dev/disk/by-id# ls -l
total 0
lrwxrwxrwx 1 root root  9 23 jul. 08:58 ata-STM3500418AS_9VM3L3KP -> ../../sda
lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-STM3500418AS_9VM3L3KP-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-STM3500418AS_9VM3L3KP-part2 -> ../../sda2
[...]
lrwxrwxrwx 1 root root  9 23 jul. 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697 -> ../../sdb
lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697-part2 -> ../../sdb2
[...]
lrwxrwxrwx 1 root root  9 23 jul. 08:58 scsi-SATA_STM3500418AS_9VM3L3KP -> ../../sda
lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_STM3500418AS_9VM3L3KP-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_STM3500418AS_9VM3L3KP-part2 -> ../../sda2
[...]
lrwxrwxrwx 1 root root  9 23 jul. 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697 -> ../../sdb
lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697-part2 -> ../../sdb2
[...]
lrwxrwxrwx 1 root root  9 23 jul. 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0 -> ../../sdc
lrwxrwxrwx 1 root root 10 23 jul. 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 23 jul. 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0-part2 -> ../../sdc2
[...]
lrwxrwxrwx 1 root root  9 23 jul. 08:58 wwn-0x5000c50015c4842f -> ../../sda
lrwxrwxrwx 1 root root 10 23 jul. 08:58 wwn-0x5000c50015c4842f-part1 -> ../../sda1
[...]
mirexpress:/dev/disk/by-id# 
Catat bahwa beberapa disk terdaftar beberapa kali (karena secara simultan berlaku sebagai disk ATA dan disk SCSI), namun informasi yang relevan utamanya dalam model dan nomor seri disk, yang dapat Anda temukan berkas peripheralnya.
Contoh berkas konfigurasi pada bagian ini berdasarkan pengaturan yang sama: sebuah disk SATA, di mana parsiti pertama merupakan instalasi Windows lama dan yang kedua berisi Debian GNU/Linux.

8.8.2. Mengonfigurasi LILO

LILO (LInux LOader) merupakan bootloader tertua - solid namun karatan. Dia menulis alamat fisik kernel untuk di-boot pada MBR, karenanya setiap pembaruan LILO (atau berkas konfigurasinya) harus diikuti oleh perintah lilo. Lupa melakukannya akan mengakibatkan sistem tidak dapat diboot jika kernel lama dihapus atau diganti karena yang baru tidak akan berada di lokasi yang sama pada cakram (disk).
Berkas konfigurasi LILO ialah /etc/lilo.conf; sebuah berkas sederhana untuk konfigurasi standar di ilustrasikan pada contoh berikut.

Contoh 8.3. Berkas konfigurasi 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

8.8.3. Konfigurasi GRUB 2

GRUB (GRand Unified Bootloader) lebih baru. Tidak perlu menjalankannya setiap pembaruan kernel; GRUB tau bagaimana cara membaca sistemberkas dan menemukan lokasi kernel pada cakram dengan sendirinya. Untuk menginstallnya pada MBR pada cakram pertama, ketikkan grub-install /dev/sda.
Konfigurasi GRUB 2 disimpan dalam /boot/grub/grub.cfg, namun berkas ini (di Debian) dibuat oleh lainnya. Berhati-hatilah untuk tidak memodifikasinya secara manual, karena modifikasi lokal akan hilang ketika dijalankan update-grub (yang dapat terjadi ketika memerbarui berbagai paket). Modifikasi paling umum berkas /boot/grub/grub.cfg (untuk menambahkan parameter baris perintah ke kernel atau mengganti durasi menu ditampilkan, misalnya) dibuat melalui variabel dalam /etc/default/grub. Untuk menambahkan masukan ke menu, Anda dapat membuat berkas /boot/grub/custom.cfg atau memodifikasi berkas /etc/grub.d/50_custom. Untuk konfigurasi yang lebih kompleks, Anda dapat mengubah berkas-berkas lain dalam /etc/grub.d, atau menambahkan ke mereka; skrip-skrip ini mesti mengembalikan snippet konfigurasi, mungkin dengan menggunakan program eksternal. Skrip ini yang akan memerbarui daftar kernel untuk di-boot: 10_linux menangani kernel Linux yang terinstall; 20_linux_xen menangani sistem virtual Xen, dan 30_os-prober mendaftar sistem operasi lain (Windows, OS X, Hurd).

8.8.4. Untuk Komputer Macintosh (PowerPC): Mengonfigurasi Yaboot

Yaboot merupakan bootloader yang digunakan oleh komputer Macintosh lama menggunakan prosesor PowerPC. Mereka tidak mem-boot seperti PC, namun memercayakan pada partisi “bootstrap”, di mana BIOS (atau OpenFirmware) mengeksekusi loader, dan program ybin menginstall yaboot dan berkas konfigurasinya. Anda hanya perlu menjalankan perintah ini lagi jika /etc/yaboot.conf dimodifikasi (berkas ini terduplikasi pada partisi bootstrap, dan yaboot tahu bagaimana cara menemukan posisi kernel pada cakram).
Sebelum mengeksekusi ybin, pertama Anda harus memiliki /etc/yaboot.conf yang valid. Berikut merupakan contoh konfigurasi minimal.

Contoh 8.4. Berkas konfigurasi 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