2013-10-17 34 views
0

如後續,最後2個主板的串行通用主機無法獲取。Dmidecode無法獲得某些主板的主板序列號

所以:

  1. 有什麼不對?
  2. 如何通過linux上的C語言獲得基板序列號?

謝謝!

dmidecode --type baseboard 

板1:

SMBIOS 2.7 present. 

    Handle 0x0002, DMI type 2, 15 bytes 
    Base Board Information 
      Manufacturer: TBD 
      Product Name: TBD 
      Version: TBD 
      Serial Number: 4535NP0023 
      Asset Tag:         
      Features: 
        Board is a hosting board 
        Board is replaceable 
      Location In Chassis: TBD 
      Chassis Handle: 0x0003 
      Type: Motherboard 
      Contained Object Handles: 

板2:

SMBIOS 2.4 present. 

    Handle 0x0002, DMI type 2, 8 bytes 
    Base Board Information 
      Manufacturer: Gigabyte Technology Co., Ltd. 
      Product Name: P55-UD3L 
      Version: x.x 
      Serial Number: SMBIOS 2.4 present. 

    Handle 0x0002, DMI type 2, 15 bytes 
    Base Board Information 
      Manufacturer: Intel Corporation 
      Product Name: 440BX Desktop Reference Platform 
      Version: None 
      Serial Number: None 
      Asset Tag: Not Specified 
      Features: None 
      Location In Chassis: Not Specified 
      Chassis Handle: 0x0000 
      Type: Unknown 
      Contained Object Handles: 0 

板3:

SMBIOS 2.4 present. 

    Handle 0x0002, DMI type 2, 8 bytes 
    Base Board Information 
      Manufacturer: Gigabyte Technology Co., Ltd. 
      Product Name: P55-UD3L 
      Version: x.x 
      Serial Number: 
+0

1.請顯示你做了什麼來產生這個輸出。 2.看看用C編寫的dmidecode的源代碼。[源代碼](http://download.savannah.gnu.org/releases/dmidecode) –

+0

@ Dr.Avalanche,已經重新編輯了這個問題,並正在讀取源代碼碼。 –

回答

1

檢查/ SYS /目錄(開始在/ SYS /類/ dmi) 你會發現文件containi序列號......或不是!

但是請注意,只有在製造商完成他的工作時,DMI信息纔會在啓動階段由BIOS填充,或者最終在操作系統啓動過程中通過(??)ACPI初始化完成。

查看BIOS屏幕 某些製造商顯示BIOS屏幕頁面中的序列號,但是它們不會填充DMI信息... (序列號通常存儲在不同的硬件中,例如,通過I2C連接的EEPROM)

因此,您將在工作圍繞虛假固件結束了..

但是 - 問自己,如果讀的序列號是你的問題的解決方案。 最終你只需要一些東西來識別PC就像一個mac地址,磁盤序列號 - 更像一個UUID ...