Chainload iki Grub2 kurulumu


14

Bu beni gerçekten üzüyor. Grubtoo'lu Gentoo ve Ubuntu var. /bootUbuntu'da Gentoo'nun ayrılmış bir bölümü var. Ben bir menuentryGentoo'nın /etc/grub.d/40_customUbuntu önyükleme var (ve Ubuntu Tamam önyükleme yapar).

Ubuntu Grub ile birlikte geldiğinden, kök, çekirdek, initrd ve diğer şeyleri ayarlayan girişimi korumak yerine, bu zincirleme zincirleme yüklemek istiyorum. Chainloader için sahip olduğum şey bu (Ubuntu açık /dev/sda4ve Grub'u zaten kurdum):

menuentry 'Chainloader' {
    insmod chain
    set root=(hd0,4)
    chainloader +1
}

Bana veriyor error: Invalid signatureve hiçbir çözüm bulamadım. Birisi bir şeye işaret edebilir mi?

Bunun sonucu </dev/sda4 head -c 512 | hd

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

Bunun sonucu fdisk -l. /dev/sda1olan /bootGentoo, Gentoo içindedir /dev/sda2Ubuntu içindedir, /dev/sda4. Ubuntu oluyor /bootiçindedir /dev/sda4de.

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

İle ilgili bir hata yok 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.

Açıkçası bir bootloader yüklemediniz /dev/sda4. Birden fazla diskiniz var mı? Bölümleme tablonuz nedir? Lütfen çıkışını fdisk -lve tarafından gönderilen mesajları gönderin grub-install /dev/sda4 --no-floppy --force.
Gilles 'SO- kötü olmayı kes

Evet, soruyu güncelledim
phunehehe

Yanıtlar:


4

GRUB2'yi GRUB2'den yükleyebilirsiniz, sadece tarif ettiğiniz şekilde denedim ve işe yarıyor. Ancak, sağladığınız bilgiler, önyükleme görüntüsünün diskin MBR'sine gömülmemiş gibi görünmesini sağlar (ya da tümü sıfır olmaz).

Tam olarak Ubuntu GRUB2 (sadece yapılandırma dosyası) kullanarak olmasa da, bunu denemek istiyorum. Gentoo GRUB2 yapılandırma dosyasında Ubuntu yapılandırma dosyasını yükleyen bir menü girişi oluşturabilirsiniz. Bunu yapmanın iki yolu var.

Kullanacağım, normal mod için yüklenecek bir yapılandırma dosyası belirtmenize izin veren normal komutla. Bu rotaya giderseniz , Ubuntu yapılandırmanıza Gentoo yapılandırmanıza dönmenizi sağlayacak özel bir öğe olarak ekleyebileceğiniz normal_exit adlı bir komut vardır .

Diğer seçenek, yüklenecek alternatif bir yapılandırma dosyası belirlemenizi sağlayan configfile komutudur. Bu seçenek "geri" olsa daha zor gibi görünüyor.

Bu komutlar hakkında daha fazla bilgiyi burada bulabilirsiniz .


3

Önyükleme işleminin ilk bölümü, ana önyükleme kaydı (MBR) adı verilen sabit sürücünün ilk sektöründen kod yüklenmesinden oluşur . Normalde Grub, bölüm tutma / önyüklemenin ilk sektörüne değil , bu ilk sabit sürücü sektörüne yazılır . Bununla birlikte, normalde Linux kurulumu sırasında değiştirebilirsiniz ancak modern kurulum rutinlerinde bu genellikle gizlidir.

Grub'un / dev / sda4 içine kurulduğunu söylüyorsunuz, ancak yapılandırmanız doğru görünüyor ve gönderdiğiniz hata mesajı, Grub'un zincir yüklemek istediğiniz bölüme doğru şekilde yüklenmeyebileceğini gösteriyor. Gentoo'ya önyükleme yapmalı, ardından Ubuntu bölümüne bağlanmalısınız. / Boot'ın şimdi Gentoo olanı değil, Ubuntu- / boot'ı doğru bir şekilde gösterdiğinden emin olun! Şimdi Grub 2'yi Ubuntu-Partition / dev / sda4: ürününün ilk sektörüne kurun grub-install /dev/sda4 --no-floppy.

MBR ve bölümlerle uğraşırken her zaman olduğu gibi, başlamadan önce işlevsel ve güncel bir yedeğiniz olduğundan emin olun.


Ubuntu'ya önyükleme ve grub-install'ı çalıştırmam bir fark yaratır mı? çünkü bunu yaptım ve işe yaramıyor :(
phunehehe

Zincirli yükleme çalışmadığından Ubuntu'ya önyükleme yapamayacağınızı düşündüm? Ama hayır, Ubuntu'ya önyükleme yaparsanız veya ona bağlanırsanız bir fark yaratmamalıdır.
fschmitt

@phunehehe: Hata iletisi, Grub'un ilk kesiminde bir önyükleyici imzası bulamadığı anlamına gelir /dev/sda4(son iki bayt olmalıdır 0x55 0xaa). Çıktısını gönderebilir misiniz </dev/sda4 head -c 512 | hd?
Gilles 'SO- kötü olmayı bırak'

@Gilles: Soruyu sonucu ekledim. Doğru görünmüyor, değil mi?
phunehehe

aslında çalıştırmak zorunda grub-install /dev/sda4 --no-floppy --force, aksi takdirde
blok listeleri

-1

Sda4 grubta (hd0,3) olmayacak mı, yoksa bu tür bir şey grub2'de değişti mi?


Evet, eminim / dev / sda4 (hd0,4) olacak çünkü Ubuntu'yu önyüklemek için kullandığım şey bu
phunehehe

3
Evet, Grub 0.97 0. Grub 2 ile sayma sabit diskler ve bölümleri başladı hala 1. Yani / dev / sda4 is hd0,3 Grub 0.97 ve Grub 2. hd0,4 içinde olan bölümleri sayma sayma 0 ile diskleri ancak başlar başlar
fschmitt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.