For instance, you may want to install Windows onto the SSD in the system, but Windows does not tell you which drive that is!
You may need to install a special Mass Storage Disk driver so that you can access the hard disks within that system, but you don't know which Controller is in that system and hence which driver to install.
The developer of grubfm, A1ive, has made available on github a utility which you may find useful - called nwinfo.
There are both 32-bit and 64-bit versions available as well as a GUI version (gnwinfo) which can be run under Windows or WinPE. The CLI version (nwinfo) will run under WinPE and can display useful information.
K:\NWINFO>nwinfo_x64.exe /?
NWinfo CLI v0.9.5.0
Hardware information utility for Windows
Copyright (c) 2023 A1ive
Usage: nwinfo OPTIONS
OPTIONS:
--format=FMT Specify output format.
FMT can be 'YAML' (default), 'JSON' and 'LUA'.
--output=FILE Write to FILE instead of printing to screen.
--cp=CODEPAGE Set the code page of output text.
CODEPAGE can be 'ANSI' and 'UTF8'.
--human Display numbers in human readable format.
--debug Print debug info to stdout.
--hide-sensitive Hide sensitive data (MAC & S/N).
--sys Print system info.
--cpu Print CPUID info.
--net[=FLAG] Print network info
FLAG can be 'ACTIVE' (print only the active network).
--acpi[=SGN] Print ACPI info.
SGN specifies the signature of the ACPI table,
e.g. 'FACP' (Fixed ACPI Description Table).
--smbios[=TYPE] Print SMBIOS info.
TYPE specifies the type of the SMBIOS table,
e.g. '2' (Base Board Information).
--disk[=PATH] Print disk info.
PATH specifies the path of the disk,
e.g. '\\.\PhysicalDrive0', '\\.\CdRom0'.
--no-smart Don't print disk S.M.A.R.T. info.
--display Print EDID info.
--pci[=CLASS] Print PCI info.
CLASS specifies the class code of pci devices,
e.g. '0C05' (SMBus).
--usb Print USB info.
--spd Print SPD info.
--battery Print battery info.
--uefi Print UEFI info.
--shares Print network mapped drives.
--audio Print audio devices.
A batch file can be made, which if run under WinPE, can provide useful information:
@echo off
nwinfo_x64.exe --smbios=3 | find "Desktop" > nul && Echo System is a Desktop PC
nwinfo_x64.exe --smbios=3 | find "Laptop" > nul && Echo System is a Laptop
nwinfo_x64.exe --smbios=3 | find "Notebook" > nul && Echo System is a Notebook
nwinfo_x64.exe --smbios=3 | find "Tablet" > nul && Echo System is a Tablet
nwinfo_x64.exe --sys | find "Computer Name"
nwinfo_x64.exe --sys | find "Firmware"
nwinfo_x64.exe --cpu | find "Brand"
echo Drive 0
nwinfo_x64.exe --no-smart --disk=\\.\PhysicalDrive0 | find "HW Name"
echo PCI ID of Mass Storage Controllers
nwinfo_x64.exe --pci=0106 | find "HWID"
echo Displays
nwinfo_x64.exe --display | find "Display Name:"
echo UEFI BIOS
nwinfo_x64.exe --uefi | find "Secure Boot:"
nwinfo_x64.exe --uefi | find "Firmware Type:"
echo Audio
nwinfo_x64.exe --audio | find "Name:"
echo Battery
nwinfo_x64.exe --battery | find "AC Power:"
nwinfo_x64.exe --battery | find "Battery Status:"
For instance, to determine the drive type of disk0 (SSD or HDD) you could use:
nwinfo_x64.exe --no-smart --disk=\\.\PhysicalDrive0 | find "SSD:" > nul && echo Drive 0 is an SSD
You could also determine if the target system was a desktop or laptop, etc. or find it's model name and install the appropriate drivers.
Here are the nwinfo runtime files:
1,235 LICENSE
14,124 gnwinfo.ini
147,968 libcdi.Win32.dll
175,616 libcdi.x64.dll
47,299 jep106.ids
24,520 HwRwDrv.sys
23,496 HwRwDrvx64.sys
1,431,735 pci.ids
725,878 usb.ids
62,918 pnp.ids
53,248 ryzenadjx64.dll
183,296 nwinfo_x64.exe
315,392 gnwinfo_x64.exe
50,688 ryzenadj.dll
158,208 nwinfo_x86.exe
266,752 gnwinfo_x86.exe
Use gnwinfo for the graphical version which can also be run under WinPE - e.g. Strelec or HBCDPE.
No comments:
Post a Comment