Обновление BIOS

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page BIOS Update and the translation is 100% complete.

Other languages:
English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎polski • ‎русский • ‎中文(中国大陆)‎

Производители оборудования часто предоставляют обновления для своих BIOS и других типов встроенного ПО. Способ обновления (часто упоминается как "перепрошивка") иногда не так хорош на GNU/Linux системах. Для этого иногда требуется некоторая дополнительная работа.

Предупреждение
Если оборудование работает, зачастую нет необходимости в обновлении BIOS. Если что-то пойдет не так, это может привести к неисправимому повреждению BIOS или прошивки, что приведет к потери гарантии. Будьте осторожны!

Сбор информации о прошивке

Сперва нужно найти производителя и модель материнской платы. Проверьте пользовательское руководство, которое поставляются вместе с компьютером. Множество нужной информации можно найти в пользовательском руководстве.

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

root #dmidecode -t bios -t baseboard

Наконец, если возможен непосредственный доступ к материнской плате, то можно найти необходимую информацию на самой материнской плате.

Предупреждение
Прямой доступ к материнской плате может привести к потере гарантии!

После поиска прошивки от производителя, загрузите пакет необходимый для прошивки. Производители могут хранить пакет с обновленной прошивкой в .zip, .exe, или .iso формате.

user $unzip 7235v1A.zip
Archive:  7235v1A.zip
   creating: 7235v1A/
inflating: 7235v1A/7235v1x.txt
inflating: 7235v1A/AWFL865.EXE
inflating: 7235v1A/How to flash the BIOS.DOC
inflating: 7235v1A/W7235IMS.1A0

Вариант с BIOS

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

Загрузочный CD

Производители зачастую предлагают образ загрузочного CD-ROM. Файл должен быть с расширением .iso, чтобы надлежащим образом записать на пустой CD-R(W). Один из инструментов, который может это сделать - cdrecord:

root #cdrecord BOOT-CD.iso
Заметка
cdrecord предоставляется сразу двумя пакетами. Выберите один из них: app-cdr/cdrtools и app-cdr/cdrkit.

Выберите в BIOS загрузку с компакт-диска и выполните инструкции с веб-сайта производителя или из руководства для пользователя.

Окружение FreeDOS

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

Скачайте FreeDOS и необходимые программы:

  • FreeDOS - скачайте файл fdboot.img
  • Загрузочный сектор FreeDOS - скачайте файл sys-freedos-linux.zip
  • Программа перепрошивки и новый BIOS с сайта производителя оборудования

Создание пользовательского образа FreeDOS

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

Ядро Поддержка loopback устройств
Device Drivers  --->
    [*] Block devices  --->
        <M>   Loopback device support

Если модуль не был загружен, то загрузите его с помощью modprobe:

root #modprobe loop

Установите необходимые программы:

root #emerge --ask dev-lang/nasm app-arch/unzip sys-fs/dosfstools

Создайте файл образа размером около 20МБ, используя команду dd. Имя должно быть freedos.img, если будете заменять файл, который находится на SystemRescueCD:

root #dd if=/dev/null of=freedos.img bs=1024 seek=20480

Создайте файловую систему в образе:

root #mkfs.fat freedos.img

Запишите загрузочный сектор в файл с образом:

root #unzip sys-freedos-linux.zip && ./sys-freedos.pl --disk=freedos.img

Теперь скопируйте файлы FreeDOS в новый образ.

Создайте точки монтирования:

root #mkdir -p /mnt/freedos /mnt/freedos_new

Смонтируйте изначальный образ:

root #mount -o loop fdboot.img /mnt/freedos

Смонтируйте новый образ:

root #mount -o loop freedos.img /mnt/freedos_new

Скопируйте файлы системы FreeDOS на новый образ:

root #cp -ar /mnt/freedos/* /mnt/freedos_new/

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

root #cp -ar FLASH-PROGRAM BIOS-UPDATE /mnt/freedos_new

Размонтируйте оба образа:

root #umount /mnt/freedos_new /mnt/freedos
Заметка
DOS может отобразить имена длиной только до 8 символов. Поэтому, возможно, неплохо будет переименовать некоторые из файлов, если длина имен файлов больше этого лимита.

Использование SystemRescueCD для загрузки FreeDOS

SystemRescueCD включает в себя версию из FreeDOS. Эта версия может заменить оригинальный образ и создать загрузочное устройство, которое содержит необходимые программы для прожига прошивки.

Скачивание SystemRescueCD и подготовка LiveUSB

Создание загрузочного флэш накопителя

Используя стандартный метод для создания загрузочного диска SystemRescueCD, скрипт usb_inst.sh содержит руководство по установке.

Предупреждение
Будут удалены все данные на устройстве! Будьте уверены, что важные данные были скопированы перед использованием устройства!

Создайте директорию в /mnt:

root #mkdir /mnt/SysRescueCD

Примонтируйте образ CD:

root #mount -o loop systemrescuecd-x86-VERSION.iso /mnt/SysRescueCD

Запустите установочный скрипт:

root #/mnt/SysRescueCD/usb_inst.sh

Отмонтируйте образ CD:

root #umount /mnt/SysRescueCD

Замена образа FreeDOS

Мы собираемся заменить исходный образ FreeDOS на флэш-накопителе с SystemRescueCD.

Смонтируйте флэш-накопитель SystemRescueCD (/dev/sdX1 - имя должно соответствовать имени устройства флэш-накопителя):

root #mount /dev/sdX1 /mnt/SysRescueCD

Замените файл freedos.img:

root #cp freedos.img /mnt/SysRescueCD/bootdisk/

Размонтируйте накопитель SystemRescueCD:

root #umount /mnt/SysRescueCD

Загрузка образа FreeDOS прямо из GRUB

Для загрузки FreeDOS без всяких внешних носителей, можно использовать утилиту memdisk из syslinux для того, чтобы позволить grub (или другому загрузчику) загрузить образ FreeDOS.

root #emerge --ask sys-boot/syslinux

Смонтируйте раздел /boot (если это необходимо)

root #mount /boot

Скопируйте бинарный файл memdisk и созданный образ FreeDOS в /boot:

root #cp /usr/share/syslinux/memdisk /boot
root #cp freedos.img /boot

Отредактируйте /boot/grub/grub.conf и добавьте пункт меню для FreeDOS:

Файл /boot/grub/grub.confПример пункта меню в grub.conf
title FreeDOS (BIOS update)
kernel /boot/memdisk floppy
initrd /boot/freedos.img

Обновление BIOS

Перезагрузитесь и выберите загрузку с USB накопителя или новую запись grub. Если используется SystemRescueCD, в приглашении GRUB введите:

freedos

Это должно загрузить в новый образ FreeDOS. Должно появиться приглашение DOS:

Код
C:\

Теперь можно начать перепрошивку BIOS, выполняя инструкции от производителя. Некоторые полезные команды DOS:

cd <dir>
Сменить каталог
dir
Список файлов в текущем каталоге.
type [drive][path]filename
Отображает содержимое файла.

Flashrom

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

Если железо поддерживается, то проверьте новый образ BIOS:

root #flashrom -v W7235IMS.1A0

Если все впорядке, то перепрошейте его:

root #flashrom -vw W7235IMS.1A0

Смотрите также