Warning bios что это

Обновлено: 06.07.2024

Одно из направлений моей компании — продажа технологических решений в области виртуализации. По долгу службы, приходится делать пилотные проекты или устраивать тестовые стенды. Недавно, компания 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 инструкцию можно посмотреть здесь. Для других вендоров там же, но я не искал.

Моя тема, где я нет, нет помогаю страждущим находится здесь. Благодарности от пользователей в доказательство тому, что это все работает.

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

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

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

    инициализируются и настраиваются процессор, чипсет, оперативная пямять и видеоадаптер;
    проверяется контрольная сумма CMOS-памяти и состояние батарейки (в случае неправильной контрольной суммы CMOS-памяти настройки сбрасываются);
    тестируются процессор и оперативная память;
    инициализируются и настраиваются периферийные устройства;
    распределяются ресурсы между устройствами;
    инициализируются устройства с собственной BIOS;
    вызывается загрузчик операционной системы;




    отсутствуют - неисправен блок питания или материнская плата.
    1 короткий - ошибки отсутствуют.
    2 коротких - ошибка чётности оперативной памяти.
    3 коротких - неисправны первые 64 Кб оперативной памяти.
    4 коротких - неисправен системный таймер.
    5 коротких - неисправен процессор.
    6 коротких - неисправен контроллер клавиатуры.
    7 коротких - неисправна материнская плата.
    8 коротких - ошибка видеопамяти.
    9 коротких - неправильная контрольная сумма BIOS.
    10 коротких - ошибка записи в CMOS-память.
    11 коротких - ошибка кэш-памяти.
    1 длинный 2 коротких - неисправна видеокарта.
    1 длинный 3 коротких - неисправна видеокарта.
    2 длинный 2 коротких - ошибка контроллера гибких дисков.



    Отсутствуют - неисправен блок питания или материнская плата.
    1 короткий - отсутствие ошибок.
    Повторяющийся короткий - блок питания неисправен, ошибка оперативной памяти.
    1 длинный - ошибка оперативной пямяти.
    Повторяющийся длинный - ошибка оперативной пямяти.
    1 длинный 2 коротких - видеокарта необнаружена или ошибка видеопамяти.
    1 длинный 3 коротких - ошибка видеоадаптера или ошибка клавиатуры.
    3 длинных - ошибка контроллера клавиатуры.
    1 длинный 9 коротких - ошибка чтения BIOS или неисправен чип BIOS.
    2 коротких - критическая ошибка.




Индикаторы POST-кодов



Также, существуют POST-карты - платы расширения с цифровым индикатором, на который выводятся коды инициализации материнской платы. С помощью такого устройсва достаточно просто определить почти любую неполадку. Имея возможность определить неисправность компьютера, можно своими силами вернуть его в рабочее состояние и прилично сэкономить на ремонте.

Повсеместно распространена практика сокрытия различных функций, параметров, используемых на этапах разработки и тестирования. Вместе с тем производится и сегрегация плат на уровне БИОС. Как результат, пользователь лишается доступа к фактически прописанным и реализованным возможностям.

реклама

Естественно, пытливого юзера не может устраивать такое злодейское ограничение пользовательской свободы. В связи с чем предлагаю рассмотреть способы обхода этих искусственных препон. Рассматривать будем на примере плат Intel 100-300 чипсетов. Аспекты работы с AMIBCP общеприменимы.


MSI RTX 3070 сливают дешевле любой другой, это за копейки

Способ 1. Простой
требуется: программа AMIBCP и навык прошивки МП

Качаем подходящую версию AMIBCP. В нашем случае v5.02.

реклама

var firedYa28 = false; window.addEventListener('load', () => < if(navigator.userAgent.indexOf("Chrome-Lighthouse") < window.yaContextCb.push(()=>< Ya.Context.AdvManager.render(< renderTo: 'yandex_rtb_R-A-630193-28', blockId: 'R-A-630193-28' >) >) >, 3000); > > >);

File → Open… (файл_биос)

Слева представлено структурное меню БИОС. Сопоставляя названия с фактически наблюдаемыми при входе в БИОС, определяем главный блок.


Именно в этом блоке в соответствующих меню и подменю находятся все доступные настройки. Иерархия та же, что и в БИОС. Наряду со знакомыми наблюдаем и совершенно новые отдельные параметры и даже целые разделы!

реклама

Для открытия элемента достаточно поменять значение в колонке Access/Use на USER:


Обратите внимание, на разделы, описанные как бы наравне с главным, есть ссылки в теле главного блока. Т.е. доступ к ним получить можно. Например, по пути Setup → Advanced → System Agent (SA) Configuration → Memory Configuration большой раздел с настройками памяти.

реклама


Помимо открытия доступа к настройкам, AMIBCP позволяет изменить значения настроек по умолчанию, переименовать параметры и разделы.

