Tutorial GRUB2 untuk Ubuntu

Ini adalah dokumen PDF berisi panduan penggunaan dan kustomisasi Grub 2 untuk Ubuntu dalam Bahasa Indonesia yang saya alihbahasakan dari laman Grub 2 di Ubuntu Community Help Wiki.


Tutorial Grub 2 untuk Ubuntu Linux

Mohon baca bagian Lisensi Dokumen di laman terakhir untuk informasi mengenai penggunaan, modifikasi, dan redistribusi dokumentasi tersebut dan turunannya 🙂


Panduan Grub2 Ubuntu Bahasa Indonesia

Dialihbahasakan oleh Eka Y Saputra dari Grub 2 di Ubuntu Community Help Wiki (Agustus 2014)


Definisi dan Fungsi GRUB 2

GRUB 2 adalah boot loader dan boot manager bawaan Ubuntu sejak versi 9.10 (Karmic Koala). Saat komputer mulai menyala, GRUB 2 mungkin akan menyajikan sebuah menu dan meminta input dari pengguna, atau secara otomatis melakukan transfer kontrol pada suatu kernel sistem operasi. GRUB 2 adalah turunan dari GRUB (GRand Unified Bootloader). Software ini telah ditulis ulang secara menyeluruh untuk menyajikan peningkatan signifikan atas fleksibilitas dan kinerja. GRUB 2 adalah Free Software.
Dalam panduan ini, GRUB 2 adalah versi 1.98 atau selanjutnya. GRUB legacy (versi 0.97) akan disebut sebagai GRUB saja. Untuk menentukan versi yang Anda miliki, gunakan perintah:

$ grub-install -v

Grub versi 1.99 merupakan bawaan pada Ubuntu 11.04 (Natty Narwhal) dan memperkenalkan sejumlah perubahan mayor pada konten file Grub. Panduan ini mencakup penggunaan Grub 1.98, rilis Grub yang disertakan pada Ubuntu 10.04 LTS (Lucid Lynx), dan Grub 1.99 yang dipaketkan dalam Ubuntu 12.04 LTS (Precise Pangolin). Konten yang berisi tentang versi-versi lainnya dari Grub 2 akan diberikan catatan pada entri yang sesuai.


Perkembangan

Perkembangan mayor GRUB 2 dibandingkan dengan GRUB meliputi:

  • Dukungan scripting mencakup conditional statements dan functions
  • Dynamic module loading
  • Mode rescue
  • Menu-menu Kustom
  • Tema-tema
  • Dukungan menu boot grafis dan peningkatn kapabilitas splash
  • Menjalankan boot LiveCD ISO images secara langsung dari hard drive
  • Struktur file konfigurasi baru
  • Dukungan platform non-x86 (semisal PowerPC)
  • Dukungan universal untuk UUID (tidak hanya Ubuntu)

GRUB vs GRUB 2

