Какая команда использовалась для установки grub?

Используйте следующее docker-compose.yml, чтобы запустить ваши контейнеры в предопределенной сети со статическими адресами IPv4:

version: '3.5'
services:
  service1:
  image: service1:latest
  networks:
    service1_net:
      ipv4_address: 172.22.0.100
networks:
  service1_net:
    ipam:
      driver: default
      config:
        - subnet: 172.22.0.0/16
2
17.08.2020, 13:29
2 ответа

Запустите efibootmgr -vот имени пользователя root. Первая строка будет BootCurrent: NNNN, где NNNN — шестнадцатеричное четырехзначное число -.

Найдите соответствующую строку «BootNNNN». Это будет выглядеть примерно так:

BootNNNN* Manjaro        HD(X,GPT,11111111-2222-3333-4444-555555555555,0x800,0x82000)/File(\...\something.efi)
  • NNNN— число из первой строки,
  • Manjaroэто строка описания элемента загрузки, которую может прочитать человек -(может быть что угодно ),
  • X— номер диска в порядке обнаружения прошивкой UEFI,
  • 11111111-2222-3333-4444-555555555555— это PARTUUID системного раздела EFI, в который установлен загрузчик,
  • и \...\something.efi— это имя пути в стиле Windows -в системном разделе EFI, определяющее используемый файл загрузчика. С GRUB + Secure Boot это обычно shimx64.efi, shim.efiили что-то подобное, ссылаясь на загрузчик прокладки Secure Boot, который затем загружает файл с именем grubx64.efiв тот же каталог.

Системный раздел EFI может быть смонтирован как /boot/efiили /bootили вообще не смонтирован; разные дистрибутивы делают здесь по-разному. Если он установлен в /boot/efi,запустите ls -l /boot/efi/EFI/BOOT/BOOTX64.efiи сравните длину этого файла с файлом в пути загрузчика, указанном efibootmgr -v:. Если они совпадают, вы узнаете, что вам, вероятно, также следует обновить резервный загрузчик. (Помните об этом -, подробнее об этом позже.)

Зная PARTUUID, вы сможете использовать blkidили lsblk -o +PARTUUIDдля определения имени устройства Linux, соответствующего системному разделу EFI (ESP для краткости ). Теперь у вас есть все необходимое для восстановления команды grub-install.

Однако при безопасной загрузке первым «загрузчиком», зарегистрированным в NVRAM системы, на самом деле будет оболочка безопасной загрузки, а не GRUB. Вы не хотите изменить этот факт.

Таким образом, вы, вероятно, захотите использовать опцию --no-nvram, чтобы избежать изменения загрузочных переменных NVRAM. В результате команда для повторной установки GRUB -должна быть:

grub-install --no-nvram /dev/<the disk device corresponding to your ESP partition>

Если GRUB в настоящее время также установлен по пути резервного загрузчика \EFI\BOOT\BOOTX64.efiв ESP, вам нужно добавить параметр --force-extra-removableк команде grub-install, чтобы он также обновил его.

Обратите внимание, что если вы используете загрузчик с оболочкой Secure Boot, важно также обновить оболочку на ESP. Перед перезагрузкой системы убедитесь, что и GRUB, и прокладка на ESP имеют достаточно свежие временные метки. Все, что после 2020 -07 -28 должно быть хорошим. Если пакет прокладки не будет автоматически обновлять файл прокладки в ESP, вы можете просто найти обновленную прокладку везде, где ее помещает процедура установки пакета, и скопировать ее поверх старой прокладки в ESP.

При использовании Secure Boot и GRUB типичная компоновка ESP будет выглядеть следующим образом:

  • <ESP mountpoint>/EFI/<name of distro>/grubx64.efi= фактический GRUB
  • <ESP mountpoint>/EFI/<name of distro>/shimx64.efi= прокладка безопасной загрузки
  • <ESP mountpoint>/EFI/BOOT/BOOTX64.efi= резервная загрузочная копия прокладки
  • <ESP mountpoint>/EFI/BOOT/grubx64.efi= резервная загрузочная копия GRUB

Пути с компонентом <name of distro>обычно считаются основным загрузчиком,но резервная копия будет полезна, если система по какой-либо причине «забывает» настройки NVRAM, например, при обновлении прошивки UEFI, которое сбрасывает все настройки прошивки (, также известные как «настройки BIOS» ), до заводских значений по умолчанию.

4
18.03.2021, 23:12

Вам не нужно переустанавливать GRUB, чтобы устранить эту уязвимость. Простого обновления пакета должно быть достаточно. Если GRUB является единственным загрузчиком, который вы, возможно, захотите обновить, установка/boot/efi/EFI/Boot/BOOTX64.EFI-grub -этого не сделает.

Также grub-installпредназначен для старых систем MBR в стиле -, он больше не нужен на устройствах с поддержкой UEFI.

Для большей уверенности проверьте даты ваших файлов grub в /boot/efi/EFI. Поскольку я не уверен, где установлены файлы, запустите эту команду и опубликуйте ее вывод

find /boot \( -iname grubx64.efi -o -iname 'shim*.efi' \)  -exec ls -l '{}' \;
2
18.03.2021, 23:12

Теги

Похожие вопросы