Восстановление загрузчика Grub2
- ДонВенчензо
- Сообщения: 293
- Зарегистрирован: 18 янв 2020, 20:54
Восстановление загрузчика Grub2
Хочу представить небольшой скриптик, задача которого восстанавливать загрузчик Grub2.
Восстановление загрузчика выполняется по инструкции с wiki (http://wiki.rosalab.ru/ru/index.php/%D0 ... 0%B0_Grub2).
Запуск скрипта надо производить из под рута в live режиме.
Краткое описание, что делает скрипт:
1) Предоставляет пользователю информацию о подключенных носителях информации
2) Просит ввести корневой раздел 3) Проверяет есть ли этот раздел среди подключенных разделов, не является ли он swap разделом, EFI разделом (одним словом защита от случайных нажатий ). Если указанный раздел не подходит, то предоставляет возможность повторного ввода раздела.
4) Потом перед началом восстановления проверяете всели ввели правильно и жмете Y для восстановления. Или можете прекратить работу программы. Скрипт не проверялся на машинах с uefi, по причине отсутствия оной.
Во вложенном архиве имеется .desktop файл. По желанию его можно использовать, чтобы запускать скрипт из меню.(необходимо учитывать, что в .desktop файле путь до скрипта /usr/bin/. Если у вас путь будет другой, то надо править).
Лично я использую на своем BariumOS. Добавил скрипт модулем и он запускается как из меню, так и из терминала как обычная программа linux.
Во втором архиве готовый для установки rpm пакет.
Теперь приложение доступно на https://abf.io
Ссылка на репозиторий для подключения http://abf-downloads.rosalinux.ru/venia ... in/release
Восстановление загрузчика выполняется по инструкции с wiki (http://wiki.rosalab.ru/ru/index.php/%D0 ... 0%B0_Grub2).
Запуск скрипта надо производить из под рута в live режиме.
Краткое описание, что делает скрипт:
1) Предоставляет пользователю информацию о подключенных носителях информации
2) Просит ввести корневой раздел 3) Проверяет есть ли этот раздел среди подключенных разделов, не является ли он swap разделом, EFI разделом (одним словом защита от случайных нажатий ). Если указанный раздел не подходит, то предоставляет возможность повторного ввода раздела.
4) Потом перед началом восстановления проверяете всели ввели правильно и жмете Y для восстановления. Или можете прекратить работу программы. Скрипт не проверялся на машинах с uefi, по причине отсутствия оной.
Во вложенном архиве имеется .desktop файл. По желанию его можно использовать, чтобы запускать скрипт из меню.(необходимо учитывать, что в .desktop файле путь до скрипта /usr/bin/. Если у вас путь будет другой, то надо править).
Лично я использую на своем BariumOS. Добавил скрипт модулем и он запускается как из меню, так и из терминала как обычная программа linux.
Во втором архиве готовый для установки rpm пакет.
Теперь приложение доступно на https://abf.io
Ссылка на репозиторий для подключения http://abf-downloads.rosalinux.ru/venia ... in/release
- Вложения
-
- script.zip
- (4.42 КБ) 526 скачиваний
-
- grub2recovery-1-2-rosa2021.1.x86_64.rpm.zip
- (5.72 КБ) 381 скачивание
Последний раз редактировалось ДонВенчензо 12 мар 2024, 23:56, всего редактировалось 6 раз.
- ДонВенчензо
- Сообщения: 293
- Зарегистрирован: 18 янв 2020, 20:54
Восстановление загрузчика Grub2
сделал маленькую правочку для систем с btrfs. Перезалил архив с скриптом.
Восстановление загрузчика Grub2
А зачем такие большие отступы?
Я бы еще табы на пробелы заменил. Это можно сделать командой expand -t 4 in-file >out-file.
$ - команда должна быть выполнена от имени непривилегированного пользователя,
# - команда должна быть выполнена от имени суперпользователя.
# - команда должна быть выполнена от имени суперпользователя.
- ДонВенчензо
- Сообщения: 293
- Зарегистрирован: 18 янв 2020, 20:54
Восстановление загрузчика Grub2
Видимо потому, что я не особый спец в этом и нужного внимания этому не удилил

