Ini benar-benar membuat saya kecewa. Saya memiliki Gentoo dan Ubuntu, keduanya dengan Grub2. Gentoo memiliki /boot
partisi khusus , sedangkan Ubuntu tidak. Saya punya menuentry
di Gentoo's /etc/grub.d/40_custom
untuk boot Ubuntu (dan Ubuntu tidak boot OK).
Karena Ubuntu hadir dengan Grub, saya ingin rantaiload ke yang itu, alih-alih mempertahankan entri saya yang mengatur root, kernel, initrd dan yang lainnya. Ini adalah apa yang saya miliki untuk chainloader (Ubuntu aktif /dev/sda4
dan saya sudah menginstal Grub di sana):
menuentry 'Chainloader' {
insmod chain
set root=(hd0,4)
chainloader +1
}
Ini memberi saya error: Invalid signature
dan saya tidak menemukan solusi yang tersedia. Bisakah seseorang menunjukkan sesuatu?
Ini adalah hasil dari </dev/sda4 head -c 512 | hd
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200
Ini adalah hasil dari fdisk -l
. /dev/sda1
adalah /boot
dari Gentoo, Gentoo di /dev/sda2
, Ubuntu di /dev/sda4
. Ubuntu yang /boot
ada di /dev/sda4
juga.
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe001152b
Device Boot Start End Blocks Id System
/dev/sda1 1 9 72261 83 Linux
/dev/sda2 10 13064 104864287+ 8e Linux LVM
/dev/sda4 * 18152 19457 10490445 83 Linux
Tidak ada kesalahan dengan grub-install /dev/sda4 --no-floppy --force
/usr/sbin/grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR. This is a BAD idea..
/usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.
/dev/sda4
. Apakah Anda memiliki lebih dari satu disk? Apa tabel partisi Anda? Silakan kirim output darifdisk -l
, dan pesan darigrub-install /dev/sda4 --no-floppy --force
.Jawaban:
Anda dapat chainload GRUB2 dari GRUB2, saya baru saja mencobanya seperti yang Anda jelaskan dan berhasil. Namun, informasi yang Anda berikan membuatnya tampak seperti gambar boot tidak tertanam dalam MBR disk (atau tidak semua nol).
Saya akan mencoba ini, meskipun tidak persis menggunakan GRUB2 dari Ubuntu (hanya file konfigurasi itu). Anda dapat membuat entri menu di file konfigurasi Gentoo GRUB2 yang memuat file konfigurasi Ubuntu. Ada dua cara yang saya lihat untuk melakukan ini.
Yang akan saya gunakan adalah dengan perintah normal , yang memungkinkan Anda menentukan file konfigurasi untuk memuat untuk mode normal. Jika Anda menggunakan rute ini, ada perintah yang disebut normal_exit yang dapat Anda tambahkan sebagai item khusus di konfigurasi Ubuntu Anda yang memungkinkan Anda kembali ke konfigurasi Gentoo.
Opsi lainnya adalah perintah configfile , yang memungkinkan Anda menentukan file konfigurasi alternatif untuk dimuat. Sepertinya akan lebih sulit untuk "mundur" dari opsi ini.
Informasi lebih lanjut tentang perintah-perintah ini dapat ditemukan di sini .
sumber
Bagian awal dari proses boot terdiri dari memuat kode dari sektor pertama hard drive, yang disebut Master Boot Record (MBR) . Biasanya, Grub ditulis ke dalam sektor hard drive pertama ini dan tidak menjadi sektor pertama dari partisi / boot. Namun, Anda biasanya dapat mengubah ini selama instalasi Linux tetapi dalam rutinitas instalasi modern, ini sering disembunyikan.
Anda mengatakan bahwa Anda telah menginstal Grub ke / dev / sda4, namun konfigurasi Anda terlihat benar dan pesan kesalahan yang Anda posting menyarankan, bahwa Grub mungkin tidak diinstal dengan benar ke dalam partisi yang Anda inginkan untuk memuat rantai. Anda harus boot ke Gentoo, lalu chroot ke partisi Ubuntu. Pastikan / boot sekarang menunjuk dengan benar ke Ubuntu- / boot dan bukan yang Gentoo! Sekarang instal Grub 2 ke sektor pertama dari Ubuntu-partisi / dev / sda4:
grub-install /dev/sda4 --no-floppy
.Seperti biasa ketika mengutak-atik MBR dan partisi, pastikan Anda memiliki cadangan fungsional yang terbaru sebelum Anda mulai.
sumber
/dev/sda4
(dua byte terakhir harus0x55 0xaa
). Bisakah Anda memposting output</dev/sda4 head -c 512 | hd
?grub-install /dev/sda4 --no-floppy --force
, kalau tidak akan ada beberapa keluhan tentang blocklistsBukankah sda4 akan menjadi (hd0,3) di grub, atau sudahkah hal semacam ini berubah di grub2?
sumber