- Вопрос или проблема
- Краткое содержание
- ПРИМЕЧАНИЕ
- Ссылки
- Ответ или решение
- Восстановление доступа к Ubuntu после обновления BIOS на ThinkPad t490s
- Проблема
- Решение
- Шаг 1: Запуск командной строки в Windows
- Шаг 2: Перезагрузка и доступ к Ubuntu
- Шаг 3: Использование efibootmgr в Ubuntu
- Шаг 4: Проверка BIOS
- Заключение
Вопрос или проблема
Это ноутбук ThinkPad t490s с установленной двойной загрузкой Windows 10 и Ubuntu 16.04.
Когда я использую Windows, Lenovo выпустила несколько обновлений BIOS. Но после обновления Ubuntu больше не загружается. Он даже не отображается в вариантах загрузки.
Как мне вернуть Ubuntu?
Скорее всего, это не имеет никакого отношения к обновлению BIOS от Lenovo. Обновление Windows иногда добавляет себя в верхнюю часть записей NVRAM, поэтому оно будет загружаться прямо в Windows, а не в ваш предыдущий загрузчик.
Чтобы восстановить grub (менеджер загрузки по умолчанию для Ubuntu), введите в повышенной командной строке в Windows:
bcdedit /set '{bootmgr}' path \EFI\ubuntu\grubx64.efi
Краткое содержание
Следующая команда, которую мне пришлось выполнить, чтобы вернуть менеджер загрузки Linux в список менеджеров загрузки.
$ sudo -s
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
nvme0n1 259:0 0 476,9G 0 диск
├─nvme0n1p1 259:1 0 100M 0 часть /boot/efi <<<<< EFI-раздел находится на nvme0n1
...
# efibootmgr -c -d /dev/nvme0n1 -p 1 -l "\efi\ubuntu\shimx64.efi" -L "Linux Mint"
Но прежде чем это делать, убедитесь, что нет записи NVROM для Linux:
# efibootmgr -v
Чтобы получить доступ к консоли Linux, я использовал командную строку, предоставленную @lx07. Что она делает, так это обманывает менеджер загрузки Windows, чтобы загрузить Grub вместо Windows.
> bcdedit
#### СОХРАНИТЕ ВЫВОД ВЫШЕУКАЗАННОЙ КОМАНДЫ!!!
#### Вам это понадобится, чтобы восстановить настройки после завершения
> bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
Когда я перезагружаю, BIOS жалуется, что
Не удалось открыть \EFI\ubuntu\xxx - Неверный параметр
Не удалось загрузить изображение: Неверный параметр
start_imageO вернул неверный параметр, возвращаюсь к загрузчику по умолчанию
и, к моему удивлению, он загрузил Grub. Затем я использовал командную строку, которую я разместил в начале этого поста. После завершения я вернул {bootmgr}
обратно к \EFI\Microsoft\Boot\bootmgfw.efi
.
Если ваш компьютер все еще загружает Windows, убедитесь, что менеджер загрузки Windows выбран в качестве первого менеджера загрузки в настройках BIOS Boot.
Если ваш компьютер не запускается, попробуйте менеджер загрузки жесткого диска вместо менеджера загрузки Windows.
Если этот трюк с Windows BCDEdit не работает или вы не хотите связываться с BCDEdit, вы можете использовать Live Linux ISO + USB-накопитель.
ПРИМЕЧАНИЕ
-
Вместо
shimx64.efi
в командной строке дляefibootmgr
вы можете использоватьgrubx64.efi
. Насколько я знаю,shimx64.efi
используется, когда состояние Secure Boot включено. -
grubx64.efi
по какой-то причине не работал для меня с BCDEdit.
Ссылки
Ответ или решение
Восстановление доступа к Ubuntu после обновления BIOS на ThinkPad t490s
Обновление BIOS вашего ноутбука Lenovo ThinkPad t490s, вероятно, привело к исчезновению Ubuntu из списка загрузочных опций. Это распространенная проблема, возникающая в результате изменения порядка загрузки, особенно когда используется совместная установка Windows и Ubuntu. В данном руководстве мы рассмотрим, как восстановить доступ к Ubuntu.
Проблема
После обновления BIOS Ubuntu больше не отображается в меню загрузки, и вы можете загрузиться только в Windows. Это может произойти из-за того, что Windows обновляет свои параметры загрузки и ставит себя на первое место в NVRAM. Обычно прямое появление информации о Windows в NVRAM приводит к исчезновению других загрузчиков.
Решение
Чтобы вернуть загрузчик Ubuntu (GRUB) в список загрузочных манагеров, воспользуйтесь следующими шагами.
Шаг 1: Запуск командной строки в Windows
- Откройте командную строку от имени администратора. Для этого нажмите клавиши
Windows + X
и выберите "Командная строка (администратор)". -
Введите следующую команду для изменения параметров загрузчика Windows:
bcdedit /set '{bootmgr}' path \EFI\ubuntu\grubx64.efi
Эта команда указывает менеджеру загрузки Windows использовать загрузчик GRUB вместо загрузки Windows.
Шаг 2: Перезагрузка и доступ к Ubuntu
Перезагрузите ноутбук. Если команда выполнена успешно, при перезагрузке вы должны увидеть GRUB, что позволит вам выбрать между Windows и Ubuntu.
Шаг 3: Использование efibootmgr
в Ubuntu
Если GRUB все еще не загружается, вы можете использовать efibootmgr
для изменения порядка загрузки из-под Ubuntu:
-
Загрузитесь с помощью Live USB (например, с образом Ubuntu).
-
Откройте терминал и получите права суперпользователя:
sudo -s
-
Определите ваше дисковое устройство с помощью команды:
lsblk
Найдите ваш диск, обычно это что-то вроде
/dev/nvme0n1
. -
Проверьте текущие загрузочные параметры:
efibootmgr -v
-
Добавьте загрузочный менеджер для Ubuntu:
efibootmgr -c -d /dev/nvme0n1 -p 1 -l "\EFI\ubuntu\shimx64.efi" -L "Ubuntu"
Замените
shimx64.efi
наgrubx64.efi
, если Secure Boot отключен или это требуется в вашем случае.
Шаг 4: Проверка BIOS
Если после всех этих изменений Ubuntu все еще не появляется:
- Включите компьютер и перейдите в BIOS.
- Убедитесь, что в порядке загрузки Windows Boot Manager стоит на первом месте (или же Hard Drive Boot Manager).
- Примените изменения и выйдите из BIOS.
Заключение
Если вы следовали всем шагам, но проблемы не решены, стоит рассмотреть повторное восстановление загрузчика GRUB с помощью инструмента Boot Repair, который доступен в Live USB версии Ubuntu. Также не забудьте проверить, что Secure Boot отключен, так как это может повлиять на загрузку системы Linux.
Для дополнительной информации ознакомьтесь со следующими ресурсами:
Следуя приведенным выше шагам, вы сможете успешно вернуть доступ к вашему Ubuntu на ThinkPad t490s после действия обновления BIOS.