- ДонВенчензо
- Сообщения: 293
- Зарегистрирован: 18 янв 2020, 20:54
Восстановление загрузчика Grub2
1) Скрипт теперь работает с разными именами файлов устройств.(/dev/sda1, /dev/vdb1, /dev/hdb1 и т.д.). Это позволяет скрипту работать, к примеру, а виртуальных машинах.
2) В архив добавлена иконка для ярлыка
3) Добавил rpm пакет с приложением. По идее rpm дожен работать не зависимо от платформы
2) В архив добавлена иконка для ярлыка
3) Добавил rpm пакет с приложением. По идее rpm дожен работать не зависимо от платформы
Восстановление загрузчика Grub2
Уменьшил отступы, но работоспособность скрипта не проверял. В контейнере побоялся, а в виртуалку сегодня не хочется лезть. Теоретически ничего не должно было сломаться.ДонВенчензо писал(а): 01 ноя 2022, 13:06Видимо потому, что я не особый спец в этом и нужного внимания этому не удилил![]()
ㅤ ㅤ
Этот код трижды повторяется:
Тут похоже ошибка: Переменная grub2recovery нигде не используется, а FILE в том месте еще не существует. Еще, break используется только в цикле, а условие в нем не находится, поэтому скрипт в этом месте будет падать если ошибку исправить.
Я бы это условие переписал так:
Код: Выделить всё
if [ ! -e "/tmp/grub2recovery/" ]; then # Если /tmp/grub2recovery/ не существует - создать.
mkdir /tmp/grub2recovery/
fi
$ - команда должна быть выполнена от имени непривилегированного пользователя,
# - команда должна быть выполнена от имени суперпользователя.
# - команда должна быть выполнена от имени суперпользователя.
- ДонВенчензо
- Сообщения: 293
- Зарегистрирован: 18 янв 2020, 20:54
Восстановление загрузчика Grub2
Спасибо за проделанную работу
. Внес правки. Единственное пока все же оставил папку /tmp/grub2recovery/. На процесс это не влияет, система не захламляется, т.к. /tmp сам очистится при перезагрузке. В /mnt вроде монтировать логично, но пользуясь Барием я заметил, что в нем /mnt уже используется и не хочется использовать его, потому как нет понимания что может произойти. Для безопасности теперь монтирую btrfs "только для чтения"

-
- Сообщения: 39
- Зарегистрирован: 07 окт 2022, 00:27
Восстановление загрузчика Grub2
Спасибо тебе добрый человек! С этим grub2 в Росе сплошные слезы! )
- ДонВенчензо
- Сообщения: 293
- Зарегистрирован: 18 янв 2020, 20:54
Восстановление загрузчика Grub2
Если с дравами nvidia не баловаться, то все с ним нормально

-
- Сообщения: 39
- Зарегистрирован: 07 окт 2022, 00:27
Восстановление загрузчика Grub2
Балуюсь с образами Acronis TI - настраиваю эталонный образ, сохраняю и разношу по машинам.Парк машин разный ).
Еще ни разу загрузчик сам не поднялся ни на одной машине без мата и танцев с бубном...
А UEFI - вообще беда (((, а если с Windows вместе - это слезы...
На Debian и Ubuntu такого не было. Толком и не понял в чем причина (особо и не разбирался).
Еще ни разу загрузчик сам не поднялся ни на одной машине без мата и танцев с бубном...
А UEFI - вообще беда (((, а если с Windows вместе - это слезы...
На Debian и Ubuntu такого не было. Толком и не понял в чем причина (особо и не разбирался).
-
- Сообщения: 39
- Зарегистрирован: 07 окт 2022, 00:27
Восстановление загрузчика Grub2
После последнего обновления grub2, исчезла проблема его не работы после разворачивания системы из настроенного образа на другое железо и другой жёсткий диск.
Восстановление загрузчика Grub2
Помимо линукса Rosa Fresh 12 на моём ноутбуке также установлена Windows 10, а т.к. она лицензионная, то периодически скачивает обновления и после некоторых крупных обновлений пропадает возможность загрузиться в линуксе. Вот и сейчас прилетело такое обновление, которое оставило возможность загрузки только Windows. Поэтому для всех, кто столкнулся с подобной ситуацией (и для себя в будущем тоже) небольшая инструкция, как можно вернуть возможность двойной загрузки.
Сразу скажу, что выполнение много раз рекомендованного на этом форуме update-grub2 никак не изменило ситуацию. Под спойлером приложил снимок с результатами работы update-grub2. Хотя обе операционки он и нашёл, но почему-то возможности выбирать ОС не появилась.
Следующие рекомендации применимы для дисков с таблице разделов GPT. Узнать какая таблица: MBR или GPT можно выполнив команду sudo parted -l. В моём случае вывод этой утилиты такой:
Обратить внимание нужно на строчку: Таблица разделов: gpt. Если таблица разделов - gpt, можно загружаться с LiveUSB, а после загрузки возможность выбора ОС у меня появилась после следующих команду (даже без выполнения update-grub2) :
, где sda1 - раздел EFI, sda6 - раздел с ОС Linux. Вполне возможно, что нет необходимости монтировать раздел с корнем, но проверю это, когда в следующий раз Windows обновится с затиранием двойной загрузки. А пока починилось и так, может ещё кому-то пригодится.
Сразу скажу, что выполнение много раз рекомендованного на этом форуме update-grub2 никак не изменило ситуацию. Под спойлером приложил снимок с результатами работы update-grub2. Хотя обе операционки он и нашёл, но почему-то возможности выбирать ОС не появилась.
Следующие рекомендации применимы для дисков с таблице разделов GPT. Узнать какая таблица: MBR или GPT можно выполнив команду sudo parted -l. В моём случае вывод этой утилиты такой:
Код: Выделить всё
# mkdir /mnt/sda
# mount -t auto /dev/sda6 /mnt/sda/
# mount -t auto /dev/sda1 /mnt/sda/boot/efi/
# grub2-install --boot-directory=/mnt/sda/boot --bootloader-id=Rosa --target=x86_64-efi --efi-directory=/mnt/sda/boot/efi
- ДонВенчензо
- Сообщения: 293
- Зарегистрирован: 18 янв 2020, 20:54
Восстановление загрузчика Grub2
Этой инструкцией пользовались?
http://wiki.rosalab.ru/ru/index.php/%D0 ... 0%B0_Grub2
Восстановление grub2 надо выполнять из live
http://wiki.rosalab.ru/ru/index.php/%D0 ... 0%B0_Grub2
Восстановление grub2 надо выполнять из live
Восстановление загрузчика Grub2
Нет, пользовался другой инструкцией, сейчас уже и не найду какой. Помню только, что там вместо grub2-install было написано grub-install.ДонВенчензо писал(а): 23 дек 2023, 20:24 Этой инструкцией пользовались?
http://wiki.rosalab.ru/ru/index.php/%D0 ... 0%B0_Grub2
Восстановление grub2 надо выполнять из live
А в первый раз восстановление через update-grub2, может потому и не пошло, что начал загружаться с установочной флешки, но увидев возможности загрузить установленную ОС решил проверить работоспособность установленной ранее операционки.
Восстановление загрузчика Grub2
grub-install
и
grub-update
это для ubuntu!
Для ROSA будет update-grub2 и правильно всё таки восстанавливать загрузившись в Live, а в неустановленную систему.
и
grub-update
это для ubuntu!
Для ROSA будет update-grub2 и правильно всё таки восстанавливать загрузившись в Live, а в неустановленную систему.