Это действительно меня расстраивает. У меня есть Gentoo и Ubuntu, оба с Grub2. Gentoo имеет выделенный /boot
раздел, а Ubuntu - нет. У меня есть menuentry
в Gentoo /etc/grub.d/40_custom
для загрузки Ubuntu (и Ubuntu загружается нормально).
Поскольку Ubuntu поставляется с Grub, я хочу добавить туда цепочку, вместо того, чтобы поддерживать мою запись, которая устанавливает root, kernel, initrd и прочее. Вот что у меня есть для загрузчика цепочек (Ubuntu включена, /dev/sda4
и я уже установил Grub там):
menuentry 'Chainloader' {
insmod chain
set root=(hd0,4)
chainloader +1
}
Это дает мне, error: Invalid signature
и я не нашел доступного решения. Кто-то может указать на что-то?
Это результат </dev/sda4 head -c 512 | hd
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200
Это результат fdisk -l
. /dev/sda1
есть /boot
Gentoo, есть Gentoo, есть /dev/sda2
Ubuntu /dev/sda4
. У Убунту тоже /boot
есть /dev/sda4
.
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
Там нет ошибки с 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
. У вас есть более одного диска? Какая у вас таблица разделов? Пожалуйста, опубликуйте результатыfdisk -l
и сообщения отgrub-install /dev/sda4 --no-floppy --force
.Ответы:
Вы можете загружать GRUB2 из GRUB2, я только что попробовал, как вы описали, и он работает. Однако из-за предоставленной вами информации создается впечатление, что загрузочный образ не был встроен в MBR диска (или это были бы не все нули).
Я бы попробовал это, хотя он не совсем использует GRUB2 из Ubuntu (просто это файл конфигурации). Вы можете создать пункт меню в файле конфигурации Gentoo GRUB2, который загружает файл конфигурации Ubuntu. Есть два способа сделать это.
Тот, который я использовал бы, с нормальной командой, которая позволяет вам указать файл конфигурации для загрузки в обычном режиме. Если вы идете по этому пути, есть команда normal_exit, которую вы можете добавить в качестве пользовательского элемента в вашей конфигурации Ubuntu, которая позволит вам вернуться к вашей конфигурации Gentoo.
Другой вариант - команда configfile , которая позволяет вам указать альтернативный файл конфигурации для загрузки. Кажется, что было бы сложнее «отказаться» от этой опции, хотя.
Более подробную информацию об этих командах можно найти здесь .
источник
Начальная часть процесса загрузки состоит из загрузки кода из первого сектора жесткого диска, так называемой основной загрузочной записи (MBR) . Обычно Grub записывается в этот первый сектор жесткого диска, а не в первый сектор раздела, в котором хранится / загружается. Однако вы можете изменить это во время установки Linux, но в современных процедурах установки это часто скрыто.
Вы говорите, что у вас установлен Grub в / dev / sda4, однако ваш конфиг выглядит корректно, а выложенное сообщение об ошибке наводит на мысль, что Grub может быть неправильно установлен в раздел, который вы хотите загрузить по цепочке. Вы должны загрузиться в Gentoo, затем выполнить chroot в разделе Ubuntu. Убедитесь, что / boot теперь правильно указывает на Ubuntu- / boot, а не на Gentoo! Теперь установите Grub 2 в первый сектор Ubuntu-Partition / DEV / sda4:
grub-install /dev/sda4 --no-floppy
.Как всегда при работе с MBR и разделами, убедитесь, что у вас есть функциональная, актуальная резервная копия, прежде чем начать.
источник
/dev/sda4
(последние два байта должны быть0x55 0xaa
). Не могли бы вы опубликовать вывод</dev/sda4 head -c 512 | hd
?grub-install /dev/sda4 --no-floppy --force
, в противном случае будут некоторые жалобы на блок-листыРазве sda4 не будет (hd0,3) в grub или такие вещи изменились в grub2?
источник