Menggunakan Grub
Jika Anda mendapatkan grubprompt dan sistem dan kernel masih diinstal pada partisi, Anda dapat "secara manual" mem-boot sistem - yaitu tanpa bantuan grub.cfg yang berfungsi. Ini juga berfungsi dengan grub run dari media langsung. Untuk tujuan ini, grub menyertakan perintah rudimenter, yang dapat Anda gunakan untuk menemukan partisi dan mem-boot sistem.
find /vmlinuz
Ini akan memberi Anda seperti partisi (hd0,0). Anda juga dapat menggunakan lsperintah untuk melihat-lihat partisi dan melihat kernel mana yang tersedia. The searchperintah bekerja sama. Anda juga dapat menggunakan penyelesaian tab .
set root=(hd0,1)
Tentu saja, ganti pengidentifikasi parisi dengan apa pun yang findmenunjukkan kepada Anda.
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
Pilih gambar kernel dan gambar initrd, pasangan yang selalu perlu digunakan bersama. Untungnya Ubuntu menciptakan sepasang symlink di direktori root yang mengarah ke gambar dan initrd yang berfungsi. Perhatikan bahwa Anda perlu mengganti /dev/sda1dengan representasi partisi dalam skema yang digunakan oleh kernel Linux. Secara kasar, (hd0,1)berhubungan dengan /dev/sda1; (hd0,2) corresponds to/ dev / sda2 ;(hd1,1) sesuai dengan /dev/sdb1.
boot
Ini mem-boot kernel yang dipilih dari partisi yang dipilih. Setelah Anda berhasil mem-boot sistem Anda, Anda dapat menggunakannya untuk mengembalikan grub, seperti yang dijelaskan misalnya di sini .
Grub dengan Wubi
Di atas didasarkan pada asumsi bahwa Ubuntu diinstal secara teratur, yaitu di partisi yang terpisah. Saat Anda menulis, Anda menggunakan Wubi, yang berarti Anda menginstalnya ke file besar pada partisi Windows (NTFS) menggunakan teknik yang disebut "Lupin". Saya tidak melihat alasan mengapa ini pada prinsipnya tidak bisa berjalan, meskipun prosesnya lebih rumit. Berikut konten grub.cfgberbasis instalasi Wubi:
insmod part_msdos
insmod ntfs
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set be300f9c300f5ab3
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz root=/dev/sda1 loop=/ubuntu/disks/root.disk
initrd /boot/initrd.img
Anda harus menyesuaikan ini dengan kasus khusus Anda. Dalam cuplikan ini, yang diambil dari instalasi 10,10, searchperintah tersebut menemukan partisi root menggunakan UUID sistem file atau pengidentifikasi, yang Anda mungkin tidak tahu; Anda dapat menggunakan --file --set /ubuntu/disks/root.disksebagai gantinya ( inilah dokumentasi resmi). Konfigurasi grub ini membuat disk virtual - "perangkat loopback" - disebut loop0yang mewakili konten "file partisi", /ubuntu/disks/root.diskpada partisi NTFS Anda. Dengan sedikit coba-coba, Anda seharusnya dapat membuat ini berfungsi.