GitHunt
YU

yumaojun03/dmidecode

纯Golang实现的dmidecode, 零依赖, 支持Linux, Unix, Windows

dmidecode

Build and Test
codecov
Go Report Card
Release
MIT License

纯Golang实现的dmidecode, 零依赖, 支持Linux, Unix, Windows

功能和命令行的dmidecode工具一样, 使用方式参考: example

开发过程相关小博客: 使用Golang重新实现dmidecode

安装方式

$ go get "github.com/yumaojun03/dmidecode"

使用样例

package main

import (
	"fmt"
	"os"

	"github.com/yumaojun03/dmidecode"
)

func checkError(err error) {
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
}

func main() {
	dmi, err := dmidecode.New()
	checkError(err)

	infos, err := dmi.BIOS()
	// 支持以下类型的解析
	// dmi.BaseBoard()
	// dmi.Chassis()
	// dmi.MemoryArray()
	// dmi.MemoryDevice()
	// dmi.Onboard()
	// dmi.PortConnector()
	// dmi.Processor()
	// dmi.ProcessorCache()
	// dmi.Slot()
	// dmi.System()
	checkError(err)

	for i := range infos {
		fmt.Println(infos[i])
	}
}

CLI 使用

$ go run cmd/main.go -d -t [bios, system, baseboard, chassis, onboard, port, processor, memory, slot]

Languages

Go99.2%Makefile0.8%
MIT License
Created June 25, 2019
Updated November 7, 2025
yumaojun03/dmidecode | GitHunt