Menu bawaan GRUB 2 akan terlihat familiar bagi para pengguna GRUB, namun demikian terdapat banyak perbedaan di bawah permukaan.

  1. Pada instalasi baru Ubuntu 9.10 atau selanjutnya tanpa ada instalasi sistem operasi lain, GRUB 2 akan menjalankan boot secara langsung ke login prompt atau Desktop. Tidak akan ada tampilan menu.
  2. Tahan tuts SHIFT kanan untuk menampilkan menu saat proses boot. Dalam beberapa kasus, tuts ESC kadang juga bisa digunakan untuk menampilkan menu.
  3. Tidak ada /boot/grub/menu.lst, digantikan dengan /boot/grub/grub.cfg.
  4. Tidak ada “/find boot/grub/stage1” pada grub prompt. Stage 1.5 telah dieliminir.
  5. File konfigurasi utama Grub 2, yang normalnya berlokasi di direktori /boot/grub, bernama grub.cfg. File ini merupakan produk dari berbagai script dan sebaiknya tidak diedit secara langsung.
  6. grub.cfg ditimpa oleh pemutakhiran paket Grub 2 tertentu, ketika sebuah kernel ditambahkan atau dihapus, atau saat pengguna menjalankan perintah update-grub.
  7. Daftar menu kernel Linux yang tersedia akan tersusun secara otomatis dengan menjalankan perintah update-grub.
  8. Pengguna dapat membuat sebuah file kustom untuk menyusun entri menu khusus. File ini tidak akan ditimpa. Secara bawaan, sebuah file kustom berjudul 40_custom telah tersedia untuk dipergunakan, letaknya di dalam direktori /etc/grub.d.
  9. File konfigurasi utama untuk mengubah pengaturan tampilan menu dinamakan grub dan secara bawaan terletak di direktori /etc/default.
  10. Terdapat beberapa file untuk mengatur konfigurasi menu – /etc/default/grub yang telah disebutkan di atas, serta seluruh file yang ada di dalam direktori /etc/grub.d/.
  11. Penomoran partisi telah diubah. Partisi pertama bukan lagi bernomor 0, melainkan 1. Device/drive pertama masih bernama still hd0 secara bawaan (tak berubah). Penomoran ini bisa diubah (jika diperlukan) pada file device.map dalam direktori /boot/grub.
  12. Pencarian otomatis atas sistem operasi lainnya, semisal Windows, dijalankan setiap kali perintah update-grub dieksekusi. Sistem operasi yang ditemukan akan dimuat dalam menu Grub 2.
  13. Perubahan-perubahan yang diterapkan dalam file-file konfigurasi tidak akan berlaku sebelum perintah update-grub dieksekusi.

Upgrade ke GRUB 2 dari GRUB

GRUB 2 adalah bootloader bawaan Ubuntu. Para pengguna yang masih (hanya) memiliki instalasi Grub 0.97 dalam sistem Ubuntu mereka bisa melakukan upgrade ke GRUB 2 dengan cara menginstal rilis terkini Ubuntu atau dengan mengaktifkan repositori yang memuat paket GRUB 2; grub-pc.

Silakan kunjungi dokumentasi komunitas Grub2/Upgrading untuk informasi dan instruksi lebih lanjut.


Struktur File

GRUB 2 menyajikan direktori dan hirarki file yang telah direvisi total. Direktori utama GRUB 2 folders meliputi /etc/grub.d, yang memuat script utama GRUB 2, dan /boot/grub, yang memuat modul-modul GRUB 2 serta file menu (grub.cfg). Kustomisasi pengguna normalnya dilakukan pada file /etc/default/grub.

Deskripsi tentang direktori dan file-file utama GRUB 2 dapat dibaca di laman dokumentasi komunitas Grub2/Setup.


Konfigurasi GRUB 2

Perubahan konfigurasi normalnya dilakukan pada file /etc/default/grub serta pada script kustom di /etc/grub.d. Segala perubahan belum akan diterapkan pada menu GRUB 2 sebelum pengguna mengeksekusi perintah update-grub (sebagai root). Perintah ini akan menjalankan script konfigurasi GRUB 2 dan memutakhirkan file /boot/grub/grub.cfg.

Deskripsi tentang opsi-opsi GRUB 2 dan cara melakukan perubahan konfigurasi disajikan pada laman dokumentasi komunitas Grub2/Setup.


Tampilan Boot

GRUB 2 termuat sebelum sistem operasi manapun. Komponen-komponen modularnya dimuat sesuai kepentingan pengguna. Kinerja tampilan boot secara umum dapat ditentukan melalui pengaturan file /etc/default/grub. Silakan baca ulang seksi “Konfigurasi GRUB 2” di atas untuk panduan entri dan pemformatan tertentu.

