Bios wp что значит на материнской плате

Обновлено: 06.07.2024

К сожалению, и этот механизм защиты, поддерживаемый микросхемами SPI Flash,
реально не используется разработчиками BIOS и материнских плат. Во всех
платформах, исследованных автором, в регистре статуса Flash, бит BPL=0, то есть
защита не используется и статусный регистр доступен для перезаписи.

Примечание

Запуск операций стирания и записи содержимого микросхемы SPI Flash
выполняется в два этапа. Сначала передается команда Write Enable, затем команда,
непосредственно запускающая стирание или запись. Если заданная
последовательность операций не соблюдена, содержимое микросхемы не изменяется.
Такой механизм эффективно защищает BIOS от случайного искажения в результате
программного сбоя, однако препятствием для "вирусописателей" он не является, так
как требуемая последовательность операций описана в открытой документации на
микросхемы SPI Flash, например 7.

Меры предосторожности

При отладке предлагаемых процедур, выполняющих стирание и перезапись
содержимого микросхемы Flash ROM, неизбежно существует риск искажения BIOS с
последующим отсутствием старта материнской платы. Примеры, содержащиеся в
прилагаемом каталоге WORK, рассчитаны на специалистов, имеющих квалификацию и
оборудование для восстановления BIOS, если это потребуется. Идеальное рабочее
место для отладки предлагаемых программ – это материнская плата, в которой
микросхема BIOS установлена в "панельку", допускающую извлечение микросхемы без
использования пайки, в сочетании с программатором. Исходное содержимое
микросхемы желательно сохранить в виде двоичного файла. Заметим, что если будет
искажен BIOS Boot Block, процедуры самовосстановления, рекламируемые
производителями материнских плат, окажутся неработоспособными. Напомним, что во
время рабочего сеанса используется копия BIOS в Shadow RAM, поэтому если
содержимое микросхемы BIOS будет искажено, это проявится только при очередной
перезагрузке. Таким образом, чтобы избежать необходимости аварийного
восстановления BIOS, перед сбросом или выключением питания следует восстановить
исходное содержимое Flash ROM.

Категорически не рекомендуется проводить эксперименты на основном рабочем
компьютере, лучше собрать стенд, используя, например, старую плату, оставшуюся
после апгрейда.

Замечания по совместимости

Операции, рассматриваемые в примерах 1-3, требуют программирования
конфигурационных регистров и ресурсов платформы, реализация которых различается
в разных чипсетах. Разумеется, рассмотреть все наборы системной логики в рамках
одной статьи невозможно, поэтому автор остановился на конкретном примере:
материнская плата Gigabyte GA-965P-S3 (чипсет Intel 965, микросхема BIOS SST
25VF080B). Примеры 1-3 предназначены только для плат с указанной элементной
базой. Используя предлагаемый материал, заинтересованный читатель может
реализовать библиотеку процедур для поддержки более широкой номенклатуры
платформ.

Пример 1. Процедура чтения идентификатора и регистра статуса Flash ROM.

Как и в ранее опубликованных статьях данного цикла, в целях монопольного и
беспрепятственного взаимодействия программы с оборудованием при работе с
предлагаемым примером, автор применил "древнюю" технологию отладки под DOS.
Аргументация такого шага и рекомендации по организации рабочего места приведены
в ранее опубликованной статье "64-битный
режим под DOS: исследовательская работа № 1". Прежде чем рассматривать
процедуры стирания и записи содержимого микросхемы BIOS, рассмотрим более
простой пример – чтение идентификатора и статуса этой микросхемы.

Каталог WORK\ID_FLASH содержит следующие файлы:

ASM_TD.BAT – обеспечивает ассемблирование, линковку и запуск программы
под отладчиком. При запуске TASM и TLINK используются опции, обеспечивающие
добавление отладочной информации в EXE файл.

ASM_EXE.BAT – обеспечивает ассемблирование и линковку. Генерируется
EXE файл.

FLASH_ID.ASM – основной модуль программы.