Этим способом можно открыть только те настройки, которые непосредственно прописаны в главном блоке.

Способ 2. Сложный (для разделов)
то же + UEFITool, IFR-Extractor и HEX-редактор

Попытаемся разблокировать тот же раздел с настройками памяти на Gigabyte. Организация БИОС здесь другая, упоминаний нужного раздела в главном блоке нет.


Подменим доступный раздел скрытым. «Пожертвуем», к примеру, подменю USB Configuration (Setup → Peripherals).

Определились с тем, что хотим открыть, определились, что хотим закрыть. К делу!

UEFITool

Ищем модуль по сигнатуре $SPF: *Ctrl+F* → Text


Извлекаем и сохраняем модуль: *ПКМ* → Extract Body (to SPF.bin)


GUID модуля может отличаться, в этом случае вести поиск по сигнатуре Setup.

Модуль → PE32 Image Section → *ПКМ* → Extract Body (to Setup.bin)


IFR-Extractor

*открыть* → Setup.bin → Extract (to Setup IFR.txt)


Открываем Setup IFR.txt в блокноте.

Нас интересует FormId.

Теперь определим FormId раздела «Memory Configuration»:
0x3B628 Form: Memory Configuration, FormId: 0x2738

Открываем SPF.bin в HEX-редакторе.

Ищем HEX-последовательность, соответствующую FormID раздела Memory Configuration:
*Ctrl+F* → Hex Values (3827)


Нас интересует page_id через 4 позиции – 0060 (последовательность 6000)

Аналогично ищем page_id для Usb Configuration. Сразу за page_id 005D следует parent_id 0019.


Parent_id – это page_id родительского раздела, в нашем случае раздела Peripherals.

Ищем обратную последовательность parent_id+page_id (19005D00). Это форма вызова раздела USB Configuration.
Заменяем page_id USB Configuration на page_id Memory Configuration. Вместо 19005D00 получаем соответственно 19006000:


Остается только заменить исходный SPF модуль на модифицированный в UEFITool:
*ПКМ* → Replace Body…

Сохраняем: File → Save image file. Прошиваем.

Теперь вместо раздела USB Configuration будет вызываться раздел с настройками памяти.

При желании можно изменить имя раздела в AMIBCP.

Если AMIBCP не работает

С новыми материнками все чаще AMIBCP работать отказывается.


В этом случае остается лишь использовать 2 способ.

О прошивке

Существуют несколько вариаций ошибок CMOS checksum error, которые возникают редко, но, как правило, в самый неподходящий момент.

Рассмотрим решение этой проблемы на ошибке "CMOS checksum error Defaults loaded warning! Now System is in safe mode. Pleas re setting CPU frequency in the CMOS setup".

В переводе на русский язык это выглядит так «CMOS по умолчанию ошибка контрольной суммы загружалась предупреждение! Теперь система находится в безопасном режиме. Просьбы повторно установив частоту процессора в настройках CMOS».


Не будет углубляться во все тонкости и премудрости данной ошибки, так как многим пользователям ПК это просто не нужно, вопрос стоит только в одном, как решить проблему с ошибкой «CMOS checksum error».

Решение проблемы

Мы расскажем, как была решена данная проблема в нашем случае, у кого есть другие варианты, оставляйте их в комментариях.

Как это сделать система уже подсказывает.

Обнуляем BIOS

Но перед тем, как зайти в Биос, как вариант, можно попробовать сбросить выставленные в нем настройки, так как они, наверное, были частично выставлены не правильные.

Для этого необходимо вынуть батарейку памяти CMOS на 1 – 2 минуты. Как это деть показано на фото.


Заходим в BIOS


Также от многого зависит, какая перед вами возникнет картинка. Но что она должна быть с синим фоном, это 100%.

Как вариант вы можете наблюдать ниже.


Чтобы не заморачиваться и искать в этих дебрях решение своей проблемы, можно использовать горячие клавиши F5 – Previous Values (предыдущие значения), F7 – Optimized Defaults (значения по умолчанию), F6 – Fail-safe Defaults (загрузка безопасных значений по умолчанию).

Обратите внимание, что в разных BIOS значение клавиш может быть разным, поэтому правильно переводите текст.

В нашем случает помогла клавиша F5 – предыдущие значения. Вы можете попробовать и другие клавиши.

После нажатия клавиши F5, появится окно – Подтвердить выбор Y – да, N – нет. Нажимаете клавишу Y.

Чтобы сохранить все изменения и сразу выйти нажмите клавишу F10 и так же подтвердите свой выбор нажав клавишу Y.


Компьютер начнет перезагружаться и ошибки «CMOS checksum error» уже не должно возникнуть.

Если все же проблема осталась, то обратитесь к специалисту, так как эта статья предназначена для начинающего пользователя ПК, а также среднего уровня подготовки.

Читайте также: