Insyde BIOS@G50-80 初探

來源:互聯網
上載者:User

標籤:電腦   通用   進階功能   重新安裝   set   微處理器   自己   for   cap   

近些天為了啟用筆記本上的WoL功能,對UEFI BIOS有了一些瞭解。新一代的UEFI規範實現了很多先進的功能,比形介面,檔案系統支援,擴充性,secure boot,secure flash(capsule)等,而這些原本是為了使使用者體驗更好,使用更方便、安全的的功能,被廠商念錯了經。M$利用secure boot功能限制電腦安裝其他的作業系統,甚至安裝了Ubuntu一類的系統,連進一步安裝各種驅動都要受到限制(這個以後有空再寫,大體上可以通過PK自簽名繞過)。LEN0V0利用UEFI的進階功能,在使用者重裝系統後自動重新安裝聯想組件,本來無可厚非,無奈國內版本重裝的**@*%#¥……,而且前段時間被爆出了安全性漏洞。穡cure flash使得重新整理韌體變得異常困難,完美的刷寫只有破解Signed Capsule的結構或者使用SPI燒錄。更不用提白名單限制使用者安裝新網卡、前段時間鬧得沸沸揚揚的ME漏洞、EC漏洞等等。總之UEFI真正的強大功能能否被實現,還得看各個廠商的看(wei)法(suo)和態(cheng)度(du)了。。。真正的安全不是廠商覺得安全,而是讓使用者覺得安全,對自己使用的東西有完全的掌控。

 

平台:lenovo g50-80筆記本,UEFI BIOS,Insyde BIOS

結論:

1. 使用insydeflash工具,一般情況下執行的是secure flash,即直接將升級檔案寫入記憶體地區(或ESP分區),形成capsule,然後發SMI指令,設定更新的變數,然後S3 reboot,重啟之後系統直接進入升級模式,由現有的BIOS執行capsule校正,(可能包括Insyde QA檢驗和Manufacturer Trust檢驗,類似RSA簽名),校正通過則由現有BIOS裡面的flash程式重新整理,順帶可能會重新整理EC(內部微處理器韌體,比如主板驅動,功能鍵驅動等)、ME(CPU微碼)、FV(不知道什麼東西)。這期間可能會重新整理系統變數,比如原有的BIOS設定,secure boot的key,slic,根憑證等等。這就導致了BIOS修改之後無法刷入,BIOS校正程式在FLASH裡面,破解校正程式本身就需要刷入新的BIOS,而不破解校正則根本無法刷入新BIOS,這樣的安全性挺高。詳情參見UEFI capsule規範,以及Intel的開發指南,以及Tinocore的原始碼。(https://www.techinferno.com/index.php?/forums/topic/1870-flash-modified-biosuefi-which-are-digitally-signed-circumvent-secure-flash/ )

2. BIOS-MOD網站上給出了recover的方式,通過在開機時按幾個鍵,讓電腦進入BIOS修複模式,從USB讀取韌體,自己恢複。這裡的關鍵是如何進入復原模式、如何得到正確的恢複檔案。經過摸索,G50機型的恢複鍵是:關機,插上電池,插上裝有恢複檔案的隨身碟,拔下AC -> 按住Fn+R不要鬆手,插AC -> 按電源鍵開機,電源燈閃爍紅色,鬆開所有按鍵。但是正確的恢複檔案格式、檔案名稱沒有找到。估計應該是使用官方給出的升級檔案bioss.fd,也許應該重新命名成Broadwell.fd(從PcdPeim模組裡找到,見 https://www.bios-mods.com/bios-recovery/insyde-bios-recovery/#comment-1457  ),拔下所有隨身碟之外的USB裝置。。。。。。不過一直沒有成功,原因未知。而且據說可以恢複,恢複過程也需要校正,這種方式可能也無法繞過校正

3.直接刷寫flash,這種方式包括在DOS下用fpt tool(INTEL官方的刷寫程式,開發UEFI時的工具,可以直接刷寫),在EFI SHELL下用一些工具刷寫,DOS下用其他工具刷寫等,這些方式都是通過某些特殊的指令直接讀寫flash晶片,有很大的危險性,一方面這些讀寫指令有些可能被鎖定,很容易刷寫失敗。另一方面由於不瞭解flash裡面的結構(廠家不可能公開),很容易刷成磚(比如寫錯地區,或者把啟動區代碼刷掉了等等)。。。這些都會造成不可修複的soft-brick。。。。。不保修的。一般也無法個人修複,除非你有SPI工具。

4.SPI方式,利用燒錄器直接刷晶片,危險性同上,但是由於以SPI方式,flash裡面的內容可以進行完全讀寫,可以先讀出來做一個完全備份。出現問題總能修複。好處在於利用夾具可以直接夾在晶片引腳上,無需拆焊,很方便。這也是一般的主板維修方法。(https://www.bios-mods.com/forum/Thread-TUTORIAL-how-to-unlock-hidden-tabs-in-lenovo-g50-80-Mod-lenovo-g50-80-bios  )

但是!FLASH晶片很容易刷壞的,一旦壞了就比較麻煩了。另外穩定的SPI工具也不便宜。而且,對於EC和CPU ME,似乎沒有辦法直接刷寫。Nvram(儲存系統變數的位置)暫時不清楚在哪。

5.直接讀寫變數,實現部分修改的目的。這也是在BIOS-MOD論壇上推薦的辦法。大體是在DOS下或者EFI SHELL下直接讀寫NVRAM,達到越過BIOS介面直接修改系統功能的目的。問題同3,某些讀寫指令可能被鎖住了。至於如何確定某個變數的儲存位置,需要解析UEFI BIOS檔案,有些工具可以實現,包括MDL和BIOS-MOD論壇裡的各種工具、指令碼,比如Universal IFR Extractor等,大致是通過解析UEFI BIOS檔案找到變數儲存位置(UEFI檔案很容易解析,有固定的格式 ,工具能解析大部分格式,但有的廠商的UEFI BIOS解析不出來)。(https://www.bios-mods.com/forum/Thread-READ-FIRST-Access-Advanced-settings-through-EFI-shell   )。其中的BOOTX64.EFI其是通用的UEFI SHELL,也可以通過Tinocore的對應原始碼自己編譯。

以上就是幾種刷寫Insyde BIOS的方法。處理Insyde BIOS的具體細節可以google或者在BIOS-MOD以及MDL論壇等去找。下一篇繼續。

 

Insyde [email protected] 初探

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.