Tampilan Awal Bawaan

  1. Jika tidak terdeteksi adanya sistem operasi lain (hanya ada satu OS), GRUB 2 akan langsung boot ke sistem operasi tersebut tanpa menampilkan menu apapun.
  2. Jika terdeteksi adanya lebih dari satu instalasi sistem operasi, menu GRUB 2 akan ditampilkan.

Tampilan Berbatas Waktu

  1. Menu GRUB 2 akan ditampilkan dalam jangka waktu beberapa detik. Entri default akan di-highlight dan opsi lainnya bisa dipilih oleh pengguna hingga berakhirnya timeout. Timeout bawaan berjangka 2 detik. Penghitung waktu akan berjalan terus sampai ada tuts yang ditekan atau entri yang di-highlight dipilih dengan mengklik ENTER.
  2. Jika pengguna tidak melakukan input apapun, GRUB 2 akan menjalankan boot ke entri default saat timeout berakhir.
  3. Jika ada tuts yang ditekan sebelum timeout, maka penghitung waktu akan berhenti dan pengguna harus melakukan seleksi secara manual.
  4. Entri default ditentukan dengan pengaturan GRUB_DEFAULT= dalam file /etc/default/grub; “menuentry” pertama memiliki nilai “0”.

Hidden (Tersembunyi)

  1. Operasi Menu Tersembunyi Normal Diaktifkan:
    1. Entri menu tidak ditampilkan. Splash screen, jika dikonfigurasikan, akan ditampilkan.
    2. Jangka waktu layar kosong namun tersedia untuk display ditentukan dengan pengaturan di dalam file /etc/default/grub (GRUB_HIDDEN_TIMEOUT)
    3. GRUB 2 dapat menampilkan penghitung waktu mundur untuk menyajikan umpan balik visual atas jangka waktu yang tersisa sampai entri default dieksekusi. Pengaturan timeout berada di dalam file /etc/default/grub (GRUB_HIDDEN_TIMEOUT_QUIET)
    4. Pengguna dapat menampilkan menu dengan mengklik tuts manapun.
      1. Sesudah menu ditampilkan, penghitung mundur GRUB_TIMEOUT mulai berjalan. Klik pada tuts manapun akan menghentikan penghitung mundur.
        1. Jika tak ada tuts yang diklik pada akhir timeout, entri default yang ditentukan oleh pengaturan dalam file /etc/default/grub akan dieksekusi.
  2. Operasi Menu Tersembunyi Abnormal (tidak sesuai dengan konfigurasi):
    1. Pengguna bisa menampilkan menu dengan salah satu atau beberapa cara berikut:
      1. Menahan tuts SHIFT pada awal proses boot hingga menu ditampilkan.
        1. GRUB 2 mencari sinyal tuts SHIFT yang ditekan saat proses boot berjalan. Jika tuts ditekan atau GRUB 2 tak bisa menentukan status tuts tersebut, menu otomatis ditampilkan.
      2. Mengklik tuts ESC dalam jangka 3 detik saat GRUB 2 berjalan.

Saved (Tersimpan)

  1. Menyimpan suatu OS bisa dilakukan dengan menjalankan sudo grub-set-default jika GRUB_DEFAULT=saved diatur dalam /etc/default/grub. Ini juga bisa disimpan jika GRUB_SAVEDEFAULT=true juga diatur dalam /etc/default/grub. Dalam kasus ini, OS default akan tetap bertahan hingga sebuah OS baru diseleksi secara manual pada menu GRUB 2 atau perintah grub-set-default dieksekusi.

Boot Terakhir Gagal atau Boot ke Recovery Mode

Jika boot terakhir gagal atau sesudah boot ke Recovery Mode, menu akan ditampilkan hingga pengguna mengeksekusi salah satu entri menu.

