BIOS (базовая система ввода/вывода), позволяющая операционным системам и оборудованию корректно взаимодействовать друг с другом, присутствует в каждом современном компьютере и располагается в чипе на материнской плате.
Чтобы узнать версию BIOS, выполните в Ubuntu следующую команду:
keiz@ekz:~$ sudo dmidecode -s bios-version
FA
Чтобы посмотреть дату релиза BIOS вашего компьютера, выполните команду:
keiz@ekz:~$ sudo dmidecode -s bios-release-date
04/09/2009
Узнаем марку нашей материнской платы:
keiz@ekz:~$ sudo dmidecode –type baseboard
# dmidecode 2.9
SMBIOS 2.4 present.
Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: GA-MA770-UD3
Version:
Serial Number:
Как видим в моем случаем материнская плата фирмы Gigabyte. Заходим на официальный сайт и смотрим есть ли обновления для моего биоса. Оказывается я давненько не следил за обновлениями: у меня самый первый релиз.
Для обновления версии Биоса из под Операционной системы Ubuntu понадобится следующая утилита: – flashrom.
keiz@ekz:~$ sudo aptitude search flashrom
p flashrom – Identify, read, write, erase, and verify BIOS/ROM/flash chips
keiz@ekz:~$ sudo aptitude install flashrom
Перед записью новой прошивки в БИОС, желательно сохранить старую версию, то есть скопировать прошивку, которая уже прошита в БИОСе, чтобы потом можно было легко восстановить все обратно:
keiz@ekz:~$ mkdir bios
keiz@ekz:~$ cd bios/
keiz@ekz:~/bios$ sudo flashrom -r bios_fa_09_04_2009.bin
Смотрим информация по нашему файлу:
keiz@ekz:~/bios$ file bios_fa_09_04_2009.bin
bios_fa_09_04_2009.bin: data
Скачав последнюю версию Биоса обнаруживаем, что программа предназначена под операционную систему Windows, исправив это воспользуемся пакетом эмуляции wine, он поможет распаковать исполняемый файл.
Где файл MA77UD32.FKd – и есть сама прошивка с официального сайта (на сайте расположены exe-файлы, но это всего лишь SFX-RAR архив с самой прошивкой и программой-флэшером для ДОСа).
Записываем скачанную прошивку в Биос на свой собственный риск:
keiz@ekz:~/bios$ sudo flashrom -w MA77UD32.FKd
flashrom v0.9.2-r1028 on Linux 2.6.35-32-generic (x86_64), built with libpci 3.0.0, GCC 4.4.4, little endian
flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop… OK.
No coreboot table found.
Found ITE Super I/O, id 8720
Found chipset “AMD SB700/SB710/SB750”, enabling flash write… OK.
This chipset supports the following protocols: LPC,FWH,SPI.
Found chip “Macronix MX25L8005” (1024 KB, SPI) at physical address 0xfff00000.
===
This flash part has status UNTESTED for operations: ERASE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to flashrom@flashrom.org if any of the above operations
work correctly for you with this flash part. Please include the flashrom
output with the additional -V option for all operations you tested (-V, -Vr,
-Vw, -VE), and mention which mainboard or programmer you tested.
Thanks for your help!
===
Flash image seems to be a legacy BIOS. Disabling checks.
Writing flash chip… Erasing flash before programming… Erasing flash chip… SUCCESS.
done.
Programming flash done.
COMPLETE.
Verifying flash… VERIFIED.
Теперь можно перезагрузиться с новым биосом.
Хм, после перезагрузки отказала мышка (USB), клавиатура (USB), выходом пока почему, так получилось буду разбираться, а пока поставил работать мышь и клавиатуру через переходники PS/2 на usb.
Скриншот ниже:
В ходе анализ экрана самотестирования устройств при загрузки и логов системы, причиной не работающих устройств подключенных к USB оказалось, что в БИОСЕ была отключена поддержка.
Включаем поддержку через BIOS:
Перезагружаем компьютер, F2 — Integrated Peripherals — USB Controllers было DISABLED. Включаю:
USB Controllers — Enable
USB Legacy Function — Enable
USB Storage Funtion — Enable
Смотрим версию биоса и дату после обновления:
keiz@ekz:~/bios$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date
FKd
01/06/2011
keiz@ekz:~/bios$
Таким вот образом можно пере прошивать БИОС из под нашей системы Ubuntu. На этом всё!!! А пока обновлю на предыдущий релиз.