Есть ли способ изнутри Windows определить, какой BIOS находится в машине?

416
hippietrail

Мне интересно, есть ли способ получить информацию о BIOS из Windows 7 без перезагрузки и перехода в BIOS.

Я проверил Control Panel\System and Security\Systemи Device Manager.

Ключ реестра или встроенный графический интерфейс или инструмент командной строки - это хорошо, я также согласился бы на то, что мне нужно загрузить, если нет включенного способа.

Чем больше информации, тем лучше. Например, American Megatrends / Phoenix / Award плюс номера версий, даты, что угодно.

ОБНОВИТЬ

Теперь я смог найти некоторые настройки в реестре ...

  • HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\SystemBiosDate
  • HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\SystemBiosVersion
  • HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\VideoBiosDate
  • HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\VideoBiosVersion

Есть ли более подробная информация, которая также может быть получена из ОС?

1
Под «информацией о BIOS» вы подразумеваете информацию * о * BIOS или фактических настройках в BIOS? Tarek Fadel 12 лет назад 0
@Tarek Fadel: первый, «информация * о * BIOS». hippietrail 12 лет назад 0
Вы не можете тогда. Это зависит от производителя для реализации (и обеспечения программного обеспечения). Я видел, как некоторые (например, ASUS / Gigabyte) делали это на своих последних материнских платах, но не существует программы для всех. Breakthrough 12 лет назад 0
@Mazura: я задавал этот вопрос за 3 с половиной года до того, как он был крут (-; hippietrail 6 лет назад 0

4 ответа на вопрос

2
Scott McKinney

Если вы не возражаете против небольшого vbscript, приведенный ниже код вернет все, что Windows знает о BIOS. Я не могу взять кредит на код - он исходит непосредственно из приложения Microsoft Scriptomatic .

Скопируйте приведенный ниже код в файл с именем BIOS-Info.vbs (или как вы хотите его назвать), а затем в командной строке введите: cscript BIOS-info.vbs

VBScript код следующим образом:

On Error Resume Next  Const wbemFlagReturnImmediately = &h10 Const wbemFlagForwardOnly = &h20  arrComputers = Array(".") For Each strComputer In arrComputers WScript.Echo WScript.Echo "==========================================" WScript.Echo "Computer: " & strComputer WScript.Echo "=========================================="  Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_BIOS", "WQL", _ wbemFlagReturnImmediately + wbemFlagForwardOnly)  For Each objItem In colItems strBiosCharacteristics = Join(objItem.BiosCharacteristics, ",") WScript.Echo "BiosCharacteristics: " & strBiosCharacteristics strBIOSVersion = Join(objItem.BIOSVersion, ",") WScript.Echo "BIOSVersion: " & strBIOSVersion WScript.Echo "BuildNumber: " & objItem.BuildNumber WScript.Echo "Caption: " & objItem.Caption WScript.Echo "CodeSet: " & objItem.CodeSet WScript.Echo "CurrentLanguage: " & objItem.CurrentLanguage WScript.Echo "Description: " & objItem.Description WScript.Echo "IdentificationCode: " & objItem.IdentificationCode WScript.Echo "InstallableLanguages: " & objItem.InstallableLanguages WScript.Echo "InstallDate: " & WMIDateStringToDate(objItem.InstallDate) WScript.Echo "LanguageEdition: " & objItem.LanguageEdition strListOfLanguages = Join(objItem.ListOfLanguages, ",") WScript.Echo "ListOfLanguages: " & strListOfLanguages WScript.Echo "Manufacturer: " & objItem.Manufacturer WScript.Echo "Name: " & objItem.Name WScript.Echo "OtherTargetOS: " & objItem.OtherTargetOS WScript.Echo "PrimaryBIOS: " & objItem.PrimaryBIOS WScript.Echo "ReleaseDate: " & WMIDateStringToDate(objItem.ReleaseDate) WScript.Echo "SerialNumber: " & objItem.SerialNumber WScript.Echo "SMBIOSBIOSVersion: " & objItem.SMBIOSBIOSVersion WScript.Echo "SMBIOSMajorVersion: " & objItem.SMBIOSMajorVersion WScript.Echo "SMBIOSMinorVersion: " & objItem.SMBIOSMinorVersion WScript.Echo "SMBIOSPresent: " & objItem.SMBIOSPresent WScript.Echo "SoftwareElementID: " & objItem.SoftwareElementID WScript.Echo "SoftwareElementState: " & objItem.SoftwareElementState WScript.Echo "Status: " & objItem.Status WScript.Echo "TargetOperatingSystem: " & objItem.TargetOperatingSystem WScript.Echo "Version: " & objItem.Version WScript.Echo Next Next   Function WMIDateStringToDate(dtmDate) WScript.Echo dtm:  WMIDateStringToDate = CDate(Mid(dtmDate, 5, 2) & "/" & _ Mid(dtmDate, 7, 2) & "/" & Left(dtmDate, 4) _ & " " & Mid (dtmDate, 9, 2) & ":" & Mid(dtmDate, 11, 2) & ":" & Mid(dtmDate,13, 2)) End Function 
Я забыл об этом, я даже использовал этот сценарий раньше. Keltari 12 лет назад 0
1
Keltari

msinfo32.exe даст вам некоторую информацию о BIOS.

1
jim duffy

Откройте Microsoft Word, щелкните меню справки, а затем нажмите «О Microsoft Word», затем нажмите «Информация о системе». Вы найдете все там. Надеюсь, это поможет.

Ах, я вижу, что он просто запускает `msinfo32.exe`, о котором Келтари говорит в [своем ответе] (http://superuser.com/questions/322917/is-there-a-way-from-within-windows-to-identify -Какой-биоз-это-в-машина / 323168 # 323168). hippietrail 12 лет назад 0
0
Col

Я не уверен, но я думаю, что cpuid может сделать это, вы можете скачать его здесь.

http://www.cpuid.com/softwares/cpu-z.html