Jak zaktualizować BIOS z poziomu Linuksa (bez DOSa/Windowsa ani stacji dyskietek)?

Kompletnie zrezygnowałeś z Windowsa, podoba Ci się nowy system operacyjny Linux, brak problemów z trojanami/wirusami, zero problemów, wszystko idealne. Nagle okazuje się, że potrzebujesz zaktualizować BIOS swojej płyty głównej, by umożliwić obsługę nowego sprzętu, jednak zwykle producenci płyt głównych oferują tylko rozwiązania wykorzystujące DOS. Panikujesz! Na szczęście ten problem łatwo rozwiązać…

OSTRZEŻENIE: Aktualizowanie BIOSu płyty głównej jest niebezpieczne i może spowodować, że płyta główna nie będzie nadawać się do użytku! Chociaż autor tego artykułu pomyślnie to wykonywał kilka razy, u Ciebie może być inaczej. Bądź ostrożny!

Krok 1: Pobieranie butowalnego obrazu FreeDOS

FreeDOS, darmowy (i wolny), zgodny z DOS system operacyjny, stanie na wysokości zadania, nie potrzebujesz oryginalnych wersji DOS. Wszystko, czego potrzebujesz to bootowalny obraz dyskietki z jądrem FreeDOS. Cieszymy się, że chłopaki z FDOS przygotowali odpowiedni dla nas OEM Bootdisk, który zawiera tylko jądro i niezbędne dla nas programy. Pozostawi ona więcej wolnego miejsca na program do aktualizacji i obraz nowego BIOSu. Po pobraniu, trzeba go rozpakować za pomocą polecenia:

wget http://www.linuxinsight.com/files/FDOEM.144.gz
gunzip FDOEM.144.gz

Krok 2: Kopiowanie programu do aktualizacji i nowego obrazu BIOS na zamontowany obraz dyskietki

Wymagana jest obsługa systemów plików vfat i loop w kernelu. Można też wkompilować te funkcje jako moduły. W drugim przypadku należy załadować moduły przed przejściem do następnego kroku.

modprobe vfat
modprobe loop

Przeanalizuj /proc/filesystems w celu sprawdzenia czy posiadasz wsparcie dla tych systemów plików. Jeśli tak, powinieneś być w stanie zamontować obraz dyskietki do jakiegoś tymczasowego folderu korzystając z opcji loop:

mkdir /tmp/floppy
mount -t vfat -o loop FDOEM.144 /tmp/floppy

Jeśli montowanie przebiegnie bez problemów, skopiuj program i obraz nowego BIOSu do tego miejsca. Prawdopodobnie będziesz musiał wypakować paczkę, którą pobrałeś ze strony producenta, by otrzymać poniższe 2 pliki. Przedstawię przykład dla mojej płyty głównej (w Twoim przypadku, pliki mogą mieć inne nazwy):

# unzip 775Dual-VSTA\(2.60\).zip
Archive: 775Dual-VSTA(2.60).zip
  inflating: 75DVSTA2.60
  inflating: ASRflash.exe
# cp 75DVSTA2.60 ASRflash.exe /tmp/floppy

Bardzo skrupulatnie sprawdź, czy wszystko przebiegło prawidłowo, te 2 pliki nie powinny być zbyt duże, by zmieściły się się na dyskietce:


Filesystem         1K-blocks    Used  Available   Use%   Mounted on
/tmp/FDOEM.144         1424      990       434    70%    /tmp/floppy

Na koniec odmontuj obraz dyskietki:

umount /tmp/floppy

Krok 3: Wypalanie bootowalnej płyty CD, która emuluje napęd dyskietek

Następnym krokiem jest wypalenie obrazu dyskietki na płycie CD/DVD-RW, ale w taki sposób, by potem mogła zostać zbootowana. Należy utworzyć butowalny obraz płyty CD i wtedy go wypalić. Zauważ, że na kilkunastu nowoczesnych dystrybucjach, narzędzie cdrecord nosi nazwę wodim, a mkisofs to genisoimage, ale parametry powinny być takie same.

mkisofs -o bootcd.iso -b FDOEM.144 FDOEM.144
cdrecord -v bootcd.iso

Krok 4: Ponowne uruchamianie, aktualizacja, znowu ponowny rozruch, satysfakcja z nowego BIOSu

Na koniec uruchom ponownie swoją maszynę, upewnij się, że ustawiony jest pierwszy odczyt z płyty, włącz aktualizację BIOSu kiedy płytka wystartuje.

Powyższy tekst jest tłumaczeniem: How to flash motherboard BIOS from Linux (no DOS/Windows, no floppy drive)?

Komentarze (RSS)
Komentarze są prywatnymi opiniami dodających je osób. Prosimy o zachowanie kultury wypowiedzi. Komentarze obraźliwe oraz obniżające poziom serwisu będą usuwane. Więcej w regulaminie komentowania.

21 komentarzy

  1. th0m4s 8 stycznia 2011 o godz. 11:27 #

    A jeszcze można skorzystać z http://syslinux.zytor.com/wiki/index.php/MEMDISK i zbootować obraz tej dyskietki bezpośrednio z dysku z lilo lub gruba …

  2. kubia 8 stycznia 2011 o godz. 11:43 #

    to jest z poziomu linuksa? zgodnie z jaką logiką?

  3. user 8 stycznia 2011 o godz. 13:38 #

    "Kompletnie zrezygnowałeś z Windowsa, podoba Ci się nowy system operacyjny Linux, brak problemów z trojanami/wirusami, zero problemów, wszystko idealne. "

    To zdanie mogłeś sobie odpuścić.

    Biosa można aktualizować dzisiaj bez żadnej stacji dyskietek (o ile mówimy o nowym sprzęcie a nie o starych gratach na których znośnie chodzi tylko winxp i kompilowany ręcznie gentoo), ale z resztą – kto w dzisiejszych czasach gdzie dobra płyta kosztuje mniej niż 1000zł aktualizuje biosa i po co?

    • sirmacik 8 stycznia 2011 o godz. 14:18 #

      Co do zacytowanego zdania, to nie widzę najmniejszego powodu, żeby je "sobie odpuszczać", ponieważ są to wrażenia często powtarzane przez użytkowników Linuksa. Nawet jeśli nie do końca pokrywają się z faktami, to zapytaj kilku nowych i starszych linuksowych użyszkodników, jestem pewnien, że ze dwa razy podobną opinię usłyszysz.

    • Michał Bielawski 8 stycznia 2011 o godz. 15:32 #

      Po co? Chociażby po to, że nieraz producent coś spieprzy i wydaje nowy BIOS naprawiający np. zbyt często/rzadko włączający się wentylator.

  4. chiquita 8 stycznia 2011 o godz. 13:53 #

    nie do końca "pełny opis", szkoda; z poziomu linuksa, niezawodny jest unetbootin i pendrive; freedos, który to ściągniemy i zainstalujemy przez to narzędzie, jest w najnowszej wersji i nie zawiedzie nas, przynajmniej jeśli chodzi o układ z MSI.

  5. andrzej3393 8 stycznia 2011 o godz. 14:17 #

    Raz "butowalnego", raz "bootowalnej" – zdecyduj się na jedną formę, podpowiem że ta druga jest częściej używana.

  6. azhag 8 stycznia 2011 o godz. 14:26 #

    FreeDOS w trybie Live znajduje się też na Grmlu (http://www.grml.org).

  7. morii 8 stycznia 2011 o godz. 20:05 #

    Jak ktoś ma laptop dell'a to polecam smbios-utils
    http://linuxtrap.wordpress.com/2010/03/03/update-

  8. Mecin 8 stycznia 2011 o godz. 21:47 #

    Można również wykorzystać w tym celu jakiegoś live XP (np. Hirens Boot CD) – kilkakrotnie testowanie i działa.

    • sirmacik 8 stycznia 2011 o godz. 22:49 #

      Obawiam się jednak o legalność takiego rozwiązania. Nie wydaje mi się, aby używanie takiego windowsowego live cd było zgodne z prawem, choć mogę się mylić.

  9. PS 8 stycznia 2011 o godz. 23:22 #

    Szkoda że wszyscy tak nie myślą ja Ty, mielibyśmy dzisiaj puste sieci.

  10. rozie 8 stycznia 2011 o godz. 23:23 #

    Last but not least: http://www.flashrom.org/Flashrom czyli flashrom, obecny w wielu dystrybucjach, który działa dla części płyt głównych (lista wspieranego sprzętu na stronie projektu).

  11. mesiu84 9 stycznia 2011 o godz. 0:29 #

    Pragnę zauważyć że powyższy opis nie jest czymś nowym, od dawna wielu producentów płyt udostępnia freedos'a i od dawna można z niego skorzystać jako zamiennika dos'a. A co do tytułu to bardzo bym polecał, bo troszeczkę się nie zgadza z tym co jest opisane, bo wszystko sprowadza się raczej do "W jaki sposób stworzyć bootowalną płytę CD z nową wersją biosu" a nie jak zaktualizować bios spod windowsa.

  12. iss 9 stycznia 2011 o godz. 2:04 #

    Jak się ma płytę Gigabyte'a, to wystarczy mieć pendrajwa z FATem, wrzucić na niego plik z BIOSem, zresetować komputer i wcisnąć magiczny przycisk (F8?), który uruchamia wbudowany aktualizator BIOSu.

    Inni producenci chyba też wpadli na podobne rozwiązanie.

    BTW Czemu przycisk "Dodaj komentarz" nie działa bez JS?

  13. nicram 11 stycznia 2011 o godz. 13:57 #

    Rozbawilo mnie to na potege, tytul "Jak aktualizowac BIOS z poziomu Linuxa", a tkst o tym jak to zrobic przy pomocy FreeDOS :D Napisze w ten sposob. Mamy 2011 rok, powoli EFI zastepuje standardowe BIOSy AMI czy Phoenix/Award. Od paru juz lat w nowoczesnym systemie operacyjnym Windows 2000 i nowsze, mozna aktualizowac BIOS pl. glownych za pomoca prostych aplikacji, ktore sie uruchamia, one robia co trzeba, nastepuje restart maszyny i tyle. A tutaj Linux – przedpotopowe metody, ktore poza utworzeniem dyskietki, dalej uzywaja DOS :D I mozna oczywiscie sobie ponarzekac (koronny argument linux zealots), ze to wina producentow – ale co jako zwyklego uzytkownika mnie to interesuje. W kazdym badz razie, dla mnie kolejny powod, dla ktorego Linux nigdy nie osiagnie wiecej niz 1% rynku na komputerach typu desktop. A tak btw., czy jakikolwiek producent telefonow komorkowych na swiecie, dodaje jakies oprogramowanie do aktualizacji firmware na telefonie wlasnie?

    • m1s13k 12 stycznia 2011 o godz. 1:29 #

      Tytuł również jest zaczerpnięty z oryginału.

      Skoro mamy 2011 to znaczy że nie mamy już tłumaczyć starszych artykułów? Akurat taki się napatoczył to został przetłumaczony. Jeśli znasz coś lepszego lub aktualniejszego nic nie stoi na przeszkodzie by skontaktować się z nami i zaprezentować (a dróg kontaktu się ostatnio namnożyło), na pewno zostanie rozważone, jest duże prawdopodobieństwo że też przetłumaczone :]

  14. FooBar 25 stycznia 2011 o godz. 17:14 #

    Od 3 lat nie mam już floppa w kompie :-) Zbędne muzeum.

  15. Robert 27 grudnia 2011 o godz. 1:00 #

    A ja chciałbym się dowiedzieć jak zaktualizować BIOS w laptopie bez stacji dyskietek,
    bez CD-ROM i bez opcji botowania z USB. Takie wynalazki również się trafiają i
    fajnie by było gdyby powyższy opis został uzupełniony.

(wymagane)
URI
Uwaga! Niektóre komentarze, m.in. te dodane przez niezalogowanych i nowych użytkowników, są ręcznie moderowane. Jeśli Twój komentarz nie ukaże się od razu, nie dodawaj go ponownie, tylko cierpliwie poczekaj na akceptację.

Literówki najlepiej zgłaszać jabberem: michuk@jakilinux.org lub kocio@jabber.org!

W komentarzach możesz używać prostych znaczników HTML. Przykłady:
  • Link: <a href="jaklinux.org">Linux dla każdego</a>,
  • Wytłuszczenie: <strong>tekst pogrubiony</strong>,
  • Kursywa: <em>tekst pochylony</em>,
  • Przekreślenie: <del>tekst przekreślony</del>,
  • Kod: <code>printf("blok kodu");</code>,
  • Cytat: <blockquote>cytat</blockquote>
Uwaga: jeśli dodasz nieznany znacznik, będzie on niewidoczny, gdyż system filtruje takie znaczniki.