- PVSM.RU - https://www.pvsm.ru -
Помните недавний баг EFI на Samsung 530U3C [1], который приводил к тому, что ноутбук больше не работал после единоразовой загрузки ubuntu?
Встречайте EFI на Lenovo G580!
Итак, в канун нового года и праздничных распродаж, Adiost [2] купил Lenovo G580 с FreeDOS, снес его и установил Ubuntu. Через какое-то время захотел установить-посмотреть Windows 8. В ходе этого обнаружил, что не может зайти в настройки EFI нажатием кнопки F2: просто-напросто ничего не происходило и начинала грузиться ОС. Плюнув на это, установил Windows 8, и начал чинить.
Сначала нагрузил гугл. Таких [3] симптомов [4] — полно [5]. Даже на хабре [6] было. К сожалению, ни один из целых двух способов не помог. Из-под Windows NVRAM не менялся, а все дистрибутивы линукса грузились в режиме эмуляции BIOS, т.к. в EFI она была выбрана первой.
Немного информации: EFI NVRAM нельзя ни прочитать, ни изменить из-под ОС, загруженной в BIOS-режиме. Поэтому нужно было как-то запустить ОС через EFI. Для этого был установлен ArchLinux на флешку с GPT и GRUB2 в качестве EFI-загрузчика. Итак, ArchLinux загружен в EFI, отлично, запускаем efibootmgr, иии… пусто. Нет ни единого EFI-пункта, хотя при выборе устройства загрузки есть некий пункт «ubuntu», и это должен быть именно пункт, добавленный в NVRAM. При попытке удаления «наугад» записи под номером 0000, пункт загрузки сменил имя с ubuntu на Linux.
Adiost [2] добавил пустой пункт и перезагрузился. Ноутбук разучился показывать меню загрузки, перестал грузиться вообще с чего либо безо всяких ошибок. Просто POST и все, вечнопустой экран, sad but true.
Из-за чего efibootmgr выдавал пустой результат — непонятно, но могу предположить, почему так получилось с настройкой EFI. Дело в том, что, видимо, на многих ноутбуках Lenovo в NVRAM хранятся не только пункты загрузки ОС, но и вообще все пункты.
Вот что выдает efibootmgr на моем X220:
BootCurrent: 0009
Timeout: 0 seconds
BootOrder: 0019,0009,000A,0006,000C,0007,0008,000B,000D,000E,000F,0010,0011,0012,0013
Boot0000 Setup
Boot0001 Boot Menu
Boot0002 Diagnostic Splash Screen
Boot0003 Startup Interrupt Menu
Boot0004 ME Configuration Menu
Boot0005 Rescue and Recovery
Boot0006* USB CD
Boot0007* USB FDD
Boot0008* ATAPI CD0
Boot0009* ATA HDD2
Boot000A* ATA HDD0
Boot000B* ATA HDD1
Boot000C* USB HDD
Boot000D* PCI LAN
Boot000E* ATAPI CD1
Boot000F* ATAPI CD2
Boot0010 Other CD
Boot0011* ATA HDD3
Boot0012* ATA HDD4
Boot0013 Other HDD
Boot0014* IDER BOOT CDROM
Boot0015* IDER BOOT Floppy
Boot0016* ATA HDD
Boot0017* ATAPI CD:
Boot0018* PCI LAN
Boot0019* arch_grub
По всей вероятности, Ubuntu перезаписала пункт Boot0000, которым и является Setup. Я попробовал удалить его у себя, и, к счастью, он пересоздался при перезагрузке ноутбука, но перезаписывать его новым не пробовал.
Автор: ValdikSS
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/lenovo/27513
Ссылки в тексте:
[1] баг EFI на Samsung 530U3C: https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557
[2] Adiost: http://habrahabr.ru/users/adiost/
[3] Таких: http://forums.lenovo.com/t5/Lenovo-3000-and-Essential/BIOS-for-G580-notebook/td-p/890169
[4] симптомов: http://forums.fedoraforum.org/showthread.php?t=286538
[5] полно: http://forums.lenovo.com/t5/Lenovo-3000-and-Essential/G580-Cannot-enter-BIOS-in-UEFI-mode/td-p/883737
[6] на хабре: http://habrahabr.ru/sandbox/51889/
[7] Источник: http://habrahabr.ru/post/169985/
Нажмите здесь для печати.