grub2

Резюме основных различий при переходе от grub1 (Hыне известный как grub-legacy) на grub2:

Конфигурационный файл grub2 по умолчанию

Файл /etc/default/grub содержит переменные параметры настройки grub2. Например, тайм-аут, основные настройки меню, параметры ядра, включая графический интерфейс grub и т.д.

Скрипты grub2

/etc/grub.d управляет объектным файлом grub.cfg, который находится в /boot/grub/.

Файл grub.cfg никогда не может изменяться вручную. Все изменения должны произойти в скриптах файлов в /etc/grub.d. os-prober должен обрабатывать 90% всех случаев:

00_header:
05_debian_theme: Sets background, text colors, themes
10_hurd: Locates Hurd kernels
10_linux: Locates Linux kernels based on results of the lsb_release command.
20_memtest86+: If the file /boot/memtest86+.bin exists, it is included in the boot menu.
30_os-prober: Searches for Linux and other OS's on all partitions; includes them in the boot menu.
40_custom: A template for adding custom boot menu entries for other Operating Systems.
60_fll-fromiso: A template for adding custom boot menu entries for fromiso to a USB-stick/SSD-card.
60_fll-fromiso is not to be altered use /etc/default/grub2-fll-fromiso
Прочитайте Booting 'fromiso' with grub2

После того как Вы сделали изменения, grub.cfg должен их знать. После обновления ядра aptosid автоматически проводятся актуализация grub. Изменения, которые проводились вручную, требуют этой команды:

update-grub

Debian-пакет grub2 настолько хорошо устроен, что производимые вручную изменения редко требуються.

Обновление с grub1 на grub2

Мы рекомендуем перейти на grub2 и полностью удалить grub1. Вы должны знать, что Bы можете все испортить, так что будьте очень осторожны.

Шаг 1:

Убедитесь в том, что Ваша система обновлена​​ dist-upgrade на уровне загрузки init3.

apt-get update
Ctrl+alt+F1
init 3
apt-get dist-upgrade
init 5 && exit
Шаг 2:

Удалите полностью grub1:

rm -rf /boot/grub
apt-get purge grub-gfxboot

В результате чего, программы fll-iso2usb*, grub-gfxboot* и install-usb-gui* будут тоже удалены. Введите Y для подтверждения.

Шаг 3:
apt-get install grub2 os-prober
grub2

Нажмите кнопкy TAB на вашей клавиатуре для перехода на OK

grub2

Нажмите кнопкy TAB на вашей клавиатуре для перехода на OK

grub2-conversion 1

Используйте стрелки клавиатуры и пробел, чтобы поставить * (asterisk) чтобы выбрать то, чтобы grub2 начал записывать MBR на жестком диске. (В данном примере для установки на диск, USB).

Шаг 4:
update-grub
Шаг 5:
apt-get install install-usb-gui fll-iso2usb
Шаг 6:

Перезагрузите компьютер. После этого, grub-меню (menu.cfg) показывает ядра и список операционных систем, например это:

grub2-OS list

Если возникли проблемы, прочитайте внимательно эту главу Восстановление grub с помощью chroot.

Редактирование Grub2-параметpов загрузки через на экран

grub2-Edit

В случае необходимости, времено изменить параметры загрузки для ядра, перечислив в Grub, нажмите клавишу 'e', чтобы редактировать опции ядра. Используйте клавиши направления для выбопа ядра, которого должно редактироваться. Еще в режиме редактирования компьютер с новыми опциями перезапускается с 'Ctrl+x'.

Например, чтобы перейти непосредственно на уровень загрузки 3, добавьте 3 в конце строки linux /boot/vmlinuz.

Ваши изменения, сделанные в режиме редактирования, не являются постоянными. Для постоянных изменений, соответствующих файлах конфигурации должны настраиваться. Смотрите также в главу Конфигурационные файлы grub2.

Двойная и мильтизагрузка с помощью grub2

Grub2 имеет модульную конфигурацию, и, следовательно, позволяет простую команду, чтобы найти вновь установленных операционных систем, которые автоматически интегрируются в файл menu.cfg.Основные команды: Grub2 имеет модульную конфигурацию, что позволяет с помощью простой команды, искать все вновь установленные операционные системы. И если она найдена, оно старается, автоматически интегрируются в файл menu.cfg. Запустите с командой:

update-grub

Если Вам нужно добавить пользовательские записи в menu.cfg, или если 30_os-prober не в состоянии написать chainloader-меню в grub.cfg, дополнения могут проводиться с помощью текстового редактора в файле /etc/grub.d/40_custom.

Примеры для файла конфигурации 40_custom:

menuentry "second mbr"{
set root=(hd1)
chainloader +1
}
menuentry "second partition"{
set root=(hd0,2)
chainloader +1
}

После изменения файла выполните:

update-grub

Если Вы видете сообщение об ошибке, что Grub не признается на диске это значит что нужно восстановить devicemap.

Убедитесь, что при установке другой операционной системе, Grub не записываются в MBR, а в раздел новой операционной системы:

grub-mkdevicemap --no-floppy
update-grub

Предупреждение можно спокойно игнорировать.

В случае ошибки обновление перезаписывает, наверно, MBR. Как исправлять, прочитайте в главе grub2 - MBR перезаписано.

Перезапись grub2 в MBR с жёсткого диска:

/usr/sbin/grub-install --recheck --no-floppy /dev/sda

Вполне возможно, что Вы должны выполнить эту команду несколько раз, пока grub "убежден" в том, что это действительно должно быть делать.

MBR, переписывано Windows - MBR поврежден - восстановление grub2

Примечание: Для восстановления загрузчика grub2 Вы должны иметь aptosid*.iso, моложе чем 2009-04 (moros). Альтернативно Вы можете использовать chroot с каждым live.iso..

Чтобы переписать grub2 в MBR и/или восстановить в целом grub2, Вам нужно запустить aptosid.iso:

  1. Для выявления и подтверждения раздела жесткого диска (например: [h,s] d [a..] X) на все последующие действия необходимы привилегии администратора, поэтому, введите:
    $ sux
    
  2. С правами root напишите в консоли::
    fdisk -l
    cat /etc/fstab
    
    Таким образом, Вы получаете правильные названия разделов.
  3. После того, что Вы определили правильный раздел, создайте точки монтирования:
    mkdir -p /media/[hdxx,sdxx,diskx]
    
  4. Смонтируйте раздел::
    mount /dev/xdxx /media/xdxx
    
  5. Теперь переписывайте grub в MBR первого жёсткого диска:
    /usr/sbin/grub-install --recheck --no-floppy --root-directory=/media/xdxx /dev/sda
    

Использование изолированной среды для восстановления поврежденной или перезаписанной grub в MBR

Чтобы восстановить grub в случае его повреждения или перезаписи grub в MBR создаётся chroot в (изолированной) среде. Таким образом, любой ISO-образ можно использовать. С помощью chroot среды можно манипулировать инсталляцию жестких дисков так, что желаемая версия grub смогла бы восстанавливать: grub1 (grub-legacy) или grub2.

Загрузите aptosid Live-ISO который подходит для вашей системы (32 или 64 бит на CD, DVD, на USB-флешке или на карте SSD) и откройте терминал. Введите sux и нажмите 'Enter', чтобы добавить root-привилегии..

Используйте команду fdisk -l или blkid, чтобы узнать, какой раздел является разделом загрузки, и, чтобы найти правильные названия разделов. Если Вам лучше нравится применить GUI, тогда используйте gparted:

blkid

Проверьте, идентичны ли элементы в файле fstab с изданием от blkid:

cat /etc/fstab

Предположим, что Ваша корневая файловая система находится на /dev/sda2

mkdir /mnt/aptosid-chroot
mount /dev/sda2 /mnt/aptosid-chroot

Следующим образом, Вам нужно смонтировать /proc, /run, /dev и /sys :

mount --bind /proc /mnt/aptosid-chroot/proc
mount --bind /run /mnt/aptosid-chroot/run
mount --bind /sys /mnt/aptosid-chroot/sys
mount --bind /dev /mnt/aptosid-chroot/dev
mount --bind /dev/pts /mnt/aptosid-chroot/dev/pts

Если Вы загрузите с системного раздела EFI вам также нужно смонтировать его. Предположим что это /dev/sda1:

mount /dev/sda1 /mnt/aptosid-chroot/boot/efi

Ваша chroot-среда теперь установлена и доступ к неё с командой:

chroot /mnt/aptosid-chroot /bin/bash

Теперь Вы можете использовать файлы в локальном кэше apt или изменять нужные файлы для загрузки. В следующем примере grub переписывается в MBR.

Восстановление grub2

apt-get install --reinstall grub-pc

Чтобы убедиться в том, что grub был установлен на правильном устройстве или на правильном разделе, выполните эту команду:

dpkg-reconfigure grub-pc

Перезапись grub2 EFI

apt-get install --reinstall grub-efi-amd64

Восстановление grub1 (grub-legacy)

apt-get install --reinstall grub-legacy

Следуйте инструкциям на экране.

С этой командой chroot среда снова освобождается:

Ctrl+d

Перезагрузите компьютер.

Содержание, последний раз пересмотрено 21/10/2011 0330 UTC