Как разблокировать настройки биос на ноутбуке
Одно из направлений моей компании — продажа технологических решений в области виртуализации. По долгу службы, приходится делать пилотные проекты или устраивать тестовые стенды. Недавно, компания Citrix выпустила новый продукт под название XenClient XT, который по сути является клиентским гипервизором первого уровня, то есть работает на чистом железе. Основной идеей клиентского гипервизора является создание виртуальных машин на собственном ноутбуке. Где и как это применимо — опустим.
Все современные процессоры Intel и AMD поддерживают технологию аппаратной виртулизации.
И так, в моем распоряжении был ноутбук с H77 чипсетом и Intel Core i7-3820QM процессором. Согласно спецификации от производителя, мой процессор поддерживал Intel Virtualization Technology (VT-x) и Intel Virtualization Technology for Directed I/O (VT-d) технологии. Если первая имеется почти на всех новых ноутбуках, то вторая технология встречается только на топовых моделях. Но она дает много преимуществ, как например прямой проброс GDU в виртуальную среду, соответственно клиентская машина получает полную поддержку 3D. Но давайте не будем углубляться в технологии, отличные от тематики данной статьи.
В моем биосе была возможность включения VT-x, но вот управление технологией VT-d не было предусмотрено изначально.
В расстроенных чувствах, я стал бродить по разным ресурсам в интернете и наткнулся на два очень интересных ресурса: mydigitallife и bios-mods.
Оказалось, что большая часть настроек биоса скрыта от обычного пользователя. Причина понятно — не давать пользователям ковыряться в настройках инициализации железа, дабы не создавать очереди у сервисных центров из армии любопытных «бородатых» субъектов с «кирпичами» в руках.
Первоначальное знакомство с технологией повергло меня в некоторое замешательство. Куча незнакомых мне утилит, новые термины, непонятные трактовки… Я решил не мучиться и написал на обоих ресурсах, что готов заплатить тому, кто мне поможет открыть скрытые от меня меню. Для этого было необходимо покопаться в ассемблерном коде, убрать несколько проверок, прошить патченный биос и у вас полное меню вашего биоса.
Так я прождал неделю, а заработать никто не захотел… ну или не смог.
Взяв себя в руки, я решил сам разобраться как этот биос работает и сделать патч самому. Спустя две недели и с помощью русского сообщества IXBT я написал свой первый патч к биосу моего тестового ноутбука. Скрестив пальцы на руках и с замиранием сердца я прошил свой ноутбук…
Вы помните в лохматые годы мы прошивали свои системные блоки новыми биосами для материнских плат? Тогда на экране красовалась надпись, мол ни в коем случае не выключайте компьютер до окончания прошивания? Были случаи, когда по странному стечению обстоятельств именно в тот момент отключалось электричество… В итоге получали большой не функциональный ящик. Что делалось дальше — история умалчивает.
Мой ноутбук не включился. Перебои с электричеством с батарейкой ему не страшны. Но вот я что-то сделал не правильно. Душевному расстройству не было предела. К моей большой радости оказалось, что биос имеет функцию recovery и путем нехитрых комбинаций клавиш и заранее подготовленной флешки ноутбук можно оживить.
Я пошел другим путем: пропатчил те места, которые ну ни как не могли повлиять на функционал биоса, а точнее заменил логотип. Снова прошил и снова получил кирпич. Размышляя и советуясь с опытными дельцами в этом деле мы пришли к выводу, что современные UEFI биосы имеют вторичную проверку на контрольную сумму образа прошивки. Первая проверка происходит когда вы пытаетесь прошить, а вторая когда биос запускается. Если в первом случае я также пропатчил прошивальщик, чтобы он не проверял контрольную сумму, то вторую проверку мне не преодолеть, так как она зашита в самом железе.
На данный момент имеем следующее: Можно патчить EFI биосы и не можем UEFI. Мой, конечно же, второй случай. Опять долгие поиски в интернете и натыкаюсь на статью Enable VT on InsydeH2O based Sony Vaio laptops, the EFI way.
Суть метода проста: вы загружаетесь в EFI режим с помощью специального загрузчика и получаете доступ к VSS памяти, где настройки вашего биоса и хранятся. Я протестировал что на моем ноутбуке это работает, снова открыл прекрассный дизассемблер IDA, скачал последние спецификации и в полном вооружении начал потрошить свой биос.
Успешным результатом двухнедельной работы стало выпотрошенное меню
Я успешно загрузился в загрузчик с доступом к VSS памяти, прописал нужные мне переменные и включил или выключил чего мне не хватало или мешало в моей работе.
Ну а теперь о том как это сделать вам.
Подготовка инструментария
1. Необходимо скачать PhoenixTool с этого форума, где постоянно выкладывается текущая версия. Он вам будет нужен, чтобы разложить файл прошивки на его составляющие.
2. Вам нужен perl. Если у вас есть UNIX система, то все просто, если нет, то ActivePerl или Cygwin под Windows.
3. Вам нужен последний биос от вашего производителя.
4. Любой архиватор.
Получение образа прошивки
1. Откройте архиватором exe файл вашей прошивки, найдите там файл с расширением bin или fd и распакуйте в удобное для вас место. Лучше в отдельную папку.
2. Запустите PhoenixTool и попробуйте открыть файл прошивки.
3. Если при попытке открыть вы видите такое окно
то скорее всего ваш образ от производителя зашифрован. Decrypt метод пока не придумали, но это только дело времени. Если это ваш случай, то переходите к следующему шагу, если нет, то пропускаем и переходим к пункту 8.
4. Распакуйте программу прошивания в удобную для вас папку и запустите обновление вашего биос до последней версии.
5. После того как ваш ноутбук перезагрузится, снова зайдите в эту папку и найдите там файл platform.ini
6. Откройте текстовым редактором и сделайте слеующие изменения:
Это позволит вам прошить еще раз ваш биос, но при этом будет создана резервная копия текущего биоса.
7. После перезагрузки откройте полученную резервную копию с помощью PhoenixTool
8. Через пару секунд вы должны будете увидеть окошко похожее на это:
9. Теперь можете закрыть окошко.
10. В папке, где у вас лежал образ появится папка DUMP, а в ней множество файлов. Нас интересует, который начинается на FE3542FE и имеет самый большой размер:
11. Теперь скачиваем исходный код моего
Подготовка загрузочной дискеты
1. Берем флешку, размер не важен.
2. Форматируем ее в FAT32
3. Создаем структуру каталогов EFI\Boot
4. Скачиваем BOOTX64.EFI
5. Кладем в папку Boot
6. Перегружаемся в BIOS, включаем Legacy и отключаем Secure Boot.
7. Сохраняемся и загружаемся через флешку.
8. После загрузки вы должны увидеть желтый текст на черном экране
9. К модификации настройки биоса все готово.
Изменение параметров
Для изменений используются поля VarStore и Value. Value в логе в десятичном варианте, при изменении необходимо указывать шестнадцатиричное значение.
1. Допустим вам надо изменить режим работы диска с IDE на AHCI. Кому-то это надо для хакинтошей, а кто-то купил себе твердотельный жесткий диск, а ноутбук его не видит. Ищем в лог файле что что касается сабжа и находим следующие строки:
Для того чтобы вам изменить настройку, необходимо сперва дать команду setup_var 0x39 .
Результатом данной команды будет текущее значение данной переменной. Чтобы ее изменить и поставить в AHCI, надо дать команду setup_var 0x39 0x1 . Учтите, что если у вас стоит Windows, то потребуется его переустановка, так как однажды настроенный Windows на IDE не сможет понять, что теперь ему надо работать с AHCI. Как вариант — предварительно загрузившись в безопасный режим подредактировать реестр, тогда переустанавливать ничего не придется.
2. Например вам надо запретить дискретный видеоадаптер. За этот пункт отвечает следующие строки:
Команда setup_var 0x1e6 0x0 отключит дискретный и будет работать только встроенный.
3. Хотим чтобы Numlock не включался
Команда setup_var 0x08 0x0 отключит его при загрузке.
Эпилог
Данное руководство составлено как оно есть и так как я делаю это на практике. Я не несу ответственности за испорченные материнские платы или утерянную информацию. Все что мы можете сделать — вы делаете на свой страх и риск.
Если что-то пошло не так, то первым спасательным кругом может быть извлечение батарейки биоса для стирания VSS памяти. Если не помогает, то вам нужно искать способ recovery для вашего биоса. В случае HP инструкцию можно посмотреть здесь. Для других вендоров там же, но я не искал.
Моя тема, где я нет, нет помогаю страждущим находится здесь. Благодарности от пользователей в доказательство тому, что это все работает.
И последнее, не пытайтесь отключить оборудование, которое у вас имеется или включить то, которого у вас нет, иначе сбой инициализации оборудования приведет к полном краху и невозможности восстановления материнской платы.
И самое последнее, мой вам совет: прежде чем начинать экспериментировать с оверклокингом и тюнингом биоса, проверьте, что для вашего ноутбука работает способ восстановления биоса в случае его краха. Пока таких случаев не было, но мало ли.
Невзирая на то, что BIOS является мощным средством защиты, существуют способы обхода установленного в ней пароля.
Иногда любопытные или стремящиеся максимально защитить свои данные пользователи ставят пароли на всём, на чём только можно, но нередко эти пароли ими забываются. Тяжело переносится забытие пароля на BIOS (пароль на загрузку системы), зачастую это может привести к покупке новой материнской платы, однако этого можно избежать воспользовавшись слабостями архитектуры построения ЭВМ и преднамеренно оставленными разработчиками «чёрными ходами».
Полагаю, что всем (или почти всем) обитателям Хабрахабра известно, что пароль BIOS (так же, как и иные основные настройки системы) хранится в памяти CMOS (Complimentary Matal-Oxide-Semiconductor — Комплиментарный Металло-Оксидный Полупроводник), которая требует постоянной подпитки батарейкой, установленной на материнской плате.
Отсюда и следует один из способов обхода пароля, точнее его сброса вместе со всеми настройками, хранящимися в BIOS:
Способ 1 — Метод Чубайса
так как CMOS требует постоянной подпитки для сохранения данных, то из этого следует, что убрав такую подпитку (батарейку) на некоторое время (примерно 24 часа) мы добьёмся очистки BIOS. После необходимо снова вставить батарейку на нужное место и при запуске ЭВМ указать снова задать нужные параметры вроде времени, нового пароля (если уж он так сильно необходим) и прочие нужные вам настройки.
Способ эффективный, но долгий, а время, как известно, очень ценный ресурс и пользователь, как и IT специалист не всегда обладает им. Эти особенности делают этот способ не очень практичным и скорее крайним средством, чем реальной практикой. К тому же батарейку на некоторых моделях материнских плат бывает крайне сложно извлечь без использования дополнительных инструментов, поэтому есть смысл прибегнуть к способу, который описывается в инструкциях к материнским платам:
Способ 2 — Аварийная кнопка
на большей части материнских плат существуют специальные разъёмы для очистки памяти CMOS, которые обычно они расположены в непосредственной близости от батарейки (узнать местоположение такого разъёма можно из схемы материнской платы, приведённой в инструкции к ней или на сайте компании-изготовителя). Для очистки памяти CMOS необходимо замкнуть эти разъёмы, после чего включить ПК и заново выставить настройки BIOS.
Способ 3 — Инженерный пароль
Заключается во вводе вместо забытого пароля BIOS инженерного пароля для данной системной платы:
AWARD | |
---|---|
_award | Condo |
01322222 | d8on |
589589 | HLT |
589721 | J262 |
595595 | J332 |
ALFAROME | J64 |
Ally | Lkwpeter |
ALLY | LKWPETER |
aLLy | Pint |
aPAf | PINT |
AWARD PW | SER |
AWARD SW | SKY_FOX |
AWARD_SW | SYXZ |
Awkward BIOSTAR | TTPTHA |
CONCAT | ZJAAADC |
AMI | |
---|---|
A.M.I. | CONDO |
AAAMMMIII | HEWINTT RAND |
AMI | LKWPETER |
AMI?SW | PASSWORD |
AMI_SW | SER |
BIOS |
Однако стоить помнить, что данные пароли работают только на BIOS версии 4,55G и ниже (класс системных плат до i845P чипсета).
Способ 4 — Вспомним старину
Ещё один из методов сброса пароля заключается в использовании среды DOS. Для этого необходимо загрузиться в среду DOS (чистую DOS, а не эмулированную из-под Windows) и ввести такие команды:
* AWARD и AMI BIOS:
DEBUG
-O 70 17
-O 71 17
Q
Добрый день, меня зовут Денис Генералов, я являюсь младшим системным администратором Cloud4Y. Надеюсь, что данный пост поможет коллегам, которые оказались в такой же ситуации, что и я: в купленном для компании ноутбуке система стоит в MBR (Legacy BIOS), на нём имеется пароль, а поставить необходимо в GPT (UEFI).
Данная статья носит сугубо информационный характер, не является руководством к действию. Автор не несёт ответственность за порчу вами своих девайсов.
«Что тут такого? В этом нет никакой сложности! Почему не обратиться к вендору? Почему не воззвать к мудрости Гугола?», — спросите вы, а я отвечу:
Вендор на своём официальном сайте сообщает, что для сброса пароля необходимо заменить материнскую плату (ха-ха).
Поиск в Google даёт тонны бесполезной информации с советами вытащить батарейку CMOS, зажать 2 вывода микросхемы BIOS в момент включения – CLK и Dl (IO). Кстати, этот вариант вообще неприемлем, поскольку может повлечь за собой уничтожение микросхемы, а равно и содержимого.
На формах умные (не совсем) люди советуют следующее:
Данный вариант предполагает следующее: приобрести тушку такого же ноута, пересадить оттуда микросхему BIOS.
Всё бы было хорошо, если бы эти работы проводились в 2007-2010 годах. Тогда не было скриптов автоматизированной прошивки мультиконтроллеров aka хабов (привет Intel ME и AMD PSP) при первом старте и обратной записи в BIOS данных мультиконтроллера.
Если мы воспользуемся данным советом, то получим «кирпич» либо неработающую клавиатуру, и лишь с малой долей вероятности — полностью рабочий ноут, но с неродными SN или вовсе без них.
Конечно, любой человек может попробовать восстановить свой ноутбук по советам с форумов, но это дело добровольное, как и колхоз. Мы же привыкли решать задачу красиво и как надо, а не «как проще». Чтобы упорядочить информацию по этой теме, я и решил написать данную статью.
В силу специфики нашей работы, мы закупаем профессиональные линейки HP ввиду простоты ремонта, обслуживания и диагностики, однако в штате имеется пара «боевых лошадок» Lenovo IdeaPad 110-17ACL. С них, пожалуй, мы и начнём.
«Ремонт» Lenovo IdeaPad 110-17ACL
Задача: убрать пароль супервизора из BIOS для переключения режима загрузки в UEFI
Опционально: не потерять ключи и SN от производителя.
Дано: Lenovo IdeaPad 110-17ACL у которого установлен пароль и 0 полезной информации в тынтырнетах.
Ну что, коллеги, поехали?
Разберём тушку до состояния платы. Это несложно. Нам понадобится карта (желательно банковская, с номером и тремя цифрами на обратной стороне. Можете прислать мне фото с двух сторон, я вам подскажу, подойдёт ли ваша карта), отвёртка крестовая PH 00, за неимением лучшего – программатор от наших рисовых собратьев – CH341aPro и «клешня» под Sop-8 к нему.
Приступаем к разборке. Первым делом выкручиваем все винты в нижней крышке, которые видим, а которые не видим – ищем. Должно быть 11 штук М 2,5. Переходим к клавиатуре, она держится на соплях пластмассовых креплениях внутри топкейса.
С места, обозначенного красной стрелкой, подсовываем карту и начинаем вести по стрелке, клавиатура отойдёт от топкейса. Снимаем её, не забыв отключить от платы. Видим 4 винта, воспользуемся отвёрткой и выкрутим их, вытащив привод из корпуса, а также отсоединив батарею.
Подсовываем карту в щель между топкейсом и нижней крышкой, проходимся согласно стрелкам и снимаем нижний кейс. Видим перед собой плату. Отключаем батарею CMOS (с обратной стороны платы).
Не перепутав первый контакт (там, где вытравлена точка на корпусе) подключаем клешню к WB25Q64FV, обозначенную кругом. Начинаем читать, что же там, внутри нашего BIOS.
P.S. Делайте несколько копий оригинального ROM-а.
P.S.2. Лучше не делайте это «клешнёй», а демонтируйте микросхему и считайте припаянную к программатору или к плате-переходнику. Так вы минимизируете возможные потери блоков при считывании из-за пропадающего иногда контакта.
Чтобы понять, где у нас хранится пароль, я приобрёл чистый дамп BIOS на одном из форумов (это дешевле приобретения платы, да и дамп нужен был в исследовательских целях, вам он не понадобится), и начал сравнивать их друг с другом через Fairdell HexCmp2.
Проигнорирую области, где указаны серийные номера и ключ Windows, сразу перейду к тому, с каких значений начинается то, что нас интересует больше всего – пароль.
Блоки данных, которые интересуют нас, начинаются с последовательности – 73 73 50 6F 6C 69 63 .
Находим все строки, которые содержат необходимую последовательность. Ниже её находятся строки, которые содержат значения Password (указаны на картинке), заменяем их на нули.
После этого сохраняем дамп и прошиваем его. Проверяем на запуск и радуемся, что у нас нет более пароля.
Собираем в обратном порядке, проверяем правильно подключение батареи – (белой полоской вверх, точкой вниз. Видимо, такую маркировку предпочитает Lenovo).
HP Probook, HP Elitebook
Рассмотрим линейку HP ProBook линеек 4x20-40, Elitebook (2010-2015 годы выпуска) с флеш-памятью 32 – 64 M-BIT.
Здесь всё намного прозаичнее и проще.
Как мы видим на картинке, у HP пароль зашифрован между последовательностями 66 9D C5 и AA 55 7F.
Нам нужны последовательности, которые содержать в себе следующие значения:
Программный код BIOS (Basic Input/Output System) рождается в лабораториях разработчиков.
Наиболее известные из них — фирмы Award и AMI.
Затем каждый производитель материнских плат адаптирует BIOS к конкретной модели и по своему усмотрению отключает (блокирует) определенные функции.
Причем заблокированными могут оказаться многие функции, влияющие на «тонкую» настройку BIOS, и от которых, в свою очередь, зависит производительность компьютера.
Для чего же производители материнских плат блокируют некоторые функции?
Прежде всего, это делается в целях упрощения процедуры настройки Setup BIOS.
Отключают и те функции, которые в конкретной материнской плате отсутствуют, но могут быть задействованы в следующих модификациях.
Используя специальное программное обеспечение (утилиты), можно разблокировать практически все отключенные функции и опции в BIOS.
После модификации результаты необходимо сохранить в отдельном файле и затем произвести обновление BIOS.
При загрузке Setup BIOS на экране монитора можно будет увидеть новые дополнительные возможности настройки.
Для каждой фирмы нужна своя утилита.
Обладателям Award BIOS понадобится утилита Modbin, а для тех, у кого на компьютере установлена AMI BIOS, необходимо скачать программу AMIBCP.
Интересен тот факт, что утилита AMIBCP разработана программистами самой фирмы AMI.
Практика
Прежде всего, следует подготовить необходимое программное обеспечение.
Для модификации потребуются утилита для обновления («прошивальщик»), файл с действующей версией BIOS и утилита для модификации.
Утилиту для «прошивки» можно найти в Интернете на сайте производителя материнской платы или на компакт-диске, прилагающемся к «материнке».
После чего ее необходимо скопировать на жесткий диск компьютера.
Файл, в котором размещена текущая версия BIOS, можно получить с помощью этой утилиты.
Утилиты для модификации BIOS можно скачать из Интернета.
Файл, содержащий BIOS, желательно разместить на жестком диске в одной папке вместе с утилитой для ее модификации.
Обязательно перед модификацией сделайте резервную копию файла с BIOS.
Теперь, когда все готово, можно смело загружать утилиту.
В качестве примера рассмотрим случай, когда на компьютере установлена AMI BIOS.
Что касается BIOS от Award, то принцип модификации аналогичен, и в этой статье рассматриваться не будет.
Утилита AMIBCP является DOS-программой и без проблем загружается под Windows без перезагрузки в режим эмуляции MS-DOS.
Объем AMIBCP (файл amibcp75.exe) в распакованном виде составляет 542 Кбайт.
После загрузки утилиты AMIBCP необходимо с клавиатуры ввести имя файла, содержащего BIOS, например, 7vr_f4.bin .
Далее, находясь в главном меню программы, ищем раздел «Configure Setup Data» и просматриваем по порядку все подразделы.
Особенно интересны для нас будут подразделы «Chipset Setup» и «BIOS Features Setup».
Сама модификация заключается в активации заблокированных опций.
В каждом подразделе присутствуют столбцы с заголовками «Option Name», «Active», «Rights», «Optimal» и «FailSafe».
Заблокированные опции подсвечены, напротив этих опций в столбце «Active» указано значение «No».
Клавишами Page Up и Page Down можно задействовать ту или иную заблокированную установку.
Возможны случаи, когда в столбце с заголовком «Option Name» названия опций на экране полностью отсутствуют.
В таком случае придется включать все опции подряд «вслепую».
Закончив изменения, выходят в главное меню программы AMIBCP и, нажимая на клавишу [F10], сохраняют модифицированный BIOS в файле.
После сохранения модифицированного файла применяют «прошивальщик» — утилиту для обновления BIOS.
Заключение
Ряд производителей материнских плат выпускает свои фирменные программы для обновления BIOS непосредственно в среде Windows.
К их числу относятся утилиты фирм Gigabyte, ASUS, Intel и др.
Перед прошивкой следует убедиться в том, что в Setup BIOS разрешено обновление — в разделе BIOS Features Setup параметр BIOS Flash Protection должен находиться в положении Disabled или Auto.
После «прошивания» производят перезагрузку компьютера и входят в Setup BIOS.
В практике модификации были случаи, когда в BIOS оказывались заблокированными настройки, позволяющие повышать производительность системы.
А именно: возможность изменять напряжение на шине AGP в интервале 1,5 — 1,8 В с шагом 0,1 В и на модулях памяти DDR в пределах 2,5 — 2,8 В с шагом 0,1 В, а также увеличивать на 5, 7,5 или 10% штатное напряжение на ядре процессора.
Имели место случаи, когда в BIOS были заблокированы режим S.M.A.R.T. для жестких дисков и режим Bypass Mode для оптимальной работы CPU.
Интересной оказалась и заблокированная опция в подразделе Hardware Monitor — Slow Down CPU Duty Cycle.
При переходе системы в режим Doze тактовая частота CPU уменьшается.
С помощью этой опции можно установить другое значение тактовой частоты CPU в процентах от предыдущего.
В заключение хочу напомнить: не стоит из-за полного контроля над BIOS терять голову.
И поэтому к модификации и изменению параметров следует подходить с некоторой долей осторожности и с пониманием того, что вы делаете и на что идете.
Читайте также: