2021-05-12 14:32:11
使用FreeDOS如何升級舊Linux電腦BIOS?
事實上,大多數主機板廠商(包括英特爾)都建議不要升級BIOS,除非有特定的問題,可以升級到特定的BIOS來解決。大多數系統管理員也同意“如果沒有損壞,不要嘗試修復它”。升級BIOS只是為了達到最新的狀態,但也可能造成一些以前不存在的問題。
對於Windows使用者而言,這一切似乎是簡單的。Windows應用程式可以在Windows執行時在計算機上安裝BIOS升級,但這顯然不是廣大Linux程式設計師的選擇。
目標
最近,當我決定升級我的兩個較舊的Linux系統時,這一切都開始了......
我已經執行BOINC很多年了,參與過各種分散式計算環境,並且幾乎完全將這兩台計算機用作計算平台。我決定要為這些任務提供更好的計算能力,並且相比於再買一台電腦而言,我更傾向於更新一些舊的計算機。畢竟,這些電腦曾經都很完美,並可能具有一些未開發的功能。
我最初使用這兩個系統時,原始效能都不是問題。幾年前,我從原生的Intrex電腦商店購買了英特爾DH61BE主機板,支援高達3.5GHz的LGA1155封裝中的第三代Core i3,i5和i7處理器。 當時這些都非常接近最先進的技術,但並不是最頂尖的。我安裝的Core i3 G620 CPU有2個核心,2.6GHz,沒有超執行緒。
這幾天這兩個系統都執行BOINC。我使用一個測試Fedora升級和其他新的軟體,另一個作為網路的防火牆和路由器。
為了升級,我在3.5GHz處理器上購買了解鎖的英特爾17-3770K解決方案,以取代現有的。這已經是目前該主機板狀態下最新的裝備了,我還購買了比CPU封裝的冷卻能力更高的非標準CPU散熱器,具體你的電腦是否可以帶得起來,要檢視英特爾網站上給出的說明。
問題
在接收到替換處理器之後,我在測試系統中安裝了一個處理器,因為它沒有執行任何對網路至關重要的任務。在嘗試接通電源之後,我收到了主機板揚聲器三秒鐘的重複嗶嗶聲。主機板文件 - 是的,我下載並保留它,這意味著系統有記憶體錯誤。
在這一點上,我無法進入BIOS進行任何設定,所以我刪除了新的CPU,把舊的重新插入。這至少允許系統啟動,讓我進入BIOS檢查BIOS版本級別 ,使用英特爾支援網站,發現在最新版本之後的多個級別。
還有另一種方法,就是從Linux命令列找到BIOS級別,並重新啟動到Fedora 25中,並使用dmidecode命令找到當前的BIOS。-t選項指定要顯示的型別資訊,在這種情況下,型別0是BIOS資訊。
# dmidecode -t 0
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Intel Corp.
Version: BEH6110H.86A.0048.2012.1105.1520
Release Date: 11/05/2012
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 1024 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 kB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
▲使用dmidecode命令查詢BIOS資訊
上面顯示的dmidecode命令的輸出顯示了BEH6110H.86A.0048.2012.1105.1520的BIOS版本。此資訊來自於升級BIOS的主機之一。
我們可以通過假設點是欄位分隔符來解碼此版本號中的大多數位段。 第一個欄位是電路板型號,第二個欄位可能是工程版本級別。第三個欄位,0048是實際的BIOS版本級別,是Intel網頁中出現的內容; 欄位四是年份,欄位五是以發布BIOS的MMDD格式的月份和日期。 我不知道最後一個欄位是什麼,但我認為這可能是一個24小時格式的時間,以便最後三個欄位代表編譯BIOS的日期和時間。
原始的BIOS是23版,根據英特爾網站,最新版本是120。請注意,並不是中間所有BIOS的版本號都公開發布。我下載了最新版本,並嘗試在引導時使用F7選項來升級BIOS。這意味著,啟動時的初始BIOS顯示包括一個F7選項,F2進入BIOS設定,F10進入引導選項選單。我按F7並選擇了我放在FAT格式化U盤上的BIOS檔案,但還是失敗了。
首先,我的BIOS版本在啟動時並不支援F7,儘管該選項確實出現在BIOS螢幕上。 第二,不是所有BIOS版本都可以直接安裝,有必要按順序安裝多個BIOS修訂版本。如果有一個DOS副本,可以使用一個英特爾的其他程式來更新BIOS,iFlash.exe。為了在不花錢的情況下克服這個問題,我執行了一個無效的搜尋,發現我沒有DOS副本。
FreeDOS
在這之後,我存取了FreeDOS網站,FreeDOS是開放原始程式碼的軟體,並根據GPL授權。
通過大量的谷歌搜尋,我發現可以通過建立可引導的FreeDOS U盤來實現升級,將* .BIO檔案複製到USB裝置。
更新
在建立了FreeDOS可啟動U盤後,我將BIOS檔案複製到U盤,使用啟動選單從USB裝置啟動,並按照英特爾網站上的說明執行iflash.exe程式。您真正需要從該頁面知道的是使用commandIFLASH2.EXE / PF XXX.BIO,其中XXX是BIOS檔案的名稱。
在開始實際升級之前,先花費幾分鐘重新啟動一下。然後開始升級,我安裝了新的CPU並重新啟動。BIOS rev 48也是使用F7選項啟用進一步BIOS升級所需的版本。即使還有幾個較新的版本可用,但我沒有進一步升級。英特爾網站以及大多數系統管理員都建議只有絕對必要時才升級BIOS。 英特爾還建議僅升級到解決現存問題所需的最低版本。
最終的想法
我的Chrome瀏覽器自動將* .BIO檔案重新命名為* .BIN,我不知道為什麼。一定要確保把它們重新命名為* .BIO,否則iflash程式不會識別它們。建議廣大程式設計師提前研究任何要用於升級系統的硬體的相容性,確保足夠了解駭客入侵硬體時可能遇到的問題。如果遇到問題,可以先嘗試網路搜尋,或許可以得到一個解決辦法。
最後,當我發現可以通過開源專案解決升級問題時,真的很興奮,我認為這是一次不錯的嘗試,你覺得呢?
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-06/144759.htm
相關文章