Есть старый ноутбук HP Pavilion DV4266ea которым я изредка пользуюсь и вот случайно заметил, что у него старый bios. Решил обновить.
К сожалению заметил, что HP его пометило как retired:
Смотрим, что внутри:
Но добрый человек ответил правильно, для моего ноутбука с видеокартой ATI нужен биос с E в названии, т.е. 309EF21.P20.
К сожалению, программы предоставленные HP работают только под windows и wine не дружат.
Альтернативные методы прошивания под linux есть, но мне не подошли (Flashrom поддерживает крайне малое количество ноутбуков, biosdisk - хелпер для создания freedos образа, хочет или exe или img, а нам надо exe и файл с биосом) https://wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux
Однако есть версия прошивальщика Phoenix BIOS и для DOS - PHLASH16, скачать можно тут - https://www.wimsbios.com/phoenixflasher.jsp
Дальше остаётся вариант самому собрать образ freedos и закинуть в него прошивальщик и биос, например так - https://wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux#Usage_3
После загрузки freedos достаточно сделать:
На самом деле процесс и так подробно описан на вики, суть этой заметки скорее в сохранении сакрального знания про имена биосов:
К сожалению заметил, что HP его пометило как retired:
Typically, HP stops supporting most products after 10 years. Once a product is retired, the official HP support content (troubleshooting articles, user guides, how-to videos, etc.) for that product is removed from the HP web site.Но можно скачать биос из других источников, например c https://driver.ru
Смотрим, что внутри:
$ cabextract -l sp34600.exeИ распаковываем:
$ cabextract sp34600.exeСмотрим, что внутри ещё одного exe:
Распаковываем:$ unzip -l 309XF21_WIN.exeArchive: 309XF21_WIN.exeLength Date Time Name--------- ---------- ----- ----527462 2007-01-18 17:42 309DF21.P21527462 2007-01-18 17:39 309EF21.P20710 2007-01-18 15:18 flash1.ini3515 2005-11-17 11:19 FLASH1.sys995383 2002-06-06 12:00 mfc42.dll401462 2002-06-06 12:01 msvcp60.dll266293 2002-06-06 12:01 msvcrt.dll26883 2006-03-03 11:17 Phlash9X.vxd269 2006-11-23 10:27 PHLASH.INI1875 2006-11-23 10:27 PHLASH.LOG200704 2006-03-01 17:45 PhlashLc.dll38592 2006-10-19 13:52 PhlashNT.sys102400 2005-11-17 11:10 wflash.exe290816 2006-10-19 16:58 WinPhlash.exe8628 2006-05-18 14:03 winphlash.GID380454 2003-01-08 15:24 Winphlash.HLP527462 2007-01-18 17:42 309DF21.P20--------- -------4300370 17 files
$ unzip 309XF21_WIN.exe -d biosТут ждёт интересный момент - биосов аж три. Можно посмотреть flash1.ini и попробовать угадать свой. В интернете я нашёл ровно одну (!!!) страничку с подобной проблемой - http://forums.mydigitallife.info/threads/37738-hp-pavilion-4235ea-bios-update-recovery
Но добрый человек ответил правильно, для моего ноутбука с видеокартой ATI нужен биос с E в названии, т.е. 309EF21.P20.
К сожалению, программы предоставленные HP работают только под windows и wine не дружат.
Альтернативные методы прошивания под linux есть, но мне не подошли (Flashrom поддерживает крайне малое количество ноутбуков, biosdisk - хелпер для создания freedos образа, хочет или exe или img, а нам надо exe и файл с биосом) https://wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux
Однако есть версия прошивальщика Phoenix BIOS и для DOS - PHLASH16, скачать можно тут - https://www.wimsbios.com/phoenixflasher.jsp
Дальше остаётся вариант самому собрать образ freedos и закинуть в него прошивальщик и биос, например так - https://wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux#Usage_3
В вики предлагается писать напрямую в grub.cfg, но можно добавить FreeDOS на всякий случай туда надолго, а не до первой перегенерации конфига:$ wget http://www.fdos.org/bootdisks/autogen/FDOEM.144.gz$ gunzip FDOEM.144.gz$ sudo modprobe vfat$ sudo modprobe loop$ mkdir /tmp/floppy$ sudo mount -t vfat -o loop FDOEM.144 /tmp/floppy$ unzip phlash16-1.7.0.21.zip$ sudo cp PHLASH16.EXE /tmp/floppy/$ sudo cp bios/309EF21.P20 /tmp/floppy/F21.WPH$ sudo umount /tmp/floppy$ sudo cp FDOEM.144 /boot/freedos.img
$ sudo vim /etc/grub.d/40_custom
menuentry "FreeDOS" {
linux16 /boot/memdisk
initrd16 /boot/freedos.img
}И обновить конфиг:
$ sudo update-grubМожно перезагружаться и входить в FreeDOS в grub'е. Стоит заметить, что кажется на grub2-uefi команды linux16 нету и он не поддерживает 16-битные приложения, насколько я помню, когда обновлял себе биос на новом ноутбуке. В таком случае надо делать загрузочную флешку или диск (на вики есть информация).
После загрузки freedos достаточно сделать:
После окончания процесса ноутбук бесцеремонно выключился, мимолётно показав какое-то сообщение, что всё готово. Однако, по итогу всё прошло хорошо - ноутбук загрузился и новая версия биоса отобразилась в настройках.DIRPHLASH16.EXE F21.WPH
На самом деле процесс и так подробно описан на вики, суть этой заметки скорее в сохранении сакрального знания про имена биосов:
А всё остальное, как обновление биосов в страые времена, когда были ещё флоппики в ходу, только на новый лад.E = ATID = Intel video
Комментарии