Untuk mengubah perilaku ini, edit /etc/default/grub dan tambahkan variabel GRUB_RECORDFAIL_TIMEOUT. Atur nilai yang sama dengan nilai untuk GRUB_TIMEOUT.

  1. Untuk -1, tidak akan ada penghitung waktu sehingga menu akan ditampilkan.
  2. Untuk 0, menu tidak akan ditampilkan meskipun untuk startup yang gagal.
  3. Untuk >=1, menu akan ditampilkan sesuai jangka waktu yang ditentukan.

Jalankan update-grub sesudah melakukan perubahan tersebut.

Dalam beberapa kasus, trik dengan GRUB_RECORDFAIL_TIMEOUT tidak bisa bekerja. Untuk kasus seperti ini, edit /etc/grub.d/00_header dan ubah nilai timeout pada baris 236 (baris ini berisi fungsi make_timeout())

set timeout=-1
sesuai nilai di atas.

Jalankan update-grub sesudah perubahan dilakukan. Terimakasih pada McCunha untuk tip tersebut di Ubuntu Forum.

Perubahan di atas akan membuat GRUB 2 menjalankan boot ke text graphics mode. Oleh karena itu, perubahan tambahan masih diperlukan. Edit /etc/grub.d/10_linux dan ubah baris ke 188 menjadi

set linux_gfx_mode=keep
Sekali lagi, jalankan update-grub sesudah membuat perubahan.


Proteksi Password

GRUB 2 mampu melakukan penyuntingan menu, akses ke terminal GRUB 2, serta menuentries tertentu dengan proteksi password. Hal ini juga akan membatasi akses ke entri-entri tertentu bagi pengguna tertentu, dan mampu mengenkripsi password teks murni untuk keamanan yang lebih ketat. Silakan merujuk ke dokumentasi komunitas Grub2/Passwords.


Entri Menu Kustom

GRUB 2 memampukan pengguna untuk membuat seleksi menu kustom yang akan ditambahkan secara otomatis ke menu utama sesudah sudo update-grub dieksekusi. File 40_custom terdapat dalam /etc/grub.d/ untuk dipergunakan langsung atau sebagai contoh untuk membuat menu kustom lainnya. Informasi mengenai cara membuat dan menggunakan menu kustom untuk GRUB 2 ada didokumentasi komunitas Grub2/CustomMenus.


Troubleshooting

GRUB 2 menyajikan kapabilitas luar biasa untuk troubleshooting dan perbaikan permasalahan pada boot dari menu boot atau dari terminal GRUB 2. Prosedur troubleshooting dan recovery dijelaskan secara rinci pada dokumentasi komunitas Grub2/Troubleshooting yang juga memuat seksi Selected_Problems_and_Bugs.

Memperbaiki reboot/shutdown freeze
Jika komputer Anda mengalami freeze saat sedang menjalankan proses shutdown atau reboot, cobalah untuk memodifikasi /etc/default/grub. Buka file tersebut dengan perintah gksudo gedit /etc/default/grub (untuk antarmuka grafis) atau perintah sudo nano /etc/default/grub (untuk command-line). Berbagai editor teks murni lainnya (Vim, Emacs, Kate, Leafpad) juga bisa dipakai. Temukan baris teks GRUB_CMDLINE_LINUX_DEFAULT dan tambahkan reboot=bios di akhir baris tersebut.

Jika perubahan ini dilakukan dengan benar, maka ia akan menghasilkan baris yang kurang lebih seperti ini: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash reboot=bios"

Lalu simpan file ini, jalankan sudo update-grub dan reboot dengan cara apapun yang bisa Anda lakukan. Sesudahnya, reboot dan shutdown akan berjalan dengan lancar.

Untuk hardware tertentu (misalnya DELL) kernel parameter yang Anda tambahkan harus seperti ini: reboot=pci (dan bukan reboot=bios), prosedur selanjutnya sama.


Display

GRUB 2 bisa melakukan lebih dari sekedar menu hitam-putih sederhana. Menu bawaannya bisa dikustomisasi oleh pengguna untuk menampilkan menu yang lebih menarik secara visual dengan perubahan pada warna font, latar belakang, dan resolusi.