A20.INC – Библиотека для управления и контроля состояния адресной
линии A20 с использованием выходного порта контроллера клавиатуры.

BIGREAL.INC – Библиотека поддержки режима Big Real Mode, для
использования 32-битных адресов в диапазоне 0-4 Гб. Этот режим, как и управление
адресной линией A20, необходимы для работы данной программы, так как в
рассматриваемой платформе, регистры контроллера SPI используют технологию
Memory-mapped I/O, то есть адресуются в пространстве памяти.

SPIFLASH.INC – Библиотека процедур для взаимодействия с микросхемой
BIOS, подключенной к интерфейсу SPI. Реализация контроллера SPI в различных
чипсетах отличается, данная библиотека предназначена для поддержки микросхемы
Intel ICH8, то есть "южного моста" чипсета Intel 965. Для полного понимания
работы процедур данной библиотеки, следует обратиться к документу [3].

DATASEGS.INC – Сегменты данных. Содержит сегмент переменных, сегмент
текстовых строк и сегмент стека.

Рассмотрим выполнение программы чтения идентификатора и статуса микросхемы
BIOS. Нумерация пунктов приведенного ниже алгоритма соответствует нумерации
пунктов в комментариях к исходному тексту программы. См. файл
WORK\ID_FLASH\flash_id.asm.

1) Установка адреса стека, загрузка регистров SS и SP.

3) Проверка режима работы процессора (Real или Protected). Так как данная
программа использует непосредственное взаимодействие с регистрами чипсета и
другими системными ресурсами, процессор должен быть в режиме Real Mode. Если
процессор в режиме Protected Mode, переходим к пункту 15 (завершение с ошибкой).

4) Подготовка к адресации памяти выше 1 MB. Для этого разрешаем адресную
линию A20 и включаем режим Big Real Mode, обеспечивающий использование 32-битной
адресации в реальном режиме. Это необходимо для доступа к регистрам диапазона
SPIBAR. Подробности в [3]. Если при управлении адресной линией A20 возникли
ошибки, переходим к пункту 15 (завершение с ошибкой).

5) Детектирование чипсета материнской платы, получение адреса диапазона RCBA
(Root Complex Base Address). Вначале проверяем наличие поддержки функций
PCIBIOS, затем, используя PCIBIOS, проверяем наличие "южного моста" Intel ICH8
по кодам PCI Vendor ID, PCI Device ID. Если чипсет не распознан, переходим к
пункту 14 (завершение с ошибкой). Напомним, что текущая версия программы
поддерживает платформы только с данным типом "южного моста". Считываем базовый
адрес диапазона RCBA.

6) Установка разрешения циклов записи для интерфейса SPI. Устанавливаем бит 0
в регистре BIOS_CNTL. Подробности в [3].

8) Считываем и визуализируем идентификатор микросхемы Flash ROM.
Идентификатор содержит два байта. Первый байт – Vendor ID (синоним Manufacturer
ID) идентифицирует производителя микросхемы, в нашем примере он равен BFh, этот
код присвоен фирме SST. Второй байт – тип микросхемы, для 25VF080B он равен 8Eh.
Процедура чтения идентификатора состоит из передачи микросхеме кода команды (90h
для команды Read ID) и считывания двух байт идентификатора.

9) Считываем и визуализируем регистр состояния микросхемы Flash ROM. Этот
регистр содержит один байт, его побитное описание приведено в [5]. Код команды
Read Status – 05h, количество читаемых байт – 1. В остальном, данная процедура
аналогична процедуре чтения идентификатора, описанной в пункте 8.

10) Восстанавливаем исходное значение регистра BIOS_CNTL, сохраненное перед
его перенастройкой в пункте 6.

11) Восстанавливаем исходное состояние адресной линии A20 и выключаем режим
32-битной адресации (Big Real Mode).

13) Начало последовательности, используемой для завершения программы при
ошибках. Восстанавливаем исходное значение регистра BIOS_CNTL, сохраненное перед
его перенастройкой в пункте 6. Сюда управление передается, если произошли ошибки
после перенастройки регистра BIOS_CNTL и требуется его восстановление перед
завершением программы.

