Двойная загрузка ОС Endeavor заменена на жесткий диск EFI после обновления BIOS

Причина, по которой это сравнение не работает со строкой даты через дефис, заключается в том, что оболочка считает восьмеричным число с начальным 0, в данном случае месяц "07". Были предложены различные решения, но самым быстрым и простым является удаление дефисов. Bash имеет функцию подстановки строк, которая делает это быстро и легко, тогда сравнение может быть выполнено как арифметическое выражение:

todate=2013-07-18
cond=2013-07-15

if (( ${todate//-/} > ${cond//-/} ));
then
    echo larger
fi
0
23.11.2021, 11:11
2 ответа

Это слегка измененный ответ от telcoM , соответствующий вашему вопросу.

Обновление UEFI, вероятно, привело к сбросу настроек NVRAM, которые в системах UEFI также включают конфигурацию загрузки для установленных операционных систем. Не все элементы меню загрузки обнаруживаются на -лету -во время загрузки :, вместо этого элементы загрузки для установленных операционных систем сохраняются в UEFI NVRAM во время установки ОС.

Вы можете загрузиться с любого носителя Linux Live с поддержкой UEFI -, убедиться, что загрузчик GRUB EndeavourOS все еще присутствует в разделе ESP, и использовать команду efibootmgr, чтобы добавить для него пункт меню загрузки.

Предполагая, что ваш системный раздел EFI является первым разделом в /dev/sda, необходимая командная строка efibootmgrдолжна быть похожа на эту:

# efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\EndeavourOS\\grubx64.efi -L "Arch Linux"

Обратите внимание на путь к загрузчику в стиле Windows -с двойными обратными косыми чертами, поскольку обратная косая черта является специальным escape-символом для оболочки. Для метки меню загрузки (опции -L )вы можете написать что угодно вместо «EndeavourOS Linux», если хотите.

0
24.11.2021, 12:22

Я решил эту ошибку, сначала повторно -установив grub в root, а затем изменив порядок загрузки ОС в BIOS, что решило проблему.

0
24.11.2021, 16:51

Теги

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