我正在编写一个交互式脚本,我需要EFI分区的卷号。可能会发生没有分配字母的情况,在这种情况下我会为其分配一个字母。由于我不知道任何自动检测它的方法(请告诉我是否可行),我决定列出卷并询问用户卷号。
列出它的唯一命令是来自list volume
的{{1}}命令。是否有Powershell命令?解析基于对象的输出要比diskart
更容易。我尝试了diskpart
但未显示EFI分区。
答案 0 :(得分:1)
您可以使用此命令通过分区获取驱动器号,而不是卷:
get-partition | where-object {$_.GptType -eq "{C12A7328-F81F-11D2-BA4B-00A0C93EC93B}"} | select-object -first 1 DriveLetter
其中{C12A7328-F81F-11D2-BA4B-00A0C93EC93B}
是GPT中EFI系统分区的GUID:https://en.wikipedia.org/wiki/EFI_system_partition
如果您想要使用EFI System Partition对象,请使用以下命令:
get-partition | where-object {$_.GptType -eq "{C12A7328-F81F-11D2-BA4B-00A0C93EC93B}"}
这将使系统看到的所有分区都是ESP分区 - 其中应该只有一个分区。
答案 1 :(得分:0)
如果您还没有,可以尝试使用Get-PSDrive cmdlet。
get-psdrive | where{$_.name -like "[A-Z]"}