使用 UEFI 更改戴尔计算机上的启动顺序

使用 UEFI 更改戴尔计算机上的启动顺序

有人知道如何在戴尔电脑的操作系统 (Windows 7/10) 内部更改启动顺序吗?它在传统模式下运行良好,并且使用韓國但当客户端具有 UEFI 时似乎没有任何效果。我需要这个,因为解决方案是 PXE 启动客户端(重新安装操作系统),而无需从当前操作系统内部启动操作系统安装(例如使用 SCCM)。

这在传统上很有效

cctk bootorder --sequence=embnic1,hdd

但不是在 UEFI 中。

答案1

您可以简单地使用 cctk.exe ForcePxeOnNextBoot=Enabled

答案2

Powershell 脚本 - 在某处找到,我不是作者而是修改者。该脚本将启动顺序更改为 IPv4 嵌入式 NIC 卡优先,并禁用 IPv6 启动。需要将 BIOS 密码设置为空(对我来说,通过 SCCM TaskSequence 步骤)或在脚本中提供密码或通过参数手动提供密码:

param (
[string]$biospwd = $( Read-Host "Input BIOS password please and press Enter ..." )
 )
# Clear BIOS password
.\cctk.cmd --setuppwd= --valsetuppwd=$biospwd
.
.
# Fill BIOS password back
.\cctk.cmd --setuppwd=$biospwd

CCTK 3.x 适用于较旧的型号(如 OP3010、3020),需要带 HAPI 驱动程序;CCTK 4.x 不带 HAPI,适用于较新的型号。可以在 Windows\Logs\uefi*.txt 文件中检查结果。


$SerialNumber = $(Get-WmiObject win32_bios).SerialNumber
$UEFIfileName = "$Env:SystemRoot\Logs\uefiBootOrder_" + $SerialNumber + "_Source" + ".txt"
$UEFIfileNameAfter = "$Env:SystemRoot\Logs\uefiBootOrder_" + $SerialNumber + "_AfterChange" + ".txt"

.\cctk.cmd bootorder --bootlisttype=uefi --valsetuppwd= > $UEFIfileName

foreach($line in Get-Content $UEFIfileName) {
# For OP3010 and OP3020
# if($line -match "IP6 Realtek"){
if($line -match "Onboard NIC.IPV6."){
if($line -match "uefi\."){
$uefi2 = $line -split " " -match "uefi\."
}
if($line -match "embnic"){
$uefi2 = $line -split " " -match "embnic"
}

# Write-Host "UEFI_IPv6" $uefi2
# Write-Host .

.\cctk.cmd bootorder --bootlisttype=uefi --disabledevice=$uefi2 --valsetuppwd=
}
# For OP3010 and OP3020
# if($line -match "IP4 Realtek"){
if($line -match "Onboard NIC.IPV4."){
if($line -match "uefi\."){
$uefi = $line -split " " -match "uefi\."
}
if($line -match "embnic"){
$uefi = $line -split " " -match "embnic"
}

# Write-Host "UEFI_IPv4" $uefi
# Write-Host .

.\cctk.cmd bootorder --bootlisttype=uefi --sequence=$uefi --valsetuppwd= 
}
}

start-sleep -seconds 2

.\cctk.cmd bootorder --bootlisttype=uefi --valsetuppwd= > $UEFIfileNameAfter

# Remove-Item –path $UEFIfileName
# Remove-Item –path $UEFIfileNameAfter

相关内容