14) Восстанавливаем исходное состояние адресной линии A20 и выключаем режим
32-битной адресации (Big Real Mode).

Пример 2. Процедура чтения Flash ROM.

Ассемблерный пример, выполняющий чтение содержимого микросхемы BIOS в файл,
находится в каталоге WORK\RD_FLASH. Программа выполняет
сохранение области адресного пространства FFF00000h-FFFFFFFFh в файл размером 1
Мб и фиксированным именем BIOS.BIN. Файл создается в текущем каталоге. Размер
сохраняемого блока не зависит от реального размера используемой микросхемы BIOS,
распознавание типа и размера микросхемы не реализовано в данной версии.
Поддерживаются только материнские платы с "южным мостом" Intel ICH8. Для
гарантированного включения полного объема микросхемы BIOS в адресное
пространство, программа использует установку битов FWH_F8_EN, FWH_F0_EN в
регистре FWH_DEC_EN1, чем и обусловлена ее привязка к конкретному чипсету.
Подробности в [3].

Отметим, что в большинстве платформ, для чтения содержимого SPI Flash можно
использовать "старый" метод доступа посредством окна в адресном пространстве,
это и реализовано в данном примере. А операции, требующие передачи команд
микросхеме SPI Flash (чтение идентификатора или статуса, запись, стирание) могут
быть выполнены только с использованием регистров контроллера SPI. Такой метод
использован в примерах 1 и 3.

Пример 3. Процедура стирания и перезаписи Flash ROM.

Ассемблерный пример, выполняющий стирание и перезапись микросхемы BIOS,
находится в каталоге WORK\WR_FLASH. Программа выполняет
запись содержимого файла с фиксированным именем BIOS.BIN и размером 1 Мб в
микросхему BIOS. Файл должен находиться в текущем каталоге.

Заключение

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

Вся приведенная информация получена из открытых источников, список которых
прилагается.

Источники информации

1) Intel Low Pin Count (LPC) Interface Specification. Revision 1.1. Document
Number 251289-001.
2) Intel P965 Express Chipset Family Datasheet – For the Intel 82P965 Memory
Controller Hub (MCH). Document Number: 313053-001.
3) Intel I/O Controller Hub 8 (ICH8) Family Datasheet – For the Intel 82801HB
ICH8 and 82801HR ICH8R I/O Controller Hubs. Document Number: 313056-001.

4) 1 Mbit SPI Serial Flash SST25VF010 Data Sheet. Document Number:
S71233-01-000.
5) 8 Mbit SPI Serial Flash SST25VF080B Data Sheet. Document Number:
S71296-01-000.

6) W25X10A, W25X20A, W25X40A, W25X80A 1M-bit, 2M-bit, 4M-bit and 8M-bit
Serial Flash Memory with 4KB sectors and dual output SPI Data Sheet.

7) MX25L802 8M-bit [8Mx1] CMOS Serial Flash EEPROM Data Sheet.

8) SPI EEPROM Interface Specification. Part Number 223-0017-004 Revision H.


ImmortPol



Просмотр профиля


.



Просмотр профиля
Во-первых, Вы BIOS обновляли в Windows, что не рекомендуется обычно? Во-вторых, под обнулением BIOS очевидно имеется ввиду сборс CMOS BIOS или Вы что-то новенько изобрели, после обнуления джампер CLR_CMOS не забыли вернуть в исходное положение? В-третьих, джампер BIOS_WP был в положении, разрешающем запись?Тепереь более важное: материнку осмотрите, всё-таки не первой свежести, конденсаторы могли вспухнуть (затруднённый первый старт говорит об этом), или покажите здесь фото. Попробуйте другую память, предварительно проверив её работоспособность. Самое главное, напишите, что за БП используете (модель, срок эксплуатации), рекомендую проверить с другим БП, проверенным.
Попробуйте запустить аварийное восстановление BIOS.


ImmortPol



Просмотр профиля

да, через Винду. ну вот экспериментатор я, любопытно же.
Да, сброс CMOS BIOS (наверное неправильно выразился)
материнку осматривал внимательно вспухших кондеров не увидел, повреждений явных тоже. пыль сдул.
фото пока не могу сделать, т.к. нету фотоаппарата.
память уже стоит хорошая, правильная, проверенная, рабочая (она в рабочем компе стоит)
БП 350 Вт, PowerMan, в нем я тоже уверен, т.к. он у меня 2 года работал (и сейчас работает) в другом компе (конфиг помощнее даже).
подскажите как запустить аварийное восстановление?

P.S. не думал что сегодня ночью кто-то мне будет отвечать ) спасибо.


.



Просмотр профиля Обычно аварийное восстановление запускается, если Boot Block целый, а тело BIOS битое, тогда процедура восстановления обращается к флоповоду или оптическому приводу, если туда вставить носитель с образом BIOS (файл нужно правильно назвать), то запуститься флешинг. Для начала можно попробовать комплектный диск от материнки.


ImmortPol



Просмотр профиля ну, диск от мамки отсутствует, как и флоп.
ок, попробую инет почитать как и что делать для аварийного восстановления.


.



Просмотр профиля На ESC для запуска аварийного восстановления BIOS надо зажать кнопки Ctrl+Home, в оптический привод вставить диск, содержащий образ BIOS, файл должен называться AMIBOOT.ROM
Главное, дождитесь оконачния флешинга, будет серия звуковых сигналов (бипер подключить надо).


ImmortPol



Просмотр профиля да, как раз читаю )
про Ctrl+Home не нашел. спасибо, буду пробовать.


ImmortPol



Просмотр профиля спасибо за помощь. ничего не получилось. плюнул, т.к. выходные заканчиваются )


.



Просмотр профиля Повреждённый BIOS можно восстановить прошив микросхему хот-свопом, только нужна другая материнка, на которой будем флешить. Ну если в сервис, это типовая операция.


ImmortPol



Просмотр профиля

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


BOOTZERO



Просмотр профиля

Есть старенькая мать ga-7n400 (award)
симптомы - черный экран, обращение к винту,спикер молчит
при отключении винта не мигает индикатор (вроде видит IDE)
не завелась после поднятия в биосе AGP с 66мгц до 70
похоже на слет биос
bootblock вроде жив
Clear CMOS делал
вариантов с дискетой или CD на этой матери нет

ВОПРОС кто-то лично востанавливал подобные платы спомощью
создания образа биос в HPA и правки последнего сектора
очень интересуют результаты в идеале снимок HPA с рабочей платы(винт)
дальнейшими результатами обещаю поделиться

плата нужна для работы буду востанавливать в любом случае


.



Просмотр профиля Если есть точно такая же материнка, и неразмеченный НЖМД, то алгоритм прост: подключаете к материнке винт, запускаете машину, дожидаетесь, пока материнка не попытается загрузиться с этого НЖМД, после чего отсоединяете винт и подключаете к реанимируемой плате. Процесс можно контролировать, например, при включении рабочей материнки с подключенным НЖМД загружаетесь в DOS с оптического диска или флешки (например, имея сборник утилит HBCD), запускаете MHDD/Victoria, сбрасываете HPA (если видите, что установлено), после чего перезагружаетесь и если видите, что HPA снова поднялся, то значит в той области материнка зарезервировала свой BIOS. Теперь этот НЖМД можно подсунуть реанимируемой. Примечание: НЖМД лучше использовать небольшой емкости, до 128 Гб, чтобы не заиметь проблем. Дело в том, что для установки и снятия HPA для НЖМД до 128 Гб и более емких используются разные команды, и применение неверной может привести к непредсказуемым последствиям (например, очень часто винт обрезается до 32 Мб, а вот сохраняется ли в HPA образ BIOS и можно ли его потом считать - неизвестно).
Можно ещё попробовать восстановить BIOS, поместив в корневой каталог единственного основного раздела (FAT32) на винте файлик с образом BIOS, переименовав его в 7n400.bin Примечание: лучше подключить PCI видеокарту, чтобы визуально наблюдать, AGP видео не инициализируется BIOS_BB.
Ну и прошивка хот-свопом на рабочей материнке (не обязательно точно такой же, главное, чтобы м/с флеш-памяти поддерживала).


