找到EFI分区的卷号

时间:2016-08-25 11:41:53

标签: powershell

我正在编写一个交互式脚本,我需要EFI分区的卷号。可能会发生没有分配字母的情况,在这种情况下我会为其分配一个字母。由于我不知道任何自动检测它的方法(请告诉我是否可行),我决定列出卷并询问用户卷号。 列出它的唯一命令是来自list volume的{​​{1}}命令。是否有Powershell命令?解析基于对象的输出要比diskart更容易。我尝试了diskpart但未显示EFI分区。

2 个答案:

答案 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]"}