Встречайте EFI на Lenovo G580!
Итак, в канун нового года и праздничных распродаж, Adiost купил Lenovo G580 с FreeDOS, снес его и установил Ubuntu. Через какое-то время захотел установить-посмотреть Windows 8. В ходе этого обнаружил, что не может зайти в настройки EFI нажатием кнопки F2: просто-напросто ничего не происходило и начинала грузиться ОС. Плюнув на это, установил Windows 8, и начал чинить.
Сначала нагрузил гугл. Таких симптомов — полно. Даже на хабре было. К сожалению, ни один из целых двух способов не помог. Из-под Windows NVRAM не менялся, а все дистрибутивы линукса грузились в режиме эмуляции BIOS, т.к. в EFI она была выбрана первой.
Немного информации: EFI NVRAM нельзя ни прочитать, ни изменить из-под ОС, загруженной в BIOS-режиме. Поэтому нужно было как-то запустить ОС через EFI. Для этого был установлен ArchLinux на флешку с GPT и GRUB2 в качестве EFI-загрузчика. Итак, ArchLinux загружен в EFI, отлично, запускаем efibootmgr, иии… пусто. Нет ни единого EFI-пункта, хотя при выборе устройства загрузки есть некий пункт «ubuntu», и это должен быть именно пункт, добавленный в NVRAM. При попытке удаления «наугад» записи под номером 0000, пункт загрузки сменил имя с ubuntu на Linux.
Adiost добавил пустой пункт и перезагрузился. Ноутбук разучился показывать меню загрузки, перестал грузиться вообще с чего либо безо всяких ошибок. Просто 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. Я попробовал удалить его у себя, и, к счастью, он пересоздался при перезагрузке ноутбука, но перезаписывать его новым не пробовал.
ссылка на оригинал статьи http://habrahabr.ru/post/169985/
Добавить комментарий