GRUB 2
Резюме основних відмінностей при переході від grub1 (нині відомий як личинка-Спадок) на grub2:
- Файл menu.lst більше не існує.
- Файл з ім'ям grub.cfg управляє тепер личинка-екраном.
- grub.cfg автоматично створюється скриптами в каталозі /etc/grub.d.
- Позначення розділів також змінюється. Нумерація розділів починається з 1, не з 0. (Нумерація дисководів починаються далі з 0):
Linux grub1 grub2 /dev/sda1 (hd0,0) (hd0,1) /dev/sda2 (hd0,1) (hd0,2) /dev/sda3 (hd0,2) (hd0,3) /dev/sdb1 (hd1,0) (hd1,1) /dev/sdb2 (hd1,1) (hd1,2) /dev/sdb3 (hd1,2) (hd1,3)
- Станси в grub.cfg сформульовані трохи інакше в порівнянні з menu.lst. Станси з menu.lst (grub1) не можуть скопіювати безпосередньо в grub.cfg (grub2). Ні в якому разі не вносьте змін і не міняйте будь-що в файлі grub.cfg вручну!
Конфігураційний файл 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

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

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

Використовуйте стрілки клавіатури і пробіл, щоб поставити * (asterisk) щоб вибрати те, щоб grub2 почав запісівать MBR на свій диск. (У даному прикладі для установки на диск, USB) .
Четвертим кроком Ви робите:
update-grub
П'ятим кроком Ви робите:
apt-get install install-usb-gui fll-iso2usb
Шостим кроком Ви робите:
Перезавантажте комп'ютер і menu.cfg покаже ядра і список операційних систем, наприклад це:

Якщо будуть проблеми, і Ви нічого не побачете, не турбуйтесь а прочитайте уважно цю сторінку нашого керівництва Використання chroot для лікування пошкодженого або перезаписаного MBR на Grub
Редагування Grub2-параметpiв завантаження через екран
Якщо з якихось причин вам так потрібно,щоб тимчасові зміни параметрів завантаження ядра,не були видні натисніть букву 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:
- Для виявлення та підтвердження розділу жорсткого диска (наприклад: e.g. [h,s]d[a..]X) на всі наступні дії необхідні привілеї адміністратора, тому, щоб отримати root (#):
$ sux
- З правами root напишіть в консолю:
fdisk -l cat /etc/fstab
Ця команда є для того, щоб вияти правильні назви розділів. - Коли ви встановили правильний розділ, створіть точку монтування:
mkdir -p /media/[hdxx,sdxx,diskx]
- Змонтуйте цей розділ:
mount /dev/xdxx /media/xdxx
- Тепер можна переписати 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
Перезавантажте Ваш комп'ютер.