Возможности flash bios shadow bios selectable boot edd bbs что это
Необходимость прошивки BIOS
Заниматься перепрошивкой BIOS следует только в случае явных проблем с оборудованием компьютера. Замена версии BIOS на более новую, как правило, повышает совместимость различных новых устройств между собой и, соответственно, стабильность работы компьютера в целом. В любом случае, необходимо сначала ознакомиться со списком изменений в новой версии BIOS и определиться с их необходимостью для вашего компьютера.
Внимание
В случае неверных действий пользователя или каких-либо, не зависящих от него внешних воздействий,процедура прошивки может привести к выходу оборудования из строя. Причем это будет не гарантийный случай. Т.е. пользователь должен помнить, что прошивка БИОС - это всегда риск. Для успешной прошивки Вы должны выполнить пять условий:
1) Процедура прошивки не должна быть прервана. Т.е. необходимо обеспечить стабильное питание системы, не выключать ее. Если есть возможность, подключить ее через UPS.
2) Каждая версия БИОС уникальна и предназначена только для определенной материнской платы. Убедитесь, что скачанный Вами файл не битый.
3) Используйте свежие версии утилит для обновления БИОС. Убедитесь, что данная утилита поддерживает Вашу плату
4) Система должна быть максимально стабильной. Настройки БИОС сбросить в default, выставить штатные частоты шины, памяти (никакого разгона)
5) На старых системных платах установить соответствующую перемычку, либо параметр БИОС, разрешающий прошивку(если таковые имеются)
Общий адрес для разных версий ASUSUpdate :
ftp://ftp.asus.com.tw/pub/ASUS/mb/flash/
качайте - файл *.ZIP с номером версии вместо "звездочки"
Данная утилита имеет графический дружественный интерфейс. Крайне не рекомендуется обновлять БИОС через Интернет - необходимо предварительно скачать файл, а затем уже обновлять
4)Утилита CrashFreeBios2. Данной утилитой вы можете воспользоваться, если ваша система не подает признаков жизни черный экран). Поддерживает ли Ваша плата эту функцию можно уточнить здесь:
-Вставляете диск поддержки материнской платы в CD-Rom
-Включаете компьютер, ждете минуты 3-4
-Когда восстановление БИОС будет закончено, вы услышите звуковой сигнал. Ни в коем случае не прерывайте процедуру прошивки.
Одно из направлений моей компании — продажа технологических решений в области виртуализации. По долгу службы, приходится делать пилотные проекты или устраивать тестовые стенды. Недавно, компания 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 инструкцию можно посмотреть здесь. Для других вендоров там же, но я не искал.
Моя тема, где я нет, нет помогаю страждущим находится здесь. Благодарности от пользователей в доказательство тому, что это все работает.
И последнее, не пытайтесь отключить оборудование, которое у вас имеется или включить то, которого у вас нет, иначе сбой инициализации оборудования приведет к полном краху и невозможности восстановления материнской платы.
И самое последнее, мой вам совет: прежде чем начинать экспериментировать с оверклокингом и тюнингом биоса, проверьте, что для вашего ноутбука работает способ восстановления биоса в случае его краха. Пока таких случаев не было, но мало ли.
И в статье на хабре и в другим местах интернета единственным упоминаемым способом получения дампа расшифрованного (если он не зашифрован на сайте производителя то и проблемы нет) биоса для последующей распаковки и парсинга меню является модификация файла platform.ini в папке прошивальшика.
К сожалению на моем ноутбуке (и практически уверен что и на всех остальных новых моделях от HP) этот способ уже не работает — подозреваю что биос закрыли для чтения даже для собственного прошивальшика во избежание проблем в будущем. Все попытки изменения .ini файла и запуска прошивальника приводят к одному результату (что на оригинальной x64 Win 8, что из под PE x32/x64 дистрибутивов, т.е. проблема не в системе) — ошибке «IHSI: flash read error in SMI!» (для гугла). Кстати не пугайтесь, увидев такое перезагрузить ноутбук вы сможете только отключив питание и достав батарейку:
Но, что важно, сама прошивка BIOS-а происходит (обычно) при этом не напрямую, а с использованием UEFI — т.е. прошивальшик передает образ BIOS UEFI утилите (как оказалось уже расшифрованный), и нам осталось лишь найти где он хранится. Возможно вы уже обращали внимание на несколько небольших дополнительных скрытых разделов на основном HDD/SSD (и это помимо довольно крупного (24 GB, с исходником win8) видимого Recovery раздела), в моем случае они типа Recovery Partition (400mb) и EFI System Partition (260mb, он то нам и нужен). Вот только беда — стандартным Disk Management вы этим разделам буквы не назначите — на то они и системные, впрочем гугл и командная строка нас как обычно спасают (выполнять обязательно из под аккаунта администратора, и лучше сразу из файлового менеджера, например незабвенного FAR):
После этого открываем диск X:, и ищем что-нибудь похожее на BIOS. В моем случае все оказалось довольно прозаично и в папке X:\EFI\HP\BIOS нашлось три под-папки Current, New и Previous с искомым содержимым (01966.bin магический образованный прошивальшиком из 01966.fd). Дальше — все как в статье, распаковываем, парсим, и т.д.
Напоследок замечу что в отличии от чтения прошивальшик не потерял возможность писать BIOS и напрямую даже из под Win8 x64. Узнал я об этом правда печальным способом, пытаясь прошить файлик из оригинального комплекта, но под другую платформу. Надо отдать должное HP — восстановление правильного биоса произошло в течении минуты (мне хватило поседеть ещё +1%) в полностью автоматическом режиме, правда одно последствие осталось — Win8 перестала загружаться в Secure Boot режиме.
Проблема 2: Некорректная работа grub-шелла (зависание после выполнения setup_var)
Узнав заветные адреса переменных которые вам нужно поменять, скопировав grub-шелл на флешку и удачно запустив его (все описано в статье) вы можете столкнутся с ещё одной проблемой — каждое выполнение setup_var (неважно на чтение или запись) будет приводить к зависанию ноутбука (в моем случае лечилось только извлечением батарейки). Причина была найдена только путем анализа исходника патча для добавления комманды setup_var в grub — банальный buffer oveflow. Автор писал утилиту под себя (свой лэптоп), и не рассчитывал что переменная Setup может иметь размер больше чем 0x2bc (а она читается целиком в память, и в моем случае составляла например 0x4ae байт). Можно сказать что всем удачно использовавшим утилиту на протяжении 4 лет довольно сильно повезло — с таким багом можно было получить намного больше проблем (например запись мусора в CMOS) чем просто зависание ноутбука.
Для тех кому «ехать» (т.е. справится с проблемой): качаем пересобранную BootX64.EFI, кладем как обычно в EFI\boot\, используем команду setup_var как и в оригинальной версии. Для упорных бонус-трэк: дополнительная команда setup_var2 (меняет значение не только в переменной Setup, но и в переменной Custom, зачем чуть ниже) и lsefivar (выводит список всех доступных переменных, приостанавливать вывод можно break-ом).
Наличие этих двух дополнительных команд объясняется просто: сражаясь с непокорным биосом я обнаружил наличие дополнительной переменной Custom с таким-же GUID и размером как и переменная Setup. Т.к. в тот момент мне не удавалось изменить значение одной опции (подробнее в третей части) — то была надежда чего-то достичь поменяв его в переменной Custom. Успехом эти усилия не увенчались, а команды пусть будут, на память.
Не пугайтесь размеру .EFI образа (2.5mb) — мне было лениво выбирать необходимые модули grub, поэтому они там все — отсюда и размер.
- Качаем исходники свежего grub2 (trunk на тот момент не собирался, я использовал grub-2.00+20130519).
- Применяем мой патч или фиксим и адаптируем авторский (смешно, но лично я около часа времени убил на проблему с grub: incompatible license, и даже гугл не помог — решается добавлением GRUB_MOD_LICENSE(«GPLv3+»); в исходник).
- Собираем EFI образ grub. Подробно описано здесь. Единственное замечание по grub-mkimage, правильная строчка (если включать все модули):
Только учитываете что в дамп переменной добавляется заголовок переменной длины, для Setup смещение относительно индексов из меню и команды setup_var составляет 0x28).
Хочется добавить что BIOS на моем ноутбуке позволяет загружать не только файл BootX64.EFI из папки EFI\boot, но и любой .EFI файл из любой папки почти любого носителя (опция Boot from EFI file, спасибо HP). В принципе ту же функциональность можно получить использованием UEFI шелла и загрузкой остальных EFI приложений из него, но тем не менее.
Проблема 3: Невозможность изменить некоторые настройки
В процессе ваших попыток изменения скрытых настроек BIOS вы можете столкнутся с тем что самые необходимые вам настройки не будут менятся, возвращаясь в исходное состояние после перезагрузки (переинициализации BIOS). К сожалению вендоры могут добавлять в биос свой код, который будет проверять наличие оборудования, серийный номер, или ещё какие-либо параметры и в зависимости от этого автоматически восстанавливать настройки на исходные значения. Причем сделано это будет не назло нам (спрятаных из BIOS меню хватает для защиты от дурака), а просто для того чтобы использовать одну и ту же платформу и один и тот же BIOS для разных конфигураций ноутбуков. И если вы пытаетесь поменять эти настройки только для того чтобы выяснить сможет лишь ваш ноутбук работать с новым железом (скажем mSATA модуль) — то тогда возможно стоит рискнуть, купить и установить его. Возможно вам повезет и магические настройки сами появятся или изменятся, как по щучьему велению.
Чтобы не быть голословным приведу свою историю: в моем случае такой злаполучной опцией стало 0x39 — HDC Configure As IDE / AHCI / RAID, которую никакими усилиями не удавалось поменять на значение 0x2 (RAID). Нужно мне это было только по одной причине — чтобы добавив в ноутбук mSATA SSD модуль подключить его в качестве кэша в виде Intel SRT. При этом наличие mSATA разъема ни в спецификациях ни в сервисном мануале вообще не описано, лишь на одной сильно размытой картинке из манула есть что-то похожее, но чтобы к нему добраться нужно наполовину разобрать шасси (а не просто снять заднею крышку). Теперь вы наверное понимаете мои сомнения — нужно покупать не копеечный SSD (был выбран кстати Toshiba 128GB — THNSNH128GMCT, радующий тестами, и в последствии разбитый как 1/2 iSRT, 1/4 over provisioning, 1/6 volume), разбирать наполовину ноутбук (купленный фирмой неделю назад, т.е. почти наверняка теряя гарантию), и даже если повезет с разъемом, то не факт что когда-нибудь удастся включить опцию RAID в BIOS. Надежду давало лишь то, что в США HP позволяет выбирать конфигурацию таких ноутбуков (при этом все они используют один и тот же биос), в том числе и добавляя 24gb или 32gb SSD Cache, правда при этом ограничивая максимальный обьем памяти 8gb (зачем?). Результат сомнений ниже (разъем в зеленой рамке):
Производитель (HP) не подвел, первое включение и магическая опция сразу обнаруживается на месте, там где её ещё несколько минут назад не было (т.е. несколько дней неторопливой возни c setup_var на смарку):
Напоследок хочу ещё заметить радостное — в отличии от всех описаний в интернете, Windows 8 вообще не заметила изменение AHCI режима на RAID, лишь в Device manager контроллер поменял название с SATA AHCI Controller на SATA RAID Controller. Заслуга это GPT, самой Windows 8, или Intel — не знаю, и не очень задаюсь этим вопросом — просто наслаждаюсь преобразившейся (без какого либо геморроя) скоростью работы системы.
Disclaimer. Всю информацию из статьи вы используете на свой страх и риск. Проверьте, пожалуйста, что у вас есть средства восстановления BIOS и его настроек до того как будете проводить какие либо эксперименты.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Необходимо обновить браузер или попробовать использовать другой.
Почти все, что вы хотели знать о Flash BIOS: Часть 1
- Зачем и о чем эта статья
- Начальные сведения
- Оружие Win95.CIH
- что такое флэш, принципы работы и строения флэш, как программно работать с флэш;
- вопрос «можно ли сделать запись в флэш для защиты программ?»;
- FLAGS=0002h и биты VM и RF его расширения обнуляются;
- В регистре CR0 обнуляются биты PG, TS, EM, MP и PE;
- CS =F000h;
- EIP=0000FFFF0h;
- DS=ES=SS=FS=GS=0000h;
- Регистр DX содержит информацию о типе процессора.
- sectored – флэш память с секторной структурой. Например, микросхема INTEL 28F001BX-T/12V (128 Кb) имеет 4 сектора: 1-main 112 Kb, 2 сектора по 4 Kb (данные PnP) и bootblock размером в 8 Kb.
- Paged – флэши со страничной структурой. Вся память микросхемы представлена в виде одной страницы.
- BULK-ERASE – как п.2, только для перезаписи требуется послать команду предварительной очистки страницы.
- SMALL SECTORS – флэш память с ячеистой структурой. Пример SST 28x040 series (5V/3V/2.7V) (512 Kb) имеет 1024 сектора размером по 128 байт.
- BULK-ERASE, NEEDS BLANKING – как п.3, только требуется еще и blanking команда. Часто используется в старых чипах.
- Сам исходный код процедуры записи BIOS был сознательно изменен при публикации по понятным причинам или попросту неправильно перепечатан. Да и вообще, по моему глубокому убеждению, доступный исходник лишь отражает основные идеи работы вируса, а не является полноценным работоспособным кодом. В конце концов, это и понятно: как вирус затирает BIOS не так интересно, вся красота кода не в этом.
- Возможно, что я сам ошибаюсь ввиду того, что обладаю не всей информацией. Техническая документация по этой теме весьма скупа и крайне специализирована.
Конфигурация компа:
Системная плата:
Тип ЦП DualCore Intel Core 2 Duo E6750, 2666 MHz (8 x 333)
Системная плата Asus P5P41T LE (3 PCI, 2 PCI-E x1, 1 PCI-E x16, 2 DDR3 DIMM, Audio, Gigabit LAN)
Чипсет системной платы Intel Eaglelake G41
Системная память 3584 МБ (DDR3-1333 DDR3 SDRAM)
Свойства системной платы:
Производитель ASUSTeK Computer INC.
Продукт P5P41T-LE
Версия Rev X.0x
Серийный номер 108290320001073
Тег имущества To Be Filled By O.E.M.
Свойства BIOS:
Производитель American Megatrends Inc.
Версия 0503
Дата выпуска 07/19/2010
Размер 1 МБ
Версия BIOS системы 8.14
Загрузочные устройства Floppy Disk, Hard Disk, CD-ROM, ATAPI ZIP, LS-120
Возможности Flash BIOS, Shadow BIOS, Selectable Boot, EDD, BBS
Поддерживаемые стандарты DMI, APM, ACPI, ESCD, PnP
Возможности расширения ISA, PCI, USB
Виртуальная машина Нет
[ Процессоры / Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz ]
Свойства процессора:
Производитель Intel
Версия Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz
Серийный номер To Be Filled By O.E.M.
Тег имущества To Be Filled By O.E.M.
Шифр компонента To Be Filled By O.E.M.
Внешняя частота 333 МГц
Максимальная частота 3800 МГц
Текущая частота 2666 МГц
Тип Central Processor
Напряжение питания 1.3 V
Статус Разрешено
Тип разъёма LGA775
HTT / CMP 1 / 2
Возможности 64-bit
Если все работает, не трогай. Производительность если и увеличится, то ты этого не заметишь, а проблем может появиться много.
RBek 999 Просветленный (26951)
RBek 999 Просветленный (26951)
без надобности биос вообще трогать не надо-можно комп в кирпич превратить. обновлять стоит, -и надо-если, скажем проц новый ставишь, а версия биос его не поддерживает. тогда-да, надо. а если всё работает-лучше и быстрее не будет
Читайте также: