- PVSM.RU - https://www.pvsm.ru -

Как убить Lenovo G580 одним ударом

Помните недавний баг 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/