for /f "tokens=2 delims=:" %%i in ('bootmode C:^|find /i "TotalMemory"') do set tm=%%i
echo 总内存%tm%MB
for /f "tokens=2 delims=:" %%i in ('bootmode C:^|find /i "FreeMemory"') do set fm=%%i
echo 可用内存%fm%MB
for /f "tokens=2 delims=:" %%i in ('bootmode C:^|find /i "UsedMemory"') do set um=%%i
echo 已用内存%um%MB
for /f "tokens=3 delims=:" %%i in ('bootmode C:^|find /i "VolumeLabel"') do set vc=%%i
echo C:盘标签:%vc%
for /f "tokens=3 delims=:" %%i in ('bootmode C:^|find /i "TotalSpace"') do set tc=%%i
echo C:盘总大小%tc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode C:^|find /i "FreeSpace"') do set fc=%%i
echo C:盘可用空间%fc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode C:^|find /i "Usedspace"') do set uc=%%i
echo C:盘已用空间%uc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode C:^|find /i "PartitionType"') do set pc=%%i
echo C:盘分区表类型:%pc%
for /f "tokens=3 delims=:" %%i in ('bootmode D:^|find /i "VolumeLabel"') do set vc=%%i
echo D:盘标签:%vc%
for /f "tokens=3 delims=:" %%i in ('bootmode D:^|find /i "TotalSpace"') do set tc=%%i
echo D:盘总大小%tc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode D:^|find /i "FreeSpace"') do set fc=%%i
echo D:盘可用空间%fc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode D:^|find /i "Usedspace"') do set uc=%%i
echo D:盘已用空间%uc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode D:^|find /i "PartitionType"') do set pc=%%i
echo D:盘分区表类型:%pc%
for /f "tokens=1,8 delims=: " %%i in ('bootmode 1^|find /i "maximum"') do (
set disk=%%i
set FreespaceMAX=%%j)
echo %disk%盘可用空间最大,为%FreespaceMAX%GB
bootmode C:|find /i "BIOS" && goto :BIOS || goto :UEFI
msdn.microsoft.com
WinPE:在 UEFI 或旧版 BIOS 模式下启动
在 UEFI 电脑上启动 Windows PE 时,可能需要检查电脑是在 UEFI 模式下还是在旧版 BIOS 兼容性模式下启动。
例如,通过 Windows PE 运行 Windows 安装程序要求你使用正确的固件模式。
对于许多操作,例如通过使用 Diskpart 和 DISM 来应用 Windows 映像,固件模式可能不会导致差异。
Dn938383.wedge(zh-cn,VS.85).gif启动到 UEFI 模式
启动 PC 时,可能需要手动选择 UEFI 启动文件:\EFI\BOOT\BOOTX64.EFI。
启动你的 PC,并通过按键进入固件菜单(示例:Esc、F2、F9、F12)。
查找用于选择启动文件(示例:启动到文件、启动到 EFI 文件)的固件选项。
从 USB 驱动器选择文件:\EFI\BOOT\BOOTX64.EFI。
Dn938383.wedge(zh-cn,VS.85).gif检测使用 BIOS 还是 UEFI 模式启动 Windows PE
检查 HKLM\System\CurrentControlSet\Control\PEFirmwareType 注册表值来查看电脑是启动到 UEFI 模式还是 BIOS 模式。请注意:可能需要运行 wpeutil UpdateBootInfo 来确保该值存在。
reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType
如果 PC 启动到 BIOS 模式,该命令将返回“0x1”,如果启动到 UEFI 模式,将返回“0x2”。
示例脚本:
wpeutil UpdateBootInfo
for /f "tokens=2* delims= " %%A in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET Firmware=%%B
:: Note: delims is a TAB followed by a space.
if %Firmware%==0x1 echo The PC is booted in BIOS mode.
if %Firmware%==0x2 echo The PC is booted in UEFI mode.
如果这是常见问题,可以删除用于 UEFI 模式或 BIOS 模式的启动文件来防止 PC 在错误模式中启动。如果电脑固件设置为在错误模式下启动,介质将立即停止启动,这使你可以立即在正确模式下重新尝试启动电脑。
在 UEFI 模式下启动:要防止 Windows PE 在 BIOS 模式下启动,请删除介质根目录上的“bootmgr”文件。
在 BIOS 模式下启动:要防止 Windows PE 在 UEFI 模式下启动,请删除介质根目录上的“efi”文件夹。