Главная Новости

Перепрошивка слетевшего биоса - Решенные затруднения - Сделай сам - Компьютер: жизнь внутри

Опубликовано: 02.12.2018

Внимание! Есть несколько типов интерфейса (соответственно микросхем флэш):

1. Параллельные. Стоят на мамах с чипами SiS/VIA и все атлонные системы за исключением чипов nForce.

2. FWH (FirmWareHub - хабовые). Используются современными чипсетами Intel начиная с i810.

3. LPC (Low Pin Count - малоконтактные). Используются с чипсетами nForce1/2/3 и на некоторых ASUS+сотоварищи.

4. Универсальные - к примеру, FWH/LPC


Как удалить Windows XP и поставить Windows 7?

5. На новых мамах, например, Intel(R) Desktop Board D945GNT, объем биоса 4мб, но вот только уже не FWH, а SPI Serial Flash.

С тех пор, как винчих в основном побежден :) слетевший bios встречается не слишком часто, но все же бывает. Например, при переразгоне обновляется DMI (частота процессора увеличилась!), в процессе обновления машина виснет и там оказывается мусор. При этом (не всегда, но часто) мамка вообще не стартует, несмотря на целостность кода. Руки оторвать биосописателям :( Если при включении машина сразу обращается к дисководу - повезло, bootblock еще жив. Почти всегда для awardbios можно загрузиться с ДОСовской дискеты и вслепую (а в более новых версиях bootblock научился инициализировать сначала ISA, затем PCI, а теперь и AGP видеоадаптер) зашить BIOS на место. Для AMI все еще проще - достаточно положить на дискету BIOS, переименовав его в amiboot.rom, остальное он сделает сам (или нажать при включении Ctrl+Home). В домашних условиях для перепрошивки, IMHO, оправданнее hot-swap, программатор себе не каждый может позволить. Надо только заранее смириться с мыслью, что рано или поздно при этом что-то да сдохнет. Чтобы не разбивались DIP панельки и не гнулись ноги у микросхем, удобно вставить и родной, и прошиваемый BIOS в обычную 32-ногую панельку. За счет более тонких ножек она легко вставляется и вынимается. Естественно, стараться ставить микросхему так, чтобы земля (16 нога) снималась последней и подавалась первой. Особенно это важно для 12-вольтовых флешек (28F....). Если микросхема в PLCC еще и припаяна - нужен фен/горелка/электроплитка и умение паять. Если надо зашить awardflash'ем неродной BIOS (или вообще не BIOS), желательно использовать ключик /F, чтобы он не пытался использовать процедуру обновления флешки из зашиваемого. AMIflash (flash8..) в этом отношении удобнее еще и тем, что для флешек с испорченным словом идентификации (после чиха...) можно вручную указать тип. Если кто не знает, у asus (а также у разных брендов) прошивальщики свои, но AMIflash должен работать и там (он не использует процедур из BIOS, в отличие от Awardflash). При прошивке на мамке флешек в корпусе PLCC нужно вытащить родную флешку из панельки, аккуратно положить ее сверху на панельку и прижать сверху пальцем, в таком состоянии загрузить ДОС, после этого флешка легко убирается, в панельку вставляется та, которую нужно прошить, и запускается прошивальщик.

AMIBIOS8(R) обеспечивает два механизма изменения содержимого Flash ROM: Flash Update и BIOS Recovery. Если в процессе старта загрузочного блока обнаружено несовпадение контрольных сумм BIOS, это приводит к запуску процедуры восстановления (BIOS Recovery) содержимого Flash ROM. Процедура Flash Update используется для обновления BIOS и используется в сеансе операционной системы с привлечением специализированных утилит.

AMIBIOS8(R) позволяет выбрать устройство, на котором расположен носитель с образом BIOS для процедуры Recovery. По умолчанию в таком качестве используется накопитель на гибких магнитных дисках (FDD), что позволяет инициировать процесс перезаписи Flash ROM в процессе выполнения POST. Для этого в корневую директорию гибкого магнитного диска нужно записать файл BIOS с зарезервированным именем AMIBOOT.ROM и удерживать комбинацию клавиш Ctrl+Home с момента старта системной платы до момента обращения BIOS к накопителю FDD. Процесс визуализируется на мониторе в виде прогресс-индикатора, а успешное завершение сопровождается серией из четырех-девяти звуковых сигналов.

Зарезервированное имя AMIBOOT.ROM может быть изменено разработчиком платформы по своему усмотрению. Обычно, но совсем не обязательно, оно хранится по смещению 0FFB6h от начала последнего сегмента образа BIOS и на платформах ASUS, например, содержит имя системной платы.

Использование зарезервированной комбинации клавиш позволяет не только восстановить или обновить системный BIOS, но и выполнить установку параметров CMOS по умолчанию (Clear CMOS). Если в процессе перезаписи необходимо также очистить NVRAM, следует пользоваться комбинацией Ctrl+PgUp, комбинация клавиш Ctrl+PgDn позволит выполнить обновление BIOS без изменения содержимого CMOS.

В большинстве случаев для восстановления Awardbios-а нужно сделать чистую системную дискету (т.е. только файлы io.sys и command.com, иногда система должна быть Caldera DR-DOS или PC-DOS, т.е. содержащая файлы command.com, ibmbio.com, ibmdos.com) и записать на неё файл с прошивкой (bios.bin), сам прошивальщик (awdflash.exe) и autoexec.bat с соответствующей командной строкой внутри:

- для Award: "awdflash bios.bin /cd/cp/py/sn/f/r"

- для AMI: "amiflash amibios.rom /b /n /-o /-c /-d /-r /v /-i /-k /-e /-g"

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

Однако единого "стандарта" на процесс восстановления с дисковода всё же нет. Большинство "брэндовых" компов (т.е. фирменные Intel, HP/Compaq, Dell, IBM, Fujitsu, etc) могут быть оживлены дискеткой, содержимое которой можно слить с их собственного сайта (там же должно быть подробное описание).

В зависимости от современности конкретной платы/биоса (Award/AMI) на дискетке может потребоваться наличие ЛИШЬ (т.е. она, наоборот, не должна быть системной) файлов прошивальщика и прошивки или даже, вообще, только самой прошивки (когда прошивальщик встроен в биос).

Ещё один интересный момент: если вы хотите принудительно запустить бутблок (для перешивки) можно испортить CRC "вручную" - закоротив адресные линии параллельной флеши "выше" бутблочных. Например, я обычно корочу рядом расположенные A15 и A16 (pin 2 и 3). Объём бутблока = 16kB = 2^14 в результате чего он никак не пострадает, а контрольная сумма "остального", понятно, собьётся. Если вам не совсем понятно, зачем это может быть нужно, то когда столкнётесь с запаянной флэшкой, в которую залили "похожую" прошивку - поймёте. ;) И, кстати, для линий адреса это (корочение) совершенно безопасно... Я обычно замыкаю A15-A16, т.к. это удобнее. Если по любым причинам (как правило, все же, виной тому плохой контакт) это не срабатывает, тогда я не страдаю поиском барабашек, а просто корочу более старшие. Или даже все вместе. В любом случае - не сработать это не может.

Для "Хабовой" флэши последовательность действия такова: Присоединяем каким-нибудь образом проводок на удобную ножку FWH0/1/2/3 (контакты 13/14/15/17). Включаем компьютер. Отсчитываем 1-3 секунды и делаем одно корочение на корпус. Больше - бессмысленно. В результате корочения "зарано" POST зависнет. Запоздно - биос уже зашадовится и корочение проигнорируется. Если удачно - через пару секунд сработает бутблок. Включаем, отсчитываем какой-то период (перебирать периоды обычно стоит постепенно от секунды до трех - обычно именно в этом промежутке нужный нам момент распаковки). Делаем одно прерывистое корочение и ждем секунд пять. Если бутблок не сработал - делаем ресет либо выключаем-включаем. Десяток попыток на каждый интервал, думаю, вполне хватит. Хотя "стандартные" 2-2.5 секунды могут дать и результат с первого раза. У кого есть посткарточка - коротим сразу же после появления кода С3 для аварда.

rss