GNU/Linux >> Belajar Linux >  >> Panels >> Webmin

Pemuat Boot GRUB

Pada halaman ini proses boot Linux dan GRUB boot loader tertutup. Ini menjelaskan cara menjalankan sistem operasi yang berbeda atau memuat kernel yang berbeda pada saat boot.

Isi

Pengantar boot loader

Ketika sistem Linux yang berjalan pada perangkat keras PC dimulai, kode pertama yang dijalankan adalah BIOS (Basic Input Output System) yang dimuat dari ROM. Setelah selesai menguji memori sistem dan menemukan perangkat keras apa yang diinstal, ia mencoba untuk memberikan kontrol ke pemuat boot sistem operasi untuk melanjutkan proses boot. Boot loader adalah program kecil yang mungkin meminta pengguna untuk memilih OS mana yang akan dijalankan, dan kemudian memuat sisa kernel sistem operasi dari hard drive, floppy disk, atau sumber lain.

Pada sistem normal, boot loader dimuat oleh BIOS dari blok pertama pada hard drive primer, yang disebut master boot record atau MBR. Namun, BIOS mungkin (tergantung pada konfigurasinya) memeriksa floppy drive atau CD-ROM untuk boot loader terlebih dahulu, sehingga sistem dapat di-boot dari disk yang dapat dilepas. Ini biasanya hanya dilakukan saat menginstal sistem operasi baru - untuk penggunaan normal sehari-hari, hampir setiap sistem melakukan booting dari hard disk.

Ada beberapa boot loader yang tersedia untuk Linux, tetapi dua yang paling umum dan dua yang akan dibahas dalam bab ini adalah LILO dan GRUB. Keduanya hanya bekerja pada perangkat keras PC yang kompatibel dengan x86, jadi jika Anda menjalankan Linux pada sistem Apple, SPARC atau Alpha, bab ini tidak akan banyak berguna bagi Anda. Setiap platform perangkat keras non-PC memiliki boot loader Linux khusus sendiri, yang dirancang untuk menangani kebiasaan dan persyaratan tertentu dari platform.

Sistem operasi lain (seperti Windows, FreeBSD dan Solaris) memiliki boot loader sendiri, yang pada dasarnya melakukan hal yang sama seperti LILO atau GRUB, tetapi dirancang untuk memuat kernel dari OS yang berbeda. Webmin tidak mendukung konfigurasi boot loader non-Linux, jadi jika Anda menjalankan versi Unix yang berbeda, bab ini dapat dilewati.

Pada sistem Linux, tanggung jawab utama boot loader adalah memuat kernel. Setelah kernel dimuat ke dalam memori dan kontrol telah ditransfer ke sana, pekerjaan boot loader selesai. Kernel kemudian me-mount sistem file root, driver yang diinisialisasi, dan akhirnya menjalankan program init untuk melanjutkan proses boot seperti yang dijelaskan di bab 9.

Boot loader juga dapat memulai proses memuat OS yang sama sekali berbeda pada sistem yang memiliki lebih dari satu yang diinstal. Ini dilakukan dengan memuat boot loader sistem operasi lain dari blok pertama partisi atau hard disk lain, dan kemudian mentransfer kontrol ke sana. OS lain kemudian memuat persis seperti jika boot loader dijalankan langsung oleh BIOS. Mampu memutuskan sistem operasi mana yang akan dimuat pada saat boot membuat praktis untuk memiliki dua atau lebih yang diinstal pada sistem yang sama, seperti Windows dan Linux.

Baik LILO dan GRUB dapat dikonfigurasi untuk menampilkan menu opsi boot ketika mereka dimuat, memungkinkan pengguna untuk memilih kernel mana yang akan dimuat atau sistem operasi lain yang akan dimuat. Mampu memilih dari beberapa kernel yang berbeda dapat sangat berguna ketika Anda telah menginstal yang baru dan ingin memiliki opsi untuk boot ke kernel baru dan lama. Bahkan dimungkinkan untuk memiliki beberapa opsi boot yang semuanya memuat versi kernel yang sama, tetapi dengan opsi baris perintah yang berbeda.

Semua distribusi Linux akan memberi Anda pilihan untuk secara otomatis mengatur boot loader pada saat instalasi. Anda biasanya dapat memilih untuk mem-boot sistem operasi lain yang diinstal juga, misalnya jika Anda menambahkan Linux ke sistem dengan Windows yang sudah diinstal pada partisi yang berbeda. Jika konfigurasi default ini bekerja untuk Anda, berhati-hatilah saat mengubah konfigurasi LILO atau GRUB secara manual atau melalui Webmin. Satu kesalahan dapat membuat sistem Anda tidak dapat di-boot, dan memerlukan penggunaan disk penyelamat untuk memulihkannya.

