Как изменить скрытые параметры EFI BIOS

В последнее время прослеживается очень четкая тенденция: с каждым новым обновлением BIOS материнских плат компьютеров/ноутбуков пользователю доступно все меньше параметров. Установив очередное обновление BIOS для материнской платы своего ноутбука HP, под управлением ОС Windows 8.1, я внезапно обнаружил, что среди и без того урезанных опций исчез целый ряд настроек загрузки. К примеру опция Legacy Support, которая позволяет загружать ОС (предыдущие версии Windows, Linux и др.) и грузиться с носителей не поддерживающих UEFI. Ситуацию спасла функция BIOS Recovery, так как предыдущую версию BIOS на официальном сайте я уже не обнаружил.

И казалось бы: что тут страшного? Производители всего лишь пытаются ограничить доступ пользователя к настройкам, редактирование которых может нанести вред компьютеру. Однако на деле нас вынуждают покупать более новые модели компьютеров, покупать и устанавливать только те операционные системы, которые диктует нам производитель.

Сразу хочется сказать, что данная статья ориентирована на людей, которые понимают что именно можно контролировать с помощью BIOS, знакомы с аппаратными возможностями компьютера и отдают себе отчет в том, к чему может привести редактирование параметров BIOS. ВАЖНО! Описанный способ применим к образам BIOS Phoenix, Dell, Insyde, EFI BIOS.

Для чего нужно редактировать скрытые параметры?

В скрытых настройках BIOS содержатся инструменты управления интегрированными и дискретными устройствами, портами, контроллерами, процессором, питанием и т.п. Возможно, Вам требуется настроить переключаемую графику, возможно, — подготовить компьютер к установке Mac OS X, возможно, — увеличить производительность компьютера. В любом случае, к редактированию параметров следует подойти с осторожностью. Прежде чем что-либо менять, тщательно изучите вопрос, погуглите, полазьте по форумам.

Для начала неплохо перестраховаться

Описанный мною способ не предполагает редактирования бинарника биоса. Однако, если, к примеру, после изменения какой-либо опции компьютер перестал загружаться, нам следует иметь возможность сбросить настройки к заводским. Для этого, прежде всего, следует выяснить где в Вашем компьютере находится батарея CMOS. Выглядит она так:

OLYMPUS DIGITAL CAMERA

При необходимости, сбросить настройки BIOS можно, отключив компьютер от питания (в ноутбуке следует вытащить основную батарею), далее следует нажать и удерживать кнопку питания около 10 секунд. После этого нужно вытащить батарею CMOS на несколько минут (или отсоединить ее от платы, если у Вас ноутбук). После того, как Вы поставите батарею обратно, включите питание и запустите компьютер/ноутбук, он предложит Вам сбросить все настройки к настройкам По-умолчанию.

Что нам понадобится?

Итак, прежде следует скачать некоторое программное обеспечение.

1. Обновление BIOS для Вашего компьютера/ноутбука. Из него мы будем извлекать бинарный файл.

2. Если Вы не нашли обновление BIOS, придется извлечь его самостоятельно. Для дампа BIOS чипсета Intel я использовал утилиту Intel Flash Programming Tool, которую можно загрузить по ссылке: http://www.win-raid.com/t164f13-Intel-FPT-Tool-something-useful.html

3. Еще нам понадобится бесплатная утилита PhoenixTool, доступная для загрузки тут (требуется регистрация на форуме): http://forums.mydigitallife.info/threads/13194-Tool-to-Insert-Replace-SLIC-in-Phoenix-Insyde-Dell-EFI-BIOSes.

4. Для извлечения параметров BIOS потребуется утилита Universal IFR Extractor.

5. И, наконец, непосредственно редактировать параметры мы будем, используя загрузочную флешку с небольшой программой BOOTX64.

Редактирование скрытых опций EFI BIOS

Итак, приступим.

1. Для начала нам потребуется бинарный файл BIOS-а. Тут способа два.

I СПОСОБ. Распакуйте установочный файл обновления BIOS любым архиватором, например, WinRar. После распаковки папка будет иметь примерно следующий вид:

Распакованный установщик BIOS

Далее ищите в папке файл с расширением .ROM, .BIN, .FD. Это и есть наш BIOS.

