Saya dapat mem-boot sistem saya dengan melakukan hal berikut:
1) Catat perangkat yang tidak dapat ditemukan oleh sistem.
2) Jawab "n" untuk pertanyaan itu. Ini akan membawa Anda ke prompt perintah.
3) Jalankan perintah ini:cd /dev/disk/by-id
4) Jalankan perintah ini:ls
5) Ganti nama semua file di folder ini dengan mengganti nama saat ini dengan nama perangkat yang Anda catat di langkah 1. Ex. mv ata-VBOX_OLDNAME....-part2 ata-VBOX_HARDDISK....-part2
6) Setelah Anda selesai mengetik perintah ini:exit
7) Sistem harus boot secara normal.
Saya masih mempelajari bagaimana hal ini terjadi dengan OpenSUSE 11.4.
Masalah ini disebabkan karena SUSE secara default mengonfigurasi Grub untuk menemukan disk berdasarkan nama, bukan berdasarkan label atau jalur. Saat membuat VM dari alat, VirtualBox membuat disk baru dengan nama baru dan kemudian Grub tidak dapat menemukan boot disk. Saya dapat memperbaikinya secara permanen oleh:
-
Tambahkan disk sebagai drive sekunder ke komputer lain yang dapat memasang sistem file. Saya memasang milik saya ke /media/hd2.
-
Edit /media/hd2/boot/grub/device.map dan ganti path by-name ke hard drive
/dev/disk/by-name/ata-VBOX....
dengan jalur by-path/dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0
. -
Edit /media/hd2/boot/grub/menu.lst dan ganti jalur by-name dengan jalur by-path. Untuk saya, saya akhirnya mengganti semua jalur part-1 dengan
/dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part1
dan jalur bagian-2 dengan/dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part2
.
Jalur yang saya gunakan menentukan hard disk pertama. Jika Anda ingin mem-boot dari hard disk yang berbeda (atau tipe disk yang berbeda), Anda perlu mengetahui bagaimana SUSE memetakan jalur tersebut. Saya menemukan bahwa SUSE akan memasang hard drive kedua sebagai pci-0000:00:0d.0-scsi-1:0:0:0
.
Menentukan hard drive by-path mungkin tidak ideal dalam beberapa kasus, tetapi ini bekerja dengan sempurna untuk perbaikan cepat yang saya tuju.