magon



Просмотр профиля Есть старенькая мать ga-7n400 (award)
симптомы - черный экран, обращение к винту,спикер молчит
при отключении винта не мигает индикатор (вроде видит IDE)
не завелась после поднятия в биосе AGP с 66мгц до 70
похоже на слет биос
bootblock вроде жив
Clear CMOS делал

Что-то меня терзают смутные сомненья.
Больше похоже на то, что Clear CMOS не произошол
Попробуйте еще раз:
- выдернуть Блок Питания из розетки
-на всякий случай вытащить батарейку из материнки
- поставить джампер сброса в положение "Clear CMOS"

через минуту вернуть все назад в обратном порядке

убедитесь, что джамперы частоты шины (если есть) установлены в соответствии со штатной частотой процессора


BOOTZERO



Просмотр профиля

ЕХ-ХЕ-ХЕ так если бы была такаяже материнка.
если бы кто бросил образ hpa хоть с подобной матери
идею я всю изучил - что куда кидать знаю но чет не катит
уж очень рознятся последние сектора в интернете
некоторые просто прописывают по смещению 100h
6А61BG0F(ЭТО МОЯ)
если кому не в лом загляните в HPA (пользуюсь dalas 2.0.0(работает под виндой) может понадобиться щелкать
несколько раз подряд после ошибки ) не забудьте сначала записать номер сектора (первый пункт информация об устройстве там две строки меньший это который сейчас)
потом winhex -> иконка открыть диск (посредине вверху)
по диску в самый низ (там примерно 2.5 метра HPA) выделяе пр кл end adres вверх метра на 3 пр кл first adres
сохранить в файл
ВОТ МНЕ БЫ ИХ С ПОДОБНОЙ МАТЕРИ
перезагруз dalas вост HPA сектор который запомнили вначале перезагруз

СПАСИБО ЗА УЧАСТИЕ


.



Просмотр профиля


В данной заметке я напишу как обнулить (очистить) биос. Статья предназначена для новичков.

Итак, по каким-либо причинам нам надо обнулить (очистить) биос. Или же, как иногда говорят - сделать "клеар кмос" (clear_cmos).

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

Обычно они отмечены надписью "clr_cmos" (clear_cmos).

Они могут располагаться как на самой плате спереди:



Так и сзади материнской платы могут располагаться:



А иногда и вовсе без надписи:


[Инструкция о том, как с помощью этой "быстрой кнопки обнуления" очистить биос, будет в конце заметки].

Но на обычных материнках (которых

99% от общего числа) таких "удобств" нет. Но и повода огорчаться нет - на абсолютно каждой матплате есть трехконтактный разъем. Этот разъем как раз и прежназначен для очистки биос (кмос).

Они могут выглядеть вот так:




Как вы могли заметить на всех трех фотках, на трехконтактный разъем установлен двухконтактный джампер (или - перемычка). Джампер может замыкать только два контакта их трех. Для всех материнок (и хардов, кстати) эти джамперы абсолютно стандартны - идентичны, то бишь.

Вот так выглядит джампер (перемычка):


Их можно найти как на самой материнке - в коробке или же на самой материнке, где она уже установлена на трехконтактном разъеме в положении 1-2 (как вы могли заметить на трех фотках сверху). Вот как на фотке снизу:


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

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

В данном конкретном случае мы рассмотрим матплату MSI P67A-C43.

Она выглядит вот так:


На современных платах трехконтактый разъем для очистки кмос обозначен надписью "JBAT1" (надо полагать - Jumper Battery 1). Ищем ее:


Нашли ее. Что надо сделать?

1. Заранее выключить компьютер.

2. Кнопку на блоке питания (БП) перевести в положение "0".

3. Выдернуть из "задницы" БП 3-контактную вилку шнура электропитания.

