GRUB 2
Основне резюме GRUB 2:
- Файл з ім'ям grub.cfg контролює Grub екран.
- grub.cfg автоматично генерується скриптами в /etc/grub.d.
- Розділи нумеруються починаючи з 1 замість 0 і диски пронумеровані від 0:
Linux grub2 /dev/sda1 (hd0,1) /dev/sda2 (hd0,2) /dev/sda3 (hd0,3) /dev/sdb1 (hd1,1) /dev/sdb2 (hd1,2) /dev/sdb3 (hd1,3)
- Результатом файла grub.cfg є файл 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.
Редагування 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 (#):
$ su
- З правами 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) і відкрийте консолю. Введіть su та нажміть 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
Перезавантажте Ваш комп'ютер.