Заметка юзера Gol

BIOS кирдык.

комп ноут железки BIOS

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

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

Вытащили винт. Вставили загрузочный сидюк, загрузились. Загрузка пошла, уже хорошо. Нашли загрузочный диск 98-й винды, но там в комплекте нету досовских утилит, а для наших целей требуются именно они. В итоге на одном из моих компактов нашлась нужная утилитка под названием debug.exe
В принципе, можно было обойтись редактором HIEW или хоть втроенным редактором vc, но не было где редактировать, винт-то мы вытащили, а для вирт диска в оперативе не было соотв досовской утилитки. Короче, дебаг нашёлся, я его запустил и введя пару команд сбросил настройки биоса.

В принципе, эт очень старый трюк, я так делать научился ещё в 1996-м году (видать с тех пор ничего толком в биосах не изменилось :-) ) Делается элементарно. Достаточно записать произвольную инфу в ячейки памяти биоса, тогда при запуске компа проверка контрольной суммы облажается и настройки скинутся в заводские по-умолчанию. Программируется BIOS через порты 70h и 71h. Блин, я уже сто лет ничего не писал на ассемблере, да и раньше не особо в нём шарил, но кое-что у меня получалось :-)

Так вот, я скидываю обычно так - в дебаге две команды
-o 70 2e
-0 71 2e

Т.е. в 70h порт пишем номер ячейки биоса которую хотим изменить, а в 71h-й порт пишем значение ячейки которое должно быть. В данном случае в первой команде 2Eh - это номер ячейки где хранится один из байтов контрольной суммы, а во второй команде 2Eh это произвольное значение которое мы туда пишем. В принципе, правильней сначала прочитать оттуда значение и изменить его, чтоб случайно не записать туда правильное значение. Но и так работает, вероятность фигусенькая...

На асме получится что-то типа такого:

mov AX, 2Eh
out 70h, AX
out 71h, AX

Всё, BIOS сброшен. Единственный недостаток метода в том что необходимо выполнять команды из-под ДОСа, ибо винда не даст обычному приложению уровня пользователя писать напрямую в порт биоса. Короче, в этом я не силён, так что сорри если что. Но обычно этот метод срабатывает.
Копия в ЖЖ Gol      Понедельник, 6 Августа, 2007 18:27       1


Добавить комментарий
 

Гость Воскресенье, 1 Декабря, 2013 15:10 цитировать ссылка на коммент

Гений

 

Сколько букв в слове Гол?

Вы вошли как Гость      

Сейчас на сайте: 0
и 2 гостей






Страница сгенерирована за 0.0087108612060547 мкс

cached