GRUB biasanya menggunakan file konfigurasi /boot/grub/grub.cfg (sebelumnya menu.lst ) dan tidak seperti LILO, ia memahami format sistem file ext2, ext3, ext4 dan vfat sehingga dapat membaca file menu.lst dan kernel tanpa memerlukan peta blok. Untuk alasan ini dan karena GRUB dapat memuat kernel yang disimpan di mana saja pada hard disk, biasanya dianggap sebagai pemuat boot yang unggul, dan telah melampaui LILO pada sebagian besar distribusi Linux.

GRUB 2

GRUB2 seperti yang digunakan di banyak (semua?) distro baru menggunakan file konfigurasi di /etc/grub.d/ .Konfigurasi modul dapat dimodifikasi, tetapi belum berfungsi.

Modul GRUB Boot Loader

Seperti namanya, modul ini memungkinkan Anda untuk mengatur GRUB. Seperti modul LILO, ketika Anda memasukkannya dari kategori Perangkat Keras, halaman utama menampilkan daftar ikon, satu untuk setiap opsi waktu booting. Tangkapan layar ini menunjukkan sebuah contoh.

Modul GRUB Boot Loader

Ikon modul hanya akan muncul jika Webmin mendeteksi bahwa GRUB diinstal pada sistem Anda. Jika tidak terlihat atau jika muncul kesalahan saat Anda memasukkan modul, GRUB tidak diinstal. Jika demikian, LILO mungkin digunakan sebagai gantinya sehingga Anda harus menggunakan modul Linux Boot Loader.

Satu kekhasan GRUB adalah bahwa secara internal ia merujuk ke semua hard disk dengan nomor disk BIOS mereka. hd0 adalah drive pertama yang diidentifikasi oleh BIOS, dan hd0,0 adalah partisi pertama pada drive itu. Pada sistem dengan hanya hard drive IDE, penomoran ini cukup sederhana - BIOS disk 0 adalah master utama, atau /dev/hda di Linux. Disk 2 (disebut hd1 oleh GRUB) adalah slave utama, dan seterusnya. Namun, pada sistem dengan drive SCSI dan IDE, segalanya menjadi lebih kompleks. Disk IDE biasanya datang sebelum SCSI dalam urutan BIOS, tetapi ini dapat dibalik pada beberapa sistem. Untungnya, modul GRUB dalam versi Webmin terbaru dapat secara otomatis mendeteksi hubungan antara file perangkat Linux dan nomor disk BIOS.

Mem-boot kernel Linux atau BSD baru dengan GRUB

Jika Anda baru saja mengkompilasi kernel baru dan ingin dapat menggunakannya, Anda perlu menambahkan opsi boot GRUB baru.

