Антон Трасковский - BIOS. Экспресс-курс
Программное обеспечение
Сегодня уже никого не удивляет, что все распространенные программы усердно переписываются различными производителями якобы для улучшения их работы и увеличения возможностей. Это основная причина появления великого множества версий одной и той же программы. Одни версии работают лучше, другие хуже. Главное, что все они направлены на решение одной и той же задачи.
С программами для перезаписи содержимого Flash-памяти дела обстоят следующим образом. Изначально все программы основных производителей BIOS (Award и AMI BIOS) предназначались для работы только в среде MS-DOS и ориентировались на конкретные версии BIOS. В более позднее время "ориентация" программистов поменялась на производство универсальных программ, которые способны работать с любой версией BIOS конкретного производителя. Совсем недавно было объявлено о выпуске программ для записи во Flash-память из среды Windows. Это позволило сделать интерфейс программ интуитивно понятным и удобным для использования. При работе с ними нет необходимости заранее подготавливать загрузочную дискету и загружаться в "чистом" MS-DOS. Сначала эти программы освоили операционные системы семейства Windows NT (2000), а в последнее время появились графические приложения и под Windows 9х (ME). Единственным недостатком таких программ является отсутствие универсальности. Будущее этих программ довольно прозрачно, т. к. увеличение парка машин, работающих с Windows 2000/ХР, позволяет предположить, что в скором времени понятие загрузочной дискеты (в том виде, в каком мы ее имеем с Windows 9х) в корне изменится. По этой причине останется только одна возможность осуществления обновления BIOS – с жесткого диска. К сожалению, такие программы поддерживают только наиболее современные чипсеты и версии BIOS. По этой причине мы рассмотрим принципы работы DOS-овских вариантов программы перезаписи Flash-BIOS для Award и AMI BIOS.
Некоторые версии наиболее современной Award BIOS 6.0 позволяют воспользоваться программой обновления Flash-памяти, "прошитой" в специальной неперезаписываемой области BIOS. При каждой загрузке компьютера вместе с приглашением "Press Del to enter Setup" предлагается нажать комбинацию клавиш <Alt>+<F2>. После нажатия указанной комбинации достаточно вставить в дисковод А: дискету с бинарным файлом новой версии BIOS, а все остальное встроенное программное обеспечение сделает самостоятельно.
Программа Award Flash
Программа для перезаписи AWARD BIOS, называемая обычно Award Flash, работает только в среде MS-DOS, свободной от различных резидентных программ. Это условие следует обязательно соблюдать, т. к. при записи информации в BIOS бинарный файл полностью размещается в оперативной памяти для ускорения доступа к нему, а проверка на предмет занятости некоторых областей памяти не осуществляется. Данный факт может привести к появлению серьезной ошибки еще в начале процесса записи, когда старое содержимое BIOS уже стерто, а новое еще не записано. Естественно, что подобная ситуация гарантированно приводит к потере работоспособности материнской платы.
При работе с программой Award Flash необходимо соблюдать следующий синтаксис:
Award.exe [file_1] [file_2] [/key] [/key]…]
Где:
• file_1 – имя файла, содержащего программный код новой версии BIOS (с расширением);
• file_2 – имя файла, в котором будет сохранен программный код старой версии BIOS (с расширением);
• /key – ключ к программе, включающий тот или иной режим.
Как и любая другая DOS-программа, Award Flash имеет довольно большой набор различных ключей, при использовании которых пользователь может выбрать необходимый режим работы. Все ключи набираются в любой последовательности через пробел:
• /? – вызов встроенной справки. На экран монитора выводится информация обо всех возможных ключах программы и их краткое описание. При необходимости справку можно записать в текстовый файл. Для этого необходимо дополнить строку следующей командой >file_name.txt, где file_name – имя текстового файла, в котором будет записана справочная информация;
• /py или /pn – данные ключи позволяют установить ответ на вопрос программы "перезаписывать содержимое BIOS или нет?". Параметр /py указывает программе осуществлять запись без дополнительного подтверждения. Параметр /pn можно использовать для получения файла, содержащего программный код текущей версии BIOS (например, для сравнения с имеющимся обновлением), или проверки контрольной суммы файла. По умолчанию после запуска программа задаст вопрос, и ответ вводится пользователем вручную с клавиатуры;
• /sy или /sn – определяют ответ на запрос программы о сохранении текущей версии BIOS. По умолчанию пользователь вручную вводит ответ с клавиатуры (у или п). Ключ /sn имеет смысл использовать только при "прошивке" BIOS компьютера без монитора, когда нет возможности контролировать процесс записи и реагировать на запросы программы (в этом случае его прописывают в файле автозагрузки типа autoexec.bat);
• /сс – позволяет обнулить содержимое CMOS-памяти. Это дает возможность изначально устранить некоторые проблемы с первым запуском материнской платы с обновленной BIOS. К тому же программное обнуление имеет преимущество перед аппаратным в том, что нет необходимости вскрывать системный блок;
• /ср – обнуление содержимого области ESCD, содержащей информацию о конфигурации устройств, поддерживающих технологию Plug and Play. Рекомендуется при одновременной замене плат расширения (действие ключа аналогично включению опции Reset Configuration Data );
• /cd – обнуление содержимого области DMI, содержащей всю информацию о компьютере в целом (тип установленного процессора, модули памяти и т. п.). Рекомендуется при серьезном обновлении версии BIOS (например, при "скачке" через несколько версий) и при одновременном апгрейде;
• /sb – не программировать так называемый Boot Block. Это область, в которой содержится подпрограмма, запускаемая в первую очередь после включения компьютера. Чаще всего этот блок трогать не рекомендуется, потому что в случае возникновения ошибки при программировании исключается возможность программного восстановления BIOS. На некоторых материнских платах имеется специальная перемычка, позволяющая запретить запись в Boot Block, поэтому перед использованием данного ключа внимательно изучите документацию к вашей материнской плате;
• /sd – позволяет сохранить данные области DMI в отдельном файле для использования другими программами. Ключ работает только с теми BIOS, программный код которых позволяет осуществлять это действие;
• /r – после окончания программирования микросхемы осуществляется "холодный" рестарт компьютера (аналогично нажатию кнопки Reset на системном блоке). Можно рекомендовать только в том случае, когда вы уверены в успехе обновления. Не стоит применять данный ключ, если вы используете загрузочную дискету с файлом автозапуска, описанным в разделе «Подготовка компьютера к обновлению BIOS» данной главы;
• /tiny – указывает программе использовать как можно меньше оперативной памяти. По умолчанию бинарный файл с программным кодом BIOS полностью размещается в памяти. Рекомендуется при появлении ошибок, связанных с использованием памяти (в этом случае файл помещается в память частями);
• /е – возврат в среду MS-DOS после окончания процесса обновления. Режим удобен, т. к. появляется возможность до перезагрузки компьютера убедиться в том, что старая версия BIOS сохранена в файл;
• /f – использование алгоритма записи, содержащегося в текущей версии BIOS (практически в каждой современной BIOS содержатся встроенные средства программирования Flash-памяти). Применение данного ключа можно рекомендовать только в случае, когда программа Award Flash оказалась неспособной с помощью встроенного алгоритма корректно "прошить" BIOS;
• /ld – позволяет "обнулить" содержимое CMOS-памяти, что дает возможность изначально устранить некоторые проблемы с первым запуском материнской платы с обновленной BIOS. К тому же программное обнуление имеет преимущество перед аппаратным в том, что нет необходимости вскрывать системный блок. Отличается от ключа /cc тем, что после обнуления не выводится сообщение "Press F1 to continue or Del to Setup";
• /cks – на экран монитора выводится контрольная сумма файла в шестнадцатеричном формате (ХХХХН). Обычно применяется с ключом /pn, запрещающим дальнейшую запись во Flash-память;
• /cksxxxx – позволяет сравнить контрольную сумму файла с числом ХХХХ, указанным в шестнадцатеричном формате. Обычно производители BIOS публикуют на своих официальных сайтах контрольные суммы всех предлагаемых для скачивания файлов. В случае несоответствия контрольной суммы на экран монитора выводится сообщение "The Program File's Part Number Does Not Match With Your System!";
• /qi – не выполнять проверку соответствия файла, содержащего программный код BIOS, микросхеме, установленной на вашей материнской плате;
• /bw – программировать область Boot Block. Рекомендуется только в том случае, когда это требуется для полноценного обновления BIOS (информацию об этом вы найдете на сайте производителя или в текстовом файле, имеющемся в архиве с бинарным файлом новой версии BIOS);