Обновление BIOS

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

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

This article describes how to apply a BIOS update on a Gentoo system.

Производители оборудования часто предоставляют обновления для своих 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

Заметка
There is a convenient FreeDOS boot on the SystemRescueCD that works well for this and will save much effort, allowing readers to skip this section. See the note at the end of the "Using SystemRescueCD to boot FreeDOS" section for details.

Можно использовать 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
Заметка
If you simply wish to update your bios, there is no need to tinker with the FreeDOS image on SystemRescueCD. After creating the bootable SystemRescueCD stick as described above mount the usb stick to a directory. Copy the bios update there. You are done! Boot on the usb stick and choose Dos tools ---> FREEDOS from the systemrescuecd startup menu. You will find the dos truncated name of your bios update file in the A: directory. If you don't see it try C:. I don't believe this harms the systemrescuecd instance on the usb stick, but if it does it's easy enough to recreate when you are done.

Замена образа 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

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