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 (GUID Partition Table) 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#
Perhatikan bahwa beberapa disk terdaftar beberapa kali (karena mereka berperilaku secara bersamaan sebagai disk ATA dan disk SCSI), tetapi informasi yang relevan terutama dalam model dan nomor seri disk, dari mana Anda dapat menemukan berkas periferal. Sementara tautan di /dev/disk/by-id/
dibuat menggunakan nomor seri dan path fisik perangkat, ada lebih banyak tautan kenyamanan di misalnya /dev/disk/by-label/
(berdasarkan label yang diberikan), /dev/disk/by-uuid/
(berdasarkan pengidentifikasi unik, yang dapat berubah saat memformat ulang perangkat menggunakan mkfs.*
atau mkswap
), /dev/disk/by-path/
(berdasarkan path fisik terpendek), dan /dev/disk/by-partlabel/
serta /dev/disk/by-partuuid/
(hanya partisi dengan label GPT dan pengidentifikasi uniknya). Jika Anda menggunakan tautan ini, misalnya di /etc/fstab
, selalu lebih memilih pengidentifikasi unik daripada label. Anda juga dapat memperoleh dan mengubah informasi ini untuk setiap partisi atau perangkat menggunakan perintah lsblk
dan blkid
.
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. Konfigurasi GRUB 2
GRUB (GRand Unified Bootloader) lebih baru. Tidak perlu menjalankannya setiap pembaruan kernel; GRUB tahu bagaimana cara membaca sistem berkas dan menemukan lokasi kernel pada disk dengan sendirinya. Untuk memasangnya pada MBR dari disk pertama, ketikkan saja grub-install /dev/sda
. Ini akan menimpa MBR, sehingga berhati-hatilah untuk tidak menimpa lokasi yang salah. Walaupun juga mungkin untuk memasang GRUB ke dalam boot record partisi, waspadalah bahwa itu biasanya suatu kesalahan dan melakukan grub-install /dev/sda1
tidak memiliki arti yang sama dengan 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/40_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
menambahkan sistem operasi lain (Windows, OS X, Hurd), image kernel, dan opsi akses BIOS/EFI yang ada ke menu.
8.8.3. Menggunakan GRUB dengan EFI dan Secure Boot
Menggunakan
GRUB untuk mem-boot sistem BIOS tradisional (legacy atau UEFI-CSM) atau sistem UEFI sangat berbeda. Untungnya pengguna tidak perlu mengetahui perbedaannya karena Debian menyediakan paket yang berbeda untuk setiap tujuan dan pemasang secara otomatis peduli tentang mana yang harus dipilih. Paket
grub-pc dipilih untuk sistem lama, di mana
GRUB dipasang ke MBR, sedangkan sistem UEFI memerlukan
grub-efi-arch, di mana
GRUB dipasang ke dalam EFI System Partition (ESP). Yang terakhir membutuhkan tabel partisi GTP serta partisi EFI.
Untuk beralih dari sistem yang ada (mendukung UEFI) dari mode boot lama ke UEFI tidak hanya perlu mengganti paket GRUB pada sistem, tetapi juga untuk menyesuaikan tabel partisi dan untuk membuat partisi EFI (mungkin termasuk mengubah ukuran partisi yang ada untuk membuat ruang kosong yang diperlukan). Oleh karena itu, ini adalah proses yang cukup rumit dan kami tidak dapat membahasnya di sini. Untungnya, ada beberapa manual oleh blogger yang menjelaskan prosedur yang diperlukan.
Jika Anda menggunakan sistem dengan "Secure Boot" diaktifkan dan telah memasang
shim-signed (lihat bilah sisi
KULTUR Boot Aman dan bootloader shim), Anda juga harus memasang
grub-efi-arch-signed. Paket ini tidak ditarik secara otomatis, hanya jika instalasi paket yang direkomendasikan telah diaktifkan.