Untuk informasi mengenai penggunaan splash images dan cara mengubah warna font serta resolusi menu, silakan merujuk pada dokumentasi komunitas Grub2/Displays.


Tema

Tema GRUB 2 masih dalam tahap pengembangan, demikian juga dengan integrasi dengan gfxmenu. Elemen-elemen tema akan meliputi warna, font, indikator progres, menu, dan label. Keduanya menjanjikan perkembangan yang menarik, namun belum siap untuk dirilis bersamaan dengan Ubuntu 9.10.


Instalasi, Instal Ulang & Memindahkan GRUB2

Silakan kunjungi dokumentasi komunitas Grub2/Installing. Informasi terkait upgrade dari GRUB 0.97 (Legacy) ke GRUB 2 bisa diakses di Grub2/Upgrading.


Booting ISO dari Menuentry

Ubuntu ISO, juga berbagai utility ISO dan sejumlah sistem operasi Linux, bisa di-boot dari hard drive via menuentry GRUB. Hal ini mengeliminir kebutuhan untuk membakar CD/DVD sebab file-file bootable image cukup disimpan di dalam hard drive.

Untuk informasi mengenai fitur Grub 2 ini, silakan kunjungi laman dokumentasi komunitas Grub2/ISOBoot.


Keamanan

Pencegahan boot via Grub command-line

Kemampuan untuk menjalankan boot secara manual dengan menggunakan Grub command-line merupakan resiko keamanan terbesar pada Linux. OS apapun bisa di-boot dengan cara ini dari drive USB atau CD/DVD, melewati restriksi BIOS. Menambahkan password atau mengunci item-item menu (melalui pengaturan file konfigurasi Grub) tidak akan mencegah pengguna untuk menjalankan boot manual menggunakan perintah-perintah yang diketikkan pada grub command-line. (Sesudah suatu OS asing di-boot, tentu saja ia bisa dipakai untuk mengakses bagian manapun dari hard drive yang tidak dienkripsi).

Saat ini belum ada opsi yang tepat untuk mencegah penyalahgunaan Grub command-line. Apabila dipaksakan, hal ini justru bisa membatasi boot-loading hanya sampai ke opsi-opsi menu saja, dan hal ini tidak akan berguna.


Lain-lain

Booting dari serial console

Jika Anda menginginkan GRUB beroperasi pada sebuah serial line, And harus menghapus penanda komentar pada baris GRUB_TERMINAL di file /etc/default/grub dan mengaturnya ke serial (bukan console sebagai pengaturan bawaan).Pengaturan bawaan serial console dimaksudkan untuk beroperasi pada port serial pertama (ttyS0) pada transfer rate 9600 bit/s dengan 8 data bits, 1 stop bit dan no parity.

Jika Anda ingin menggunakan port serial lainnya atau jika console Anda menggunakan pengaturan berbeda, Anda harus menambahkan baris GRUB_SERIAL_COMMAND untuk menentukan parameter-parameter tambahan pada perintah serial. Perintah serial pada GRUB 2 menggunakan intaks yang sama dengan GRUB Legacy (terdokumentasikan disini). Sebagai contoh, untuk serial line umum 9600 bit/s (baud) dengan 8 data bits, 1 stop bit dan no parity:

GRUB_SERIAL_COMMAND="serial --unit=0 --speed=9600 –word=8 --parity=no --stop=1"

Ini adalah contoh untuk serial line 4800 bit/s (baud) dengan 7 data bits, 1 stop bit dan even parity:

GRUB_SERIAL_COMMAND="serial --unit=0 --speed=4800 –word=7 --parity=even --stop=1"

Booting FreeBSD, NetBSD & multiboot beberapa OS

Silakan merujuk ke artikel dalam laman dokumentasi komunitas Grub2OtherOs.


Tak ada komentar

Tuliskan pendapatmu

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *