Δημοσιεύτηκε: 19 Ιούλ 2013, 01:06
από the_eye
Παρακάτω θα δούμε πώς μπορούμε να αναβαθμίσουμε το bios της μητρικής του υπολογιστή μας, μέσα από το περιβάλλον του ubuntu.



:!: Η διαδικασία είναι εξαιρετικά επικίνδυνη οπότε συνιστάτε μεγάλη προσοχή γιατί μπορεί ο υπολογιστής να μην ξαναδουλέψει :!: :angel: .
:!: Επομένως ότι δοκιμάσετε το κάνετε με δική σας ευθύνη. :!:




:idea: Κάποιες μητρικές έχουν διπλό bios όπου εκεί υπάρχει backup bios σε περίπτωση λάθους αναβάθμισης.
Αξίζει αν έχετε τέτοια μητρική να κάνετε δοκιμή για αναβάθμιση. :idea:


Με την χρήση των παρακάτω εντολών, εντοπίζουμε τον ακριβή τύπο της μητρικής μας ή ακόμα ανοίγουμε το κουτί και βρίσκουμε τον τύπο στην πλακέτα. Μέχρι και το revision έχει σημασία.

Βάζοντας διαφορετικό bios θα την καταστρέψουμε.



Κώδικας: Επιλογή όλων
sudo dmidecode
sudo hwinfo --bios


Η εντολή που θέλουμε είναι η flashrom και πρέπει να ενεργοποιήσουμε τα Ανεξάρτητα αποθετήρια που παρέχονται από τρίτους.
μετά την κάνουμε εγκατάσταση με.
Κώδικας: Επιλογή όλων
sudo apt-get update
sudo apt-get install flashrom


1. Πρώτα κάνουμε έναν έλεγχο για να δούμε αν μπορεί να βρει κάποιο bios chip στην μητρική μας.

Κώδικας: Επιλογή όλων
sudo flashrom

ή σε νεότερη έκδοση
Κώδικας: Επιλογή όλων
sudo flashrom --programmer internal


Κώδικας: Επιλογή όλων
flashrom v0.9.5.2-r1517 on Linux 3.2.0-36-generic (x86_64), built with libpci 3.1.8, GCC 4.6.3, little endian
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... delay loop is unreliable, trying to continue OK.
WARNING: No chipset found. Flash detection will most likely fail.
Found PMC flash chip "Pm49FL004" (512 kB, LPC, FWH) at physical address 0xfff80000.
No operations were specified.


Βρήκε το "Pm49FL004" 512 kB
Πρέπει και το bios μας να είναι 512kB.
Αν το bios το έχουμε κατεβάσει σε μορφή zip, rar, exe πρέπει να το αποσυμπιέσουμε. Το bios είναι συνήθως σε μορφή .bin, .rom ή μπορεί να έχει και την έκδοση πχ .a20

2. Κάνουμε ένα backup του υπάρχοντος bios, έτσι ώστε αν κάτι πάει στραβά να το επαναφέρουμε.

Προσοχή αν κάτι πάει στραβά δεν πρέπει να κάνουμε επανεκκίνηση.


Κώδικας: Επιλογή όλων
sudo flashrom -r old.rom


3. Περνάμε το νέο bios

Κώδικας: Επιλογή όλων
sudo flashrom -w όνομα_αρχείου_bios


πχ
Κώδικας: Επιλογή όλων
sudo flashrom -w ft20s01e.bin
flashrom v0.9.5.2-r1517 on Linux 3.2.0-36-generic (x86_64), built with libpci 3.1.8, GCC 4.6.3, little endian
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... delay loop is unreliable, trying to continue OK.
WARNING: No chipset found. Flash detection will most likely fail.
Found PMC flash chip "Pm49FL004" (512 kB, LPC, FWH) at physical address 0xfff80000.
Flash image seems to be a legacy BIOS. Disabling coreboot-related checks.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.


Αν βγάλει
Κώδικας: Επιλογή όλων
Erasing and writing flash chip... Erase/write done.

και
Κώδικας: Επιλογή όλων
Verifying flash... VERIFIED.

είμαστε οκ

Προσοχή αν κάτι πάει στραβά δεν πρέπει να κάνουμε επανεκκίνηση.
Αν κάτι πάει στραβά επαναφέρουμε το παλιό bios με την εντολή.

Κώδικας: Επιλογή όλων
sudo flashrom -w old.rom



4. Κάνουμε επιπλέον έναν έλεγχο για να δούμε ότι γράφτηκε σωστά.

Κώδικας: Επιλογή όλων
sudo flashrom -v όνομα_αρχείου_bios


πχ
Κώδικας: Επιλογή όλων
sudo flashrom -v ft20s01e.bin

flashrom v0.9.5.2-r1517 on Linux 3.2.0-36-generic (x86_64), built with libpci 3.1.8, GCC 4.6.3, little endian
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... delay loop is unreliable, trying to continue OK.
WARNING: No chipset found. Flash detection will most likely fail.
Found PMC flash chip "Pm49FL004" (512 kB, LPC, FWH) at physical address 0xfff80000.
Flash image seems to be a legacy BIOS. Disabling coreboot-related checks.
Reading old flash chip contents... done.
Verifying flash... VERIFIED.


Αν είναι VERIFIED είμαστε οκ.

5. Κάνουμε reboot και ελπίζουμε όλα να πάνε καλά. :shh:

Ενημ.
(Το δοκίμασα σε 3 μητρικές και η διαδικασία έγινε σωστά.)