討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 網路投保旅行平安險 討論區最近新進100則主題
[ 回上頁 ] [ 討論區發言規則 ]
如何在Windows 下寫入SMBIOS
更改我的閱讀文章字型大小
作者 : gilin()
[ 貼文 22 | 人氣 94 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/20 下午 04:04:39
在Windows下可以用WinAPI getsystemfirmwaretable讀取SMBIOS DMI table,但如果要修改裡面的值不知有相關API可以使用嗎?
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/20 下午 05:08:29
http://wenku.baidu.com/view/046e7ed076a20029bd642df4.html
http://gnuwin32.sourceforge.net/packages/dmidecode.htm
http://stenlyho.blogspot.tw/2008/09/smbios.html , this blog owns more information

作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/20 下午 05:45:58
http://msdn.microsoft.com/zh-tw/library/windows/desktop/ms724387(v=vs.85).aspx
作者 : gilin(風之霖)
[ 貼文 22 | 人氣 94 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/21 上午 11:59:54
謝謝大大的資訊~我會再去study看看~
作者 : gilin(風之霖)
[ 貼文 22 | 人氣 94 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/21 下午 12:25:42
大大提供的資訊都是讀取的方式,其實讀取方式跟解DMI table資料我都OK了,甚至DOS下使用Pnp function call也做到了修改DMI功能
我目前的問題是在Windows下仍然無法做到修改DMI 的功能,不知哪位高手知道解決之道?謝謝!
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/21 下午 02:45:05
http://blog.csdn.net/berg65123068/article/details/4063169
作者 : gilin(風之霖)
[ 貼文 22 | 人氣 94 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/21 下午 05:59:16
感謝大大提供的資訊...但這文章說的還是只有讀取方式,沒有寫入/修改資料的方式啊!
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/22 下午 05:51:12
http://gnuwin32.sourceforge.net/packages/dmidecode.htm
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/22 下午 06:04:43
dmidecode is a tool that can run on linux ,but it just for reading smbios . http://www.nongnu.org/dmidecode/
Phoenix has been released a tool can modify smbios , but it just only runs Dos.
作者 : gilin(風之霖)
[ 貼文 22 | 人氣 94 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/23 上午 08:54:36
It's just my difficulty! How to modify SMBIOS under Windows platform.....thanks~
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/23 上午 11:59:13
http://www.ptt.cc/bbs/C_and_CPP/M.1258688592.A.582.html
http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1202555
作者 : gilin(風之霖)
[ 貼文 22 | 人氣 94 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/24 下午 11:01:27
看來還是無解啊!目前都還只有讀取的方式...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/24 下午 11:49:59
http://3y.uu456.com/bp-f2dfsaddd1sabe23482f4d61-1.html
作者 : weber(weber) 程式設計甘苦談優秀好手貼文超過200則人氣指數超過30000點
[ 貼文 302 | 人氣 33525 | 評價 2220 | 評價/貼文 7.35 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/29 上午 12:37:01
我有寫過 Window BIOS Flash 程式,
知道各家 NB/MB 系統廠有自己一套 BIOS 防寫機制.
例如有的是用 GPIO pin 去 trigger EEPROM 的 write-enable signal.
所以一些 Open Source program 是無法套用在現有產品上.

BIOS 在啟動時, 會先把 code 從 EEPROM 中, 解壓縮到 System RAM,
然後設定北橋 memory controller 執行 Memory Shadowing 來保護
EEPROM 不會被寫入.

所以你不論用 Window driver/ SMI handler /AP 去寫入 EEPROM physical
memory 時, 都會被北橋 memory controller redirect 到 system memory
的 BIOS memory shadowing area.

要在 Window 下改寫 BIOS 內容, 步驟如下:

1. program 北橋 memory controller, 關掉 shadowing 機制.(需要有 Intel/AMD datasheet)
2. 啟動各家 BIOS 寫入機制 (你必須有相關資料, 才能做到)
3. 找到 EEPROM 的 Physical Memory Address, 然後就能真正取出
   EEPROM 的 BIOS Code.
4. 解壓縮 BIOS Code 到 system memory
5. 在 system memory 中改寫 BIOS Code (若你就是修改 DMI Table)
6. 壓縮 BIOS Code, 準備寫回 EEPROM.
7. 確定 EEPROM 的型號, 下正確的 state code, 讓它進入寫入模式.
8. 將 (6) 的 data 分成 Block (4K or 8K ? 須看 EEPROM datasheet)
   以 1 個 Block 為單位, 依次寫入 EEPROM.
9. Reboot Window 就大功告成.

寫入 BIOS 搞得這麼複雜是因為 Win95 時代, 有病毒可以 Modify/Delete
BIOS code, 造成死當. 這種當機必須送客服中心, 用 EEPROM 燒錄機來回填
正確 BIOS code. 所以後來各家 BIOS 就開發出這套機制, 來防止事件重演.
 板主 : 徵求中
 > 驅動程式 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 驅動程式 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
驅動程式
1 新兵衛 1240 
2 eBoy 980 
3 牧童哥 780 
4 北極熊 580 
5 天行者 580 
6 燒酒仙 440 
7 weber 380 
8 KEN 350 
9 jonay 180 
10 掌握文武半邊天 180 
驅動程式
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.09375