Рубрики
boot \ grub \ grub2 \ init \ systemd

grub2 install

ссылки:

https://www.gnu.org/software/grub/manual/grub/grub.html
https://wiki.archlinux.org/index.php/GRUB_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)
https://habr.com/post/181844/
https://jasugrub2.blogspot.com/2015/05/grub2-uefi.html
https://ru.wikibooks.org/wiki/Grub_2
http://help.ubuntu.ru/wiki/grub
Загрузка с iso-образа через GRUB
https://habr.com/post/301534/ http://rus-linux.net/MyLDP/boot/GRUB-bootloader-Full-tutorial.html https://losst.ru/ustanovka-zagruzchika-grub http://hostadmina.ru/blog/linux/shell/vosstanovlenie-zagruzchika-grub2.html http://www.supergrubdisk.org/ - специальный загрузочный диск Super Grub Disk http://www.system-rescue-cd.org/ - LiveCD http://www.lexpr.ru/node/409 https://help.ubuntu.ru/wiki/%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_grub

Установка системного загрузчика:

 
apt install grub - установка grub в debian
grub-install /dev/hda - установка загрузчика grub на /dev/hda
update-grub - перечитать конфигурацию grub

Первый способ восстановления grub / grub2:

0) Загружаемся с liveCD 
Узнаем на каких разделах находятся системные директории
fdisk -l
1) Монтируем в выделенную директорию, допустим ( /mnt ), раздел с системными директориями ( например /dev/sda2 )
mount /dev/sda2 /mnt
3) Проверяем что мы только что смонтировали
ls /mnt - смотрим список директорий
Мы должны увидеть директории /sys , /proc, /dev и т.д.
4) Биндим, файлы dev,sys,proc могут быть доступны по адресу-синониму
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
5) Включаем измененную систему (т.е. уже с жесткого диска)
chroot /mnt
6) Установка и обновление загрузчика
grub-install /dev/sda - устанавливаем загрузчик
grub-mkconfig -o /boot/grub/grub.cfg - обновляем меню загрузки
grub-install --recheck /dev/sda - еще раз проверяем 
7) Выходим из окружения chroot и от монтируем разделы
exit
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount /mnt

Второй способ восстановления grub в rescue mode:

Доступные команды ls, set, unset, insmod
ls - выведит все доступные разделы

(hd0) (hd0,1) (hd0,2)  (hd0,msdos3) - пример вывода команды ls

hd0 - первый диск 
hd0,1 - первый раздел первого диска
hd0,2 - второй раздел первого диска 

hd1 - второй диск 
hd1,1 - первый раздел второго диска

!!! Grub счет дисков начинается с 0, а счет разделов - с 1.
!!! hd0,msdos3 - иногда grub неправильно определяет файловую систему и пишет msdos
!!! Используйте числовые значения

find /boot/grub/stage1  - покажет раздел где храниться основная часть загрузчика GRUB

!!! вот так можно установить загрузчик 
!!!root (hdX,Y)
!!!setup (hdX)
!!quit

0) ls - выводим список  дисков 

1)  Предположим, что Линукс установлен на первый диск в первый раздел, то есть (hd0,1)
Указываем использовать диск (hd0,1) 
set prefix=(hd0,1)/boot/grub 
set root=(hd0,1)

2) Проверяем правильно мы выбрали раздел,  и если файлы загрузки.
ls /boot/grub
ls /


3) Подгружаем модули.
!!! Вместо ext2 пиши свою ФС (ext3, ext4 , btrfs, ntfs и т.д.)
insmod ext2 - загружаем модуль ext2
insmod normal - запускаем модуль
normal - запускаем grub

4) Grub перейдёт в полнофункциональный режим. 
Он автоматически найдет все операционки, 
которые можно подгружать, и покажет своё Grub-меню

5) Грузимся в систему и восстанавливаем загрузчик
grub-install /dev/sdX - установим загрузчик
update-grub - обновление меню загрузчика 

Пример:
ls - показываем разделы
ls (hd0,1)/ - показываем содержимое первого раздела первого диска
set prefix=(hd0,1)/boot/grub2 - определившись с разделом, укажем путь к модулям ядра
set root=(hd0,1) - указываем путь к файловой системе
insmod /boot/grub2/i386-pc/linux.mod - загружаем модули ядра для загрузки
linux /boot/vmlinuz root=/dev/sda1 ro - указываем ядро
initrd /boot/initrd - указываем ядро
boot - загружаемся
grub-install /dev/sda - устанавливаем загрузчик 
grub-mkconfig -o /boot/grub/grub.cfg - обновляем меню загрузки

Третий способ Super Grub Disk:

0) может  пригодится Любой LiveCD 
fdisk -l - узнаем информацию о дисках и ФС
mount /dev/sdX /mnt - монтируем диск /dev/sdX в каталог /mnt
nano /mnt/etc/fstab - конфиг монтирования
blkid - программа показывает UUID дисков и разделов

1) Загружаемся с  Super Grub Disk 
2) Выбираем авто поиск системы на разделах
3) Грузимся в нашу систему
4) Чиним загрузчик из под нашей системы
update-grub - обновление меню загрузчика 
grub-install /dev/sda - установка загрузчика на диск /dec/sda

Grub2, как выбрать предыдущее ядро для загрузки debian?:

0. Отредактируйте файл
vim /etc/default/grub

1. Найдите строку GRUB_DEFAULT=...(по умолчанию GRUB_DEFAULT=0) и укажите в кавычках путь меню к конкретному ядру (запомните индексы меню из шагов 2 и 3).
В моей системе первый индекс был равен 1, а второй - 2. 
Я установил значение GRUB_DEFAULT
GRUB_DEFAULT="1>2"

2. Обновите информацию GRUB для внесения изменений:
update-grub
reboot

3. Загружаемся в систему и проверяем:
uname -a  

P.s.
Для каждого пункта меню существует набор команд grub. 
Все скомпилированные записи хранятся в /boot/grub/grub.cfg файл.