4. Выждать затем секунд этак 15 и затем взять джампер и перемкнуть штырьки 2-3. Фотка снизу:


Если же джампер уже находится в положении 1-2, то следует перевести перемычку из положения 1-2 в положение 2-3. Фотка снизу:


5. Переждать секунд 5. Затем джампер возвращаем обратно в исходное положение 1-2. Даже если джампера не было - все равно пусть остается в положении 1-2.

Это нормально, поскольку положение 1-2 для перемычки - является стандартным/номинальным рабочим.

Ни в коем случае не оставяляйте джампер в положении 2-3! Это чревато неприятными последствиями для работоспособности матплаты!

6. После того, как установили перемычку в положении 1-2, можно включать компьютер. Биос как говорится "девственно чист".

П.С. Теперь о том, как обнулить биос с помощью "быстрой кнопки".

Проделываем те же действия, что указаны выше, но вместо "танцев с джамперами" просто нажимаем кнопку.

ВНИМАНИЕ. При включенном компе нажимать кнопку "clr_cmos" строго не рекомендуется, ибо чревато :)


Как мы уже говорили, чипсет nForce3 250 имеет встроенную поддержку протокола SerialATA. Два соответствующих разъема установлены около слота AGP.


Это место рекомендовано nVidia в ее референс-дизайне, и мы уже видели подобное техническое решение на плате Epox 8KDA3+ и некоторых других.

Еще два канала SerialATA реализованы с помощью чипа Sil3512, производства Silicon Image.


Кроме SerialATA, плата Gigabyte K8NSNXP имеет на борту двухканальный ParallellATARAID контроллер ITE IT8212F GigaRAID с возможностью подключения до 4 жестких дисков и объединение их в RAID массив уровня 0, 1, 0+1.


Далее - на плате установлено два сетевых контроллера. Первый это физический интерфейс встроенного в чипсет LAN-контроллера (чип ICS1883).


Второй - высокоскоростной (Gigabit Ethernet) LAN контроллер 88E8001 производства компании Marvell. В результате на задней панели появилось два разъема RJ-45.


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


Это чипы TSB82AA2 и TSB81BA3, производства Texas Instruments. В результате плата не только поддерживает три порта IEEE1394, но и позволяет подключать устройства со скоростью передачи до 800 Мбит в секунду!

А вот для поддержки последовательной шины USB 2.0, были задействованы возможности чипсета nForce3 250. В результате плата поддерживает 8 портов, четыре из которых расположены на задней панели, а еще четыре подключаются с помощью брекетов (есть в комплекте).

И последнее на чем мы остановимся - это встроенный звук. В качестве кодека используется чип ALC850, который поддерживает выход на 8 каналов.


Задняя панель платы имеет практически симметричную компоновку.


Из стандартных портов отсутствует только GAME порт, который можно подключить при помощи брекета (нет в комплекте).



Коннекторы (слева направо): Game-порт, ИК-порт, INFO_LINK(?), CI, Firewire1

Вызывает интерес коннектор INFO_LINK, который предназначен для подключения неких внешних устройств с дополнительными функциями (именно так и написано в руководстве пользователя :). А вот что это за устройства - в руководстве не сказано.

Между этим разъемом и слотом PCI5 находится коннектор CI, к которому можно подключить датчик вскрытия корпуса.

Традиционная схема джамперов на плате:

На плате Gigabyte K8NSNXP установлена единственная перемычка, которая предназначена для сброса настроек CMOS. Я даже не поверил своим глазам - неужели инженеры Gigabyte признали необходимость этой функции? Итак, перемычка CLR_CMOS находится рядом с батарейкой. Кроме нее мы нашли еще несколько перемычек предусмотренные дизайном, но не установленные на плату. Это BIOS_WP (WriteProtect) - которая предназначается для запрета прошивки биоса и CLR_PWD, которая предназначена для сброса пароля на вход в биосзагрузку системы. Описание этих перемычек приведено в специальной таблице, которая расположена под FDD разьемом.

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