II СПОСОБ. Дамп BIOS-а Intel Chipset-а можно сделать утилитой Intel Flash Programming Tool. Итак, распаковываем папку с программой на диск C:/. Далее открываем Командную строку от имени Администратора. И вводим поочередно такие команды:

cd C:\Путь_к_папке_с_программой
fptw.exe -d bios_dump.bin -BIOS  //или
fptw64.exe -d bios_dump.bin -BIOS  // если Вы скачали 64-битную версию Intel Flash Programming Tool

После этого в папке с программой появится образ Вашего BIOS.

Дамп BIOS через Intel FPT

2. Далее нам нужно разложить полученную прошивку BIOS на составляющие. Для этого запускаем утилиту PhoenixTool и указываем в ней путь к файлу биоса.

 Распаковка прошивки с помощью PhoenixTool

После этого в папке с файлом BIOS Вы заметите папку DUMP. В ней содержатся составные части прошивки. Нам потребуется одна из этих частей. Жмем в программе кнопку Structure. В открывшемся окне разворачиваем EFI BIOS -> File Structure {бла-бла-бла} (второй сверху). Далее как на иллюстрации ниже:

Разворачиваем ветку EFI BIOS - DXE Core

Находим драйвер под названием SetupUtility и выписываем куда-нибудь его имя (то, что в фигурных скобках):

Находим SetupUtility

Далее переходим в папку DUMP в каталоге с образом нашего BIOS и находим файлы с именами, которые содержат строку, что мы выписали. В результатах поиска их окажется несколько. Выбираем тот, у которого большой размер, копируем в любое удобное место:

Файл SetupUtility

3. Для того, чтобы расшифровать находящиеся в полученном файле параметры BIOS нам потребуется приложение Universal IFR Extractor. Открываем, указываем путь к файлу и нажимаем Extract. Выбираем место сохранения и нажимаем Сохранить.

Извлекаем параметры BIOS с помощью Universal IFR Extractor

Открываем полученный файл и смотрим на его структуру. Вот один из примеров:

Функция BIOS в IFR файле

На иллюстрации выше я выделил пункт настройки (Setting) под названием PowerXpress Setting и ее опции. Через запятую указана переменная — «Variable: 0x1E7″.

Далее следуют пять опций:

Muxless Fixed Scheme Only, 

Muxless Dynamic Scheme Only, 

Muxless Fixed and Dynamic Scheme, 

Full dGPU PowerOff Dynamic Scheme, 

Fixed and Full dGPU PowerOff Dynamic Scheme.

В строке одной из опций есть слово default. Эта опция стоит по-умолчанию (при сбросе настроек параметр выставится в значение Default). Опять же, через запятую мы видим значение опции, например «Value: 0x5».

Для того, чтобы изменить любой параметр BIOS нам понадобятся ее переменная Variable и значение нужной нам опции Value.

4. Переходим к редактированию настроек BIOS. Для этого берем любую флешку, форматируем в FAT32 и кладем в нее содержимое архива BOOTX64. Должно получиться дерево вида: F:\EFI\BOOT\BOOTX64.EFI.

Далее грузимся с этой флешки, предварительно включив в BIOS функцию Lecacy Support и отключив Secure Boot. Когда программа загрузится в консоли на экране видим следующий текст:

Welcome to GRUB!
>
> Entering rescue mode…
> error: file not found
> grub rescue>

Далее вводим следующую команду:

setup_var 0x1E7 0x5

где 0x1E7 — переменная (Variable) функции BIOS (указываем значение нужной ВАМ переменной), а 0x5 — значение ее опций (Value), указываем нужное ВАМ значение.

ЗАКЛЮЧЕНИЕ

Собственно, вот так и редактируются скрытые параметры BIOS. Напоминаю, что если что-то пошло не так, сбрасываем настройки BIOS способом, описанным вначале статьи. Спасибо, что дочитали до конца. Если статья оказалась полезной — ставим лайки, делимся в соц. сетях.

Понравилась запись? Ставь лайк!
  • mi

    Здравствуйте! Всё это, несомненно, интересно.. Но вот вопрос такой, вроде мелочь, а вроде и нет — если к имени переменной в квадратных скобках добавляется цифра, то так и писать её при изменении? у меня, например, variable: 0x20A[1]

  • КрейзиChannel

    как создать флешку с bootx64.efi

Loading more content...