Multiboot USB A La Walesa

Submitted by w41lf0x on Mon, 06/03/2013 - 23:58

USB FlashdiskKedatangan dua #PC yang butuh perhatian ekstra (tidak rusak, hanya perlu perbaikan) di rumah ternyata membawa berkah. PC pertama data-datanya hilang karena keliru dalam prosedur instalasi, yang kedua berkas-berkas di dalam partisi #NTFS wajib terhapus bila #Windows 7 di dalamnya di-boot. Masalah yang pertama adalah mencoba mengambil data-data yang bisa diambil. Masalah yang kedua saya tidak tahu mengapa, yang jelas saya hanya ingin melakukan prosedur sederhana mengecek integritas filesystem, mengecek ada tidaknya virus dan meng-install #OpenSUSE 12.3 KDE sebagai alternatif jika Windows 7-nya kembali bermasalah.

Karena saya hanya punya satu flashdisk, sedangkan saya butuh beberapa perangkat/program berbeda untuk menyelesaikan permasalahan-permasalahan tersebut, jadilah saya bereksperimen untuk menggabungkan installer OpenSUSE, #Kaspersky Rescue Disk, dan #Hiren's Boot CD ke dalam satu flashdisk atau #multiboot usb. Tujuannya apalagi kalau bukan memudahkan pekerjaan, karena saya tidak perlu membuat USB boot tiap kali ingin melakukan prosedur berbeda. Sayang juga kalau flashdisk-nya rusak akibat terlalu sering diformat.

Hal pertama yang harus dilakukan adalah meng-install boot loader manager, dalam hal ini #grub2. Saya pilih grub2 supaya tidak bingung kalau menemui mesin dengan UEFI. Caranya adalah sebagai berikut (misalnya flashdisk dikenali sebagai /dev/sdb1):

# mount /dev/sdb1 /mnt/hd
# grub-install --force --no-floppy --root-directory=/mnt/hd

Setelah itu saya membuat berkas konfigurasi grub2 yang disimpan sebagai /mnt/hd/boot/grub/grub.cfg. Sampeyan bisa mencontek dan mengoprek file grub.cfg dari pendrivelinux.com. Kalau punya saya seperti ini:

# timeout dalam detik = timeout/10
# timeout 200 = 20 detik
set timeout=200
set default=0

menuentry "OpenSUSE 12.3 KDE Live ISO" {
  set isofile=/opensuse/opensuse.iso
  set arch=i686
  set rootdevice=/dev/sdb1
  set root=(hd0,1)
  loopback loop $isofile
  linux (loop)/boot/$arch/loader/linux isofrom=$rootdevice:$isofile
  initrd (loop)/boot/$arch/loader/initrd
}

menuentry "Kaspersky Rescue Disk" {
  set isofile=/krd/krd.iso
  loopback loop $isofile
  linux (loop)/boot/rescue root=live:UUID=A1234-1234 rootfstype=auto init=/init kav_lang=en udev liveimg splash quiet doscsi nomodeset
  initrd (loop)/boot/rescue.igz
}

menuentry "Hiren's Boot CD" {
  linux /grub.exe
}
# END OF FILE

Catatan:

  1. Kenapa kok yang buat Hiren's berbeda? Karena Hiren's mempunyai mekanisme boot sendiri dan biasanya menggunakan grub.exe dari grub4dos. Jadi ISO Hiren's tidak dapat saya boot menggunakan grub2 secara langsung. Saya harus mengekstraksi isi ISO CD Hiren's dan menaruhnya di root flashdisk. Kemudian saya mem-boot grub.exe dari grub4dos. Grub4dos akan secara otomatis membaca isi syslinux.cfg (menu Hiren's Boot CD) dan menampilkannya untuk penggunaan lebih lanjut.
  2. Saya membuat sebuah direktori kosong bernama "Kaspersky Rescue Disk 10.0" di root flashdisk untuk menyimpan update dari Kaspersky Rescue Disk.
  3. Soal UUID palsu untuk Kaspersky Rescue Disk, saya hanya mengikuti petunjuk dari referensi nomor 1.
  4. Saya juga membuat sebuah berkas kosong bernama liveusb di root flashdisk, supaya Kaspersky Rescue Disk tahu bahwa media boot-nya adalah flashdisk bukan CD.

Sesuai dengan konfigurasi tersebut, saya meletakkan ISO dari OpenSUSE dan Kaspersky Rescue Disk, serta direktori Hiren's seperti ini:

/ [ROOT FLASHDISK]
|
+--opensuse/ (OpenSUSE dir)
|   +--opensuse.iso
|
+--krd/ (Kaspersky dir)
|   +--krd.iso
|
+--Kaspersky Rescue Disk 10.0/ (Kaspersky updates dir)
|
+--HBCD/ (Hiren's dir)
|
+--grub.exe
|
+--liveusb
|
+--syslinux.cfg

Silakan reboot untuk mencobanya atau unmount flashdisk dan coba di komputer tetangga.

Referensi:

  1. http://www.rmprepusb.com/tutorials/kasperkyrescue
  2. http://www.pendrivelinux.com/install-grub2-on-usb-from-ubuntu-linux/
  3. http://forums.opensuse.org/english/get-technical-help-here/how-faq-forums/unreviewed-how-faq/484223-how-boot-opensuse-dvd-hard-disk-grub2.html

Demikianlah, semoga membantu rekan-rekan yang mungkin membutuhkan. Selamat mencoba.