Proses serupa harus diikuti jika Anda memiliki Linux dan FreeBSD, NetBSD atau OpenBSD yang terinstal di sistem Anda dan ingin dapat memilih salah satunya saat boot. Untuk mengatur ini, langkah-langkah yang harus diikuti adalah:

  1. Untuk mem-boot kernel Linux, setelah kompilasi, salin file image kernel terkompresi (biasanya ditemukan di bawah direktori sumber di arch/i386/bzImage) ke direktori /boot. Biasanya harus diganti namanya menjadi vmlinuz-_xx.yy.zz_, di mana xx.yy.zz adalah nomor versi kernel.
  2. Pada halaman utama GRUB Boot Loader modul, klik Tambahkan opsi boot baru tautan untuk membuka formulir pembuatan opsi.
  3. Masukkan nama unik untuk kernel baru Anda ke dalam Judul opsi bidang, seperti linux-xx.yy.zz . Apa pun yang Anda masukkan akan muncul di menu GRUB saat boot.
  4. Setel Partisi gambar boot bidang ke Dipilih dan pilih partisi yang berisi kernel Anda dari daftar di sebelahnya. Jika partisi tidak muncul di menu, Anda harus memilih Lainnya sebagai gantinya dan masukkan disk dan partisi ke dalam bidang di sebelahnya, dalam format hd_X_,_Y_ yang digunakan oleh GRUB. Misalnya, hd2,1 akan menjadi partisi kedua pada drive BIOS 3.
  5. Untuk Sistem operasi melakukan boot , pilih kernel Linux dan masukkan jalur ke file gambar terkompresi kernel ke dalam bidang di sebelahnya. Untuk meneruskan argumen tambahan ke kernel, masukkan argumen tersebut ke dalam Opsi kernel lapangan di bawahnya. Untuk FreeBSD, Anda juga harus memilih kernel Linux dan masukkan /boot/loader ke lapangan. Tidak ada argumen kernel tambahan yang diperbolehkan. Untuk NetBSD atau OpenBSD, pilih Linux kernel juga dan masukkan type=netbsd /netbsd-elf .
  6. Jika direktori root pada sistem Anda dipasang dari perangkat yang tidak dikompilasi ke dalam kernel Linux (seperti disk SCSI atau pengontrol RAID perangkat keras), Anda perlu membuat disk RAM awal yang berisi modul kernel yang diperlukan untuk mengakses sistem file root. Cara paling sederhana untuk memeriksa apakah ini perlu adalah dengan melihat konfigurasi kernel boot lain yang ada. Untuk membuat file disk RAM awal di bawah direktori /boot untuk versi kernel xx.yy.zz , Anda perlu menjalankan perintah seperti :mkinitrd /boot/initrd-_xx.yy.zz_ xx.yy.zz Kemudian atur File ramdisk awal bidang ke jalur ke file yang baru dibuat.
  7. Terakhir, klik tombol Buat tombol. Selama tidak ada kesalahan yang terdeteksi pada input Anda, Anda akan dikembalikan ke halaman utama modul yang sekarang akan berisi ikon tambahan untuk kernel baru.
  8. Untuk boot ke kernel baru, Anda perlu memulai ulang sistem Anda. Ketika GRUB dimuat saat boot, itu akan menampilkan menu opsi boot yang tersedia, dari mana Anda dapat memilih kernel yang baru ditambahkan. Pastikan untuk melihat output debug dan pesan kesalahan yang ditampilkan kernel saat boot, sehingga jika terjadi kesalahan, Anda dapat mendiagnosis masalahnya. Jika ada masalah, Anda mungkin perlu mem-boot ulang dan memilih opsi kernel lama, lalu gunakan Webmin untuk memperbaiki konfigurasi GRUB.

Setelah Anda membuat opsi boot kernel baru, Anda dapat mengeditnya dengan mengklik ikonnya di halaman utama modul. Pada formulir pengeditan, bidang apa pun dapat diedit dan perubahannya disimpan dengan mengklik tombol Simpan tombol, atau kernel dapat dihapus dengan mengklik Hapus sebagai gantinya. Selalu berhati-hati dalam mengedit konfigurasi kernel yang tidak Anda buat sendiri, karena kesalahan dapat membuat sistem tidak dapat di-boot.

Mem-boot sistem operasi lain dengan GRUB

Jika sistem Anda memiliki sistem operasi lain yang diinstal pada hard disk atau partisi yang berbeda, Anda dapat mengonfigurasi GRUB sehingga dapat dipilih dan dimulai saat boot alih-alih Linux. Jika Anda ingin mem-boot FreeBSD, NetBSD, atau OpenBSD, lihat bagian *Mem-boot kernel Linux baru atau BSD* di atas - tetapi untuk Windows, UnixWare, atau OS lainnya, langkah-langkah yang harus diikuti adalah:

  1. Pada halaman utama modul, klik Tambahkan opsi boot baru untuk membuka formulir pembuatan opsi boot.
  2. Masukkan nama unik untuk ke dalam Judul opsi lapangan, seperti jendela.
  3. Setel Partisi gambar boot bidang ke Dipilih dan pilih partisi yang berisi OS lain dari daftar di sebelahnya. Jika partisi tidak muncul di menu, Anda harus memilih Lainnya sebagai gantinya dan masukkan disk dan partisi ke dalam bidang di sebelahnya, dalam format hd_X_,_Y_ yang digunakan oleh GRUB.
  4. Ubah Sistem operasi menjadi boot ke OS Lainnya .
  5. Biasanya, GRUB hanya akan menjalankan boot loader di sektor pertama dari partisi yang dipilih. Namun, mungkin tidak selalu ada boot loader di sana, jika misalnya sistem operasi biasanya menulis loadernya ke master boot record. Jika sistem operasi lain adalah Windows, pilih *Dari file chainloader* dan masukkan +1 ke lapangan di sebelahnya. Anda juga harus memeriksa tindakan Buat partisi root? pilihan. Jika mem-boot SCO UnixWare, Anda juga harus memilih *Dari file chainloader* dan memasukkan force +1 ke lapangan di sebelahnya. Opsi *Buat partisi root?* juga harus dipilih.
  6. Klik tombol Buat tombol untuk menambahkan OS baru. Browser Anda akan kembali ke halaman utama modul, yang sekarang akan menyertakan ikon untuk opsi boot baru Anda.
  7. Untuk boot ke sistem operasi lain, mulai ulang sistem Anda dan pilih dari menu GRUB saat boot.

Seperti halnya opsi boot untuk kernel Linux, Anda dapat mengedit atau menghapus opsi untuk sistem operasi lain dengan mengklik ikonnya di halaman utama modul. Setiap perubahan akan segera berlaku, untuk digunakan saat sistem di-boot ulang berikutnya.

Mengedit opsi GRUB global

GRUB memiliki beberapa opsi yang berlaku untuk semua kernel dan sistem operasi yang dapat di-boot. Untuk mengedit opsi global ini, langkah-langkah yang harus diikuti adalah:

  1. Klik Edit Opsi Global tombol di halaman utama modul, yang akan membawa Anda ke formulir opsi.
  2. Untuk mengontrol kernel mana yang di-boot secara otomatis jika pengguna tidak memilih salah satu dari menu GRUB dalam batas waktu yang dikonfigurasi, ubah Opsi boot default bidang. Jika opsi yang Anda pilih tidak dapat dimuat, GRUB akan mundur ke apa pun yang dipilih di Opsi boot mundur bidang.
  3. Untuk mengubah jumlah waktu GRUB akan menunggu pengguna memilih opsi boot sebelum menggunakan default, edit bidang *Timeout sebelum menggunakan default *.
  4. Menu boot GRUB memungkinkan pengguna untuk melakukan hal-hal seperti mengubah parameter kernel dan membaca file arbitrer pada sistem file Linux. Untuk mencegah hal ini, masukkan kata sandi ke dalam Kata sandi boot bidang. Ini akan membatasi pengguna ke opsi boot yang tersedia kecuali kata sandi dimasukkan. Selanjutnya, opsi boot di mana Password terkunci? bidang yang telah disetel juga tidak akan dapat dipilih.
  5. Setelah selesai, klik tombol Simpan tombol dan Anda akan kembali ke halaman utama modul.
Tambahkan Opsi Booting

Menginstal GRUB

Jika Anda telah menggunakan boot loader LILO dan ingin beralih ke GRUB, Anda harus menginstalnya pada master boot record atau partisi yang saat ini digunakan LILO. Ini hanya perlu dilakukan sekali, tidak seperti LILO yang harus diinstal ulang secara efektif setiap kali konfigurasinya diubah.

Untuk menginstal GRUB, langkah-langkah yang harus dilakukan adalah:

  1. Pada halaman utama modul, klik Edit Opsi Global tombol.
  2. Dari Instal GRUB di disk/partiton menu, pilih disk atau partisi tempat Anda ingin menginstal GRUB. Ini biasanya akan menjadi hard drive pertama di sistem Anda.
  3. Klik tombol Simpan tombol untuk kembali ke halaman utama modul.
  4. Klik pada Instal GRUB tombol untuk menulisnya ke drive atau partisi yang dipilih pada langkah 2.
  5. Agar sistem Anda dapat di-boot ke Linux mulai sekarang, buat opsi boot kernel yang diperlukan seperti yang dijelaskan di bagian *Mem-boot kernel Linux baru atau BSD*. Jika Anda mem-boot ulang sebelum melakukan ini, tidak mungkin memulai Linux lagi!

Webmin
  1. Ubuntu Boot Untuk Menyelamatkan Grub?

  2. Booting Windows Grub UEFA Gagal?

  3. CentOS / RHEL 5,6 :Cara menginstal ulang GRUB loader dari mode penyelamatan

  1. GRUB pada Sistem yang mendukung EUFI

  2. boot Windows dari penyelamatan GRUB

  3. Boot GRUB2 ke GRUB atau GRUB2 di disk lain

  1. Ubuntu 14.04 Tidak Mem-boot Prompt Grub?

  2. Bagaimana Cara Melewati Menu Grub Pada Sistem Dual-boot??

  3. Cara Melindungi Boot Loader Grub dengan Kata Sandi di Linux