GRUB 2

Резюме основних відмінностей при переході від grub1 (нині відомий як личинка-Спадок) на grub2:

Конфігураційний файл grub2 за замовчуванням

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

Cкрипти grub2

Скрипт /etc/grub.d управляє об'єктним файлом grub.cfg, який знаходиться в /boot/grub/.

Файл grub.cfg ніколи не може змінюватися вручну. Всі зміни повинні виконатися в скриптах файлів в / і т.д. / grub.d . OS-рrober повинен обробляти 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
Read  Booting 'fromiso' with Grub 2

Після того, як Ви проводили зміни, grub.cfg повинен їх знати. Після оновлення ядра aptosid автоматично проводить актуалізацію GRUB. Зміни, які проводилися вручну, вимагають цієї команди:

update-grub

Debian-пакет grub2 настільки добре влаштований, що вироблене вручну зміна рідко потрібнa.

Оновлення з grub1 на grub2

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

Першим кроком Ви робите:

Переконайтеся в тому, що Ваша система оновлена через dist-upgrade на рівні завантаження init3

apt-get update
Ctrl+alt+F1
init 3
apt-get dist-upgrade
init 5 && exit
Другим кроком Ви робите:

Видаліть повністю Grub 1:

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

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

Третім кроком Ви робите:
apt-get install grub2 os-prober
Grub2

Нажміть кнопкy TAB на Вашій клавіатурі щоб перейти на OK

Grub2

Нажміть кнопкy TAB на Вашій клавіатурі щоб перейти на OK

Grub2-conversion 1

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

Четвертим кроком Ви робите:
update-grub
П'ятим кроком Ви робите:
apt-get install install-usb-gui fll-iso2usb
Шостим кроком Ви робите:

Перезавантажте комп'ютер і menu.cfg покаже ядра і список операційних систем, наприклад це:

Grub2-OS list

Якщо будуть проблеми, і Ви нічого не побачете, не турбуйтесь а прочитайте уважно цю сторінку нашого керівництва Використання chroot для лікування пошкодженого або перезаписаного MBR на Grub

Редагування Grub2-параметpiв завантаження через екран

Grub2-Edit

Якщо з якихось причин вам так потрібно,щоб тимчасові зміни параметрів завантаження ядра,не були видні натисніть букву e щоб редагувати параметри ядра і за допомогою використання клавіш зі стрілками перейдіть до лінії, яку ви хочете відредагувати і в той же час Ви лишітесь у екрана редагування Ctrl+x to boot the computer with your edited options.

Наприклад, щоб перейти безпосередньо на рівня завантаження 3, додайте 3 до кінця linux /boot/vmlinuz line.

Доступні зміни через екран редагування не є постійними. Для того щоб вони були постійними змінами, вам потрібно відредагувати відповідні файли. Перегляньте Grub 2 файли.

Двохсистемне-та мультізавантаження з GRUB 2

Grub2 має модульну конфігурацію, що дозволяє зі простою командою шукати все заново встановлені операційни системи, і якщо вона знайдена, він намагається здійснити зміни для оновлення menu.cfg. Ввдіть цю команду:

update-grub

Якщо у вас є потрібно додати користувальницькі записи в menu.cfg або якщо OS-prober не в змозі написати grub.cfg з chainloader-меню,використовуйте ваш улюблений текстовий редактор, щоб зробити поправки до /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

Якщо ця команда скаржиться, та скаже що не знає де є личинка пристрою диска, це означає що DeviceMap повинен бути відновлений.

Переконайтеся, що ви не вибираєте розділ MBR при установці іншої операційної системи:

grub-mkdevicemap --no-floppy
update-grub

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

Якщо Ви зробите помилку, тоді оновлення GRUB наймовірно перезапише MBR, і ви повинні це виправити за допомогою Grub2 - Перезаваписаний MBR .

Щоб тільки переписати grub2 в MBR з жорсткого диска:

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

Цю команду можливо буде потрібно запустити кілька разів,поки вона не переконається що Ви дійсно хотіли її запустити.

MBR Bootsector був перезаписаний з Windows, лікування пошкодження Grub2 або відновлення Grub2

Примітка: для відновлення завантажувача Grub2 Вам потрібно мати при собі aptosid.iso. Відновлення grub з chroot.

Щоб переписати grub2 в MBR і / або відновити в цілому GRUB 2, то вам потрібно запустити aptosid.iso:

  1. Для виявлення та підтвердження розділу жорсткого диска (наприклад: e.g. [h,s]d[a..]X) на всі наступні дії необхідні привілеї адміністратора, тому, щоб отримати root (#):
    $ 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
    

Використання chroot для лікування пошкодженого або перезаписаного Grub у MBR

Для відновлення Grub, якщо вона була переписана або пошкодженне в MBR, створіть chroot середовище.Для того вистачить live.iso і chroot приведе вас до встановленої ​​системи на жорсткому диску так, що ви можете відновити потрібну версію GRUB, grub1 (grub-legacy) або grub2.

Завантажте aptosid.iso, який підходить для вашої системи ( зі 32 або 64 біт CD, DVD, USB-флешки або карти SSD) і відкрийте консолю. Введіть sux та нажміть enter щоб дістатись правами root .

Використовуйте команду fdisk -l or blkid в консолі,щоб дізнатися який розділ є для завантаження системи і щоб знайти правильні ім'я розділів. Якщо вам краще подобається GUI,тоді використовуйте Gparted:

blkid

і перевірте, що fstab має вихід в blkid:

cat /etc/fstab

Давайте припустимо, що ваша коренева файлова система розташовується на /dev/sda2

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

Тепер змонтуйте /proc, /run, /dev and /sys as follows:

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.

Щоб обновити Grub 2

apt-get install --reinstall grub-pc

Для того, щоб GRUB був встановлений правильному диску або розділі, run:

dpkg-reconfigure grub-pc

Для відновлення Grub 2 EFI

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

Для відновлення Grub 1 (grub-legacy)

apt-get install --reinstall grub-legacy

Дотримуйтесь інструкцій інсталяторів.

Щоб вийти з chroot:

Ctrl+d

Перезавантажте Ваш комп'ютер.

Сторінка останний раз переглянута 21/10/2011 0330 UTC