- Введение
- Установка пакетов
- Создание свободного места для дискового раздела grub
- Создание дискового раздела для EFI без использования Live-CD
- Создание дискового раздела для EFI с использованием Live-CD
- Восстановление GRUB EFI в режиме восстановления
- Есть простой способ восстановить загрузчик?
- townbov
- oko
- Vosiley
- Vosiley
- townbov
- townbov
- Ошибки при установке загрузчика
- Если установка продолжена без установки загрузчика
- Установка GRUB’a PCI-e SSD
Введение
При замене таблицы разделов диска формата MBR на таблицу разделов диска формата GPT могут возникнуть проблемы с загрузкой ОС из-за отсутствия дискового раздела grub, имеющегося только для таблицы разделов MBR. Далее приводится процедура установки раздела grub для таблицы разделов GPT, в том числе для загрузки ОС средствами UEFI.
Установка пакетов
Если система загружается, то:
Если система не загружается, то указанные выше команды выполнить через режим восстановления. После входа в режим восстановления:
- Удалить ненужные пакеты (команда приведена выше);
После назначения сетевого адреса установить пакеты GRUB для EFI (команда приведена выше).
Создание свободного места для дискового раздела grub
Данные шаги необходимо выполнить в случае отсутствия свободного неразмеченного места на диске. При возможности использовать Live-образ ОС выделение места можно выполнить загрузившись с этого образа и применив графический редактор дисков gparted.
Если на диске имеется раздел подкачки (swap), то для размещения дискового раздела grub этот раздел можно удалить или уменьшить и, при необходимости, использовать в дальнейшем размещение областей подкачки в файлах (см. Область подкачки (swap): особенности применения и обеспечения безопасности).
Независимо от выбранного метода перед выполнением дальнейших действий рекомендуется сделать резервную копию данных (с помощью штатных средств ОС Astra Linux или, в случае если система не загружается, загрузившись с Live-образа). При выполнении дальнейших действий следует соблюдать осторожность, так как ошибки выполнения могут повлечь потерю данных.
Рекомендованный размер дискового раздела grub — от 200МБ (возможно и меньше, но это может привести к проблемам в последующих обновлениях).
GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) resizepart Partition number? 1 End? [14,0GB]? 13800 Warning: Shrinking a partition can cause data loss, are you sure you want to continue? Yes/No? yes (parted) quit
в примере выше дисковый раздел номер 1 на устройстве /dev/sda (исходный размер 14,0GB) уменьшается до размера 13,800KB;
Создание дискового раздела для EFI без использования Live-CD
После запуска интерпретатора для удобства работы перейти в терминал с помощью клавиш «Alt+Ctrl+F2»:
Метка может быть произвольной, в примере использована метка EFI-SYstem;
/dev/disk/by-partlabel/EFI-system /boot/efi vfat defaults 0 2
Создание дискового раздела для EFI с использованием Live-CD
- Выполнить перезагрузку и осуществить вход в систему с Live-CD;
С помощью Gparted создать раздел 100Мб с файловой системой FAT32 и флагом ESP:
На приведенном выше снимке экрана выставлен флаг boot. Использование этого флага не обязательно.
UUID= /boot/efi vfat defaults 0 0
Восстановление GRUB EFI в режиме восстановления
- Перезагрузить систему и войти в режиме восстановления в UEFI;
Есть простой способ восстановить загрузчик?
Каждый раз после сбоя питания слетает загрузчик астры, и остается только виндосный. Обновил загрузчик на Live-usb, он увидел астру на жестком и загрузил ее. А что дальше? Везде ошибки восстановления или установки grub. Почему?
Все что есть в интернете к астре не подходит(((
Дайте плз совет как восстановить этот гребаный загрузчик в астре. А еще лучше — заменить MBR на Grub
townbov
New member
даже обновление с ошибкой))))
oko
New member
to townbov
Вообще странное поведение — сбои питания, слет загрузчика. Загрузчик либо есть, либо его нет. Хотя grub мог не сам записаться в нужную область, а дать лишь ссылку на себя, а размещаться на другом разделе. Тут бы знать, как вы его первично инсталлировали (тем более с uefi-flash).
С NVMe под Linux не работал, возможно там имеются свои баги (тем более в Астре, которая не очень за временем поспевает), но. Разве не тупо sudo grub-install /dev/nvme0n1, читай на само устройство, а не в конкретный раздел?
Что касается apt ugrade. Вы там случайно через dpkg не ставили и потом сносили spice? Похоже, что база apt зафиксировала изменения, а пакета-то уже и нет. Трайните его инсталл по-новой, а затем уже upgrade. Так-то может статься, что проблема вовсе не в системе как таковой.
Vosiley
New member
Не-не-не.
Т.к. это UEFI, да еще с Windows, то размечен диск однозначно в GPT.
Загрузчик GRUB ставится таким образом в директорию EFI. Т.е. /dev/nvme0n1p2 монтируем в /mnt , далее
grub-install --efi-directory=/mnt
Vosiley
New member
grub-install --efi-directory=/boot/efi
townbov
New member
grub-install --efi-directory=/boot/efi
Ага EFI именно там).
Но при выполнении выдает ошибку. Пробовал перемонтировать в /mnt но это конечно же ничего не меняет)
инсталятор ищет папку i386-pc в /usr/lib но она в /boot/efi. Ок) копирую ее туда куда он хочет)
после этого он не может найти kernel.img и его действительно там нет! Ок)) я копирую из платформы x86_64-efi и конечно же его он не устаивает)
ошибка в каком то заголовке ELF
я здаюсь)
townbov
New member
to townbov
Вообще странное поведение — сбои питания, слет загрузчика. Загрузчик либо есть, либо его нет. Хотя grub мог не сам записаться в нужную область, а дать лишь ссылку на себя, а размещаться на другом разделе. Тут бы знать, как вы его первично инсталлировали (тем более с uefi-flash).
С NVMe под Linux не работал, возможно там имеются свои баги (тем более в Астре, которая не очень за временем поспевает), но. Разве не тупо sudo grub-install /dev/nvme0n1, читай на само устройство, а не в конкретный раздел?
Что касается apt ugrade. Вы там случайно через dpkg не ставили и потом сносили spice? Похоже, что база apt зафиксировала изменения, а пакета-то уже и нет. Трайните его инсталл по-новой, а затем уже upgrade. Так-то может статься, что проблема вовсе не в системе как таковой.
Загрузчик так и остается после збоя. Но биос видит только запись майкрософт.
вот записи в папке efi которые биос видел до збоя: они все остались
появилась только какая то сомнительная копия в папке Boot:
переименовать пробовал- но все равно грузится только винда((
Знаю точно, что после переустановки Астры, биос ее снова увидит))))
Переустановка как решение — это треш)
Ошибки при установке загрузчика
Ошибки возникающие в процессе установки операционной системы специального назначения Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) и Astra Linux Common Edition:
Не удалось выполнить команду "grub-install dummy". Это неисправимая ошибка.
Установка происходит в UEFI режиме, но таблица диска MBR.
Использовать «Boot menu» для выбора загрузки в режиме Legacy или изменить режим для носителя в BIOS.
Если установка продолжена без установки загрузчика
Загрузиться с носителя в режиме восстановления;
Запустить оболочку в разделе установки системы;
Выбрать устройство используемое в качестве корневой файловой системы;
Провести запуск оболочки в /dev/sd* ;
Перейти в tty (на пример Alt-Ctrl-F2) и выполните chroot /target (Выбранная корневая файловая система смонтирована в каталог /target .)
Запустить пакетный менеджер (например aptitude);
Убедиться, какой пакет grub установлен: grub-pc (Legacy), grub-efi-amd64 (EFI);
Заменить пакет grub на подходящий при необходимости;
Проведите установку загрузчика на устройство, например grub-install /dev/sd* и выполните обновление списка систем: update-grub.
Установка GRUB’a PCI-e SSD
NVMe (Non-Volatile Memory Express) это спецификация для доступа к дискам через PCI Express, специально разработанная для энергонезависимой памяти. Способ именования NVMe-SSD отличается от SATA-дисков. Первый NVMe-SSD имеет имя /dev/nvme0n1, а не /dev/sda. Здесь n после nvme0 означает пространство имён (namespace). Первый раздел на таких дисках имеет имя /dev/nvme0n1p1 вместо /dev/sda1.
После возникновения ошибки установки загрузчика, перейти в терминал (CTRL+ALT+F2) выполнить: