INT 21h

Hi, I am Vladimir Smagin, SysAdmin and Kaptain. Telegram Email / GIT / RSS / GPG

Как я запорол BIOS и как его восстановил

№ 3827 В разделе Sysadmin от November 6th, 2011,

Убить BIOS очень легко. Достаточно его криво прошить. Это происходит по-разному:

  • может электричество отключиться;
  • может юзер машину резетнуть;
  • закачана неправильная прошивка.

Последнее со мной и произошло. Причем закачал ее так, что даже монитор не включался при включении компьютера. Да, знаю, иногда у меня руки из жопы растут, но все же в большинстве случаев исправляю свои косяки. Так что же пошло не так? Есть такая штука под названием Coreboot. Он заменяет ваш BIOS на Linux ядро, позволяя компьютеру загружаться с нуля в считанные секунды. Но ядро собрал я совсем неправильно. Вот и получилась такая неприятная запарка.

Первые 30 минут я думал, что убил материнку навсегда и нужно искать новый чип BIOS или просто апгрейднуть компьютер. Последнее было самым неприятным, т.к. производительность текущего компьютера меня удовлетворяет полностью (мамка A8V Deluxe, процессор Athlon XP 3000+, ОЗУ 2 Гб и несколько килограммов винчестеров). После неудачных попыток хоть как-то достучаться до любой программы (даже спасительный BOOTBLOCK не работал) я начал думать об альтернативах. Первая альтернатива это собрать программатор для этих чипов и без софта и какой-либо информации попробовать залить туда прошивку. Вторая альтернатива не менее сумашедшая – переставить чип BIOS в материнскую плату с таким же сокетом (кстати, мне очень повезло. Мне охеренно повезло! Чип BIOS был неприпаянным к плате в PLCC сокете) и прошить.

После нескольких часов спрашивания везде где только можно есть ли у кого модель моей материнки, чтобы использовать ее для прошки BIOS, я принялся искать похожие материнские платы, перерывая горы хлама в кладовке и на балконе. И блин нашлась же! Это была материнская плата от Elitegroup с AMI BIOS в такой же PLCC кроватке. Вот на этом моменте есть одна хитрость. Дело в том, что BIOS читается только 1 раз при загрузке компьютера, поэтому после загрузки он уже не нужен. Опять же в своих завалах с трудом отыскал рабочий дисковод, подключил его и загрузил DOS.

Сразу после загрузки аккуратно переставил чип BIOS с материнки ASUS на Elitegroup (хехе, их чипсеты даже общего ничего не имеют 🙂 ). Компьютер все еще должен быть загружен и работать. Я просто нагорячку переставил чип.

А теперь самый сок! Обычный AFUDOS просто так не прошьёт вам BIOS (я прямо обиделся на него, когда он это сообщил). Вам нужен особый AFUDOS для инженеров. Скачать его можно прямо у меня AFUDOS229ES. Он позволит прошить любую прошивку в любой чип. Далее все просто:

afudos /asus.rom /pbnc /n

Теперь просто ждем пока он закончит прошивку и посоветует перезагрузить компьютер.

Можно компьютер выключать и переставлять чип BIOS обратно в материнскую плату ASUS.

Теперь достаточно замкнуть перемычки сброса CMOS и наслаждаться своим компьютером дальше. Правда я и тут накосячил 🙂

Сначала я удивился какого лешего нету настроек RAID контроллера и прочих нужных и просто приятных штук. Я за годы совсем забыл, что модель моей материнской платы не просто A8V, а A8V Deluxe. Когда я увидел фотографии обоих материнок меня осенило 🙂 Переставлять чип я уже не хотел, т.к. компьютер уже вполне загружался (хоть и не все устройства виделись без загрузки ОС), поэтому сделал загрузочную флешку Ubuntu с которой хотел прошить BIOS заново. Для этого была нужна программа flashrom и необходимая для нее библиотека libftdi1 (если у вас после загрузки не включился интернет, просто закачайте эти файлы заранее на загрузочную флешку с другого компьютера. оба файла есть в репозитории Ubuntu и легко находятся через Google). Также рядом я положил уже совсем правильную прошивку и загрузил Live USB c Ubuntu. Прямо там я уже поставил нужные мне пакеты, распаковал прошивку и прошил BIOS командой

flashrom -w ./asus_a8v_deluxe.rom

После перезагрузки мой BIOS был уже действительно правильным и даже обновился до последней версии 🙂

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

Спасибо моей любимой жене за то, что терпела меня все 12 часов с вечера и до утра пока я возился с этим барахлом 🙂

3 комментариев »

3 responses to “Как я запорол BIOS и как его восстановил”

  1. Alexus100 says:

    вот самое последнее предложение – самое главное и должно стоять самым первым в статье 😉 по себе знаю

  2. Александр says:

    Интересно. А как же теперь coreboot? У меня просто такая же мать.

  3. 21h says:

    никак. выяснилось, что из A8V только SE поддерживается.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Облачная платформа
Яндекс.Метрика

Fortune cookie: It's hard to keep a good girl down -- but lots of fun trying.