使用 Windows PowerShell 查找 USB 设备并将其格式化为启动 U 盘其实非常简单,只需使用 Get-Disk cmdlet 即可。Get-Disk 可以查看当前计算机上的所有磁盘,而 USB 设备的 BusType 为 USB,因此我们只需使用 BusType 进行筛选即可。
Get-Disk | Where-Object { $_.BusType –eq ‘USB’ }
那当我们的计算机连接有多个 U 盘,又该如何选择和指定呢?
此时我们可以用管道将结果输出给 Out-Gridview 并使用 –passthru 参数,这里就会列出所有 U 盘及其空间大小的列表,以方便选择。
Get-Disk | Where-Object { $_.BusType –eq ‘USB’ } | Out-Gridview –passthru
既然我们已经可以通过这种方式来简单选择和指定 U 盘,就可以将其存到 $Disk PowerShell 对象:
$Disk= Get-Disk | Where-Object { $_.BusType –eq ‘USB’ } | Out-Gridview –passthru
接下来,需要清空 U 盘的分区和内容。要正确清除 U 盘上的分区和数据,我们将使用 Clear-Disk 和 Remove-Partition 两条命令的组合:
Get-Disk -Number ($Disk.number) | Get-Partition | Remove-partition -confirm:$false -ErrorAction SilentlyContinue
Clear-Disk -Number $Disk.Number -RemoveData -RemoveOEM -confirm:$false -ErrorAction SilentlyContinue
在 U 盘分区和数据都清空后,我们便可开始制作 Windows PE 启动 U 盘了。我们先为 U 盘分配一个盘符,我们网站域名是 W 开头的,盘符就 W 吧。不过在此之前,我们还得先使用如下命令对先前定义好的 $Disk U 盘进行初始化:
Initialize-Disk -Number ($Disk.Number) -PartitionStyle MBR -ErrorAction SilentlyContinue
然后,我们创建一个分区来存储数据,在此步骤中使用 –UseMaximum 参数为分区分配整个 U 盘的空间,使用 –IsActive 参数将其标识为可引导的活动分区。
$OSDrive='W'
$Partition=New-Partition -DiskNumber ($Disk.Number) -DriveLetter $OSDrive -UseMaximumSize -IsActive
由于 UEFI 无法识别 NTFS 文件系统的引导,为了能够兼容使用 UEFI 的大多数计算机,我们将 U 盘格式化为 FAT32 格式。
Format-Volume -Partition $Partition -FileSystem FAT32 -NewFileSystemLabel 'Windows PE'
大于 32 G 的 U 盘不支持格式化成 FAT 32 格式。
此时,一个可引导 U 盘就已经格式化并制作完成了。那我们要如何制作 Windows PE 的引导选单并将其放入 U 盘呢?下篇文章中我们将详细介绍。