Answers:
您可以mountvol
在命令提示符下使用以获取要访问的卷的ID。
此ID可以用于打开资源管理器窗口,而与驱动器号无关
要创建驱动器的快捷方式,请创建一个包含以下内容的新批处理文件:
start \\?\Volume{1b3b1146-4076-11e1-84aa-806e6f6e6963}\
:-|
@"%ProgramFiles%\TrueCrypt\TrueCrypt.exe" /v \\?\Volume{4033aabd-1234-5678-a1234567890}\ /lr /c n /q
在PowerShell中,使用如下方式进行Get-Volume
管道传输Format-List
:
get-volume | fl
将为您提供所需的一切,例如SYSTEM RESERVED
,在我的一台机器上的该卷:
ObjectId : {1}\\ACER-M3900\root/Microsoft/Windows/Storage/Providers_v2\WSP_Volume.ObjectId="{5b16a307-de54-11e7-8aeb-806e6f6e6963}:VO:\\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\"
PassThroughClass :
PassThroughIds :
PassThroughNamespace :
PassThroughServer :
UniqueId : \\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\
AllocationUnitSize : 4096
DedupMode : NotAvailable
DriveLetter :
DriveType : Fixed
FileSystem : NTFS
FileSystemLabel : SYSTEM RESERVED
FileSystemType : NTFS
HealthStatus : Healthy
OperationalStatus : OK
Path : \\?\Volume{b41b0670-0000-0000-00e8-0e8004000000}\
Size : 105058304
SizeRemaining : 33992704
PSComputerName :
您可以使用PS中的标签访问磁盘驱动器,如下所示:
ls -l (Get-Volume | ? FileSystemLabel -eq "Barry Allen drive").Path
它已被缩短,在脚本中使用完整格式以提高可读性-参见下文
GPT确实将固定ID用于特殊分区。我们可以使用它们来编写可移植脚本,在不给其分配字母的情况下访问任何计算机上的恢复或系统卷:
系统体积:
ls -l (Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0]
恢复量:
ls -l (Get-Partition | ? GptType -eq "{de94bba4-06d1-4d40-a16a-bfd50179d6ac}").AccessPaths[0] -Force
cd "$((Get-Partition | ? GptType -eq "{de94bba4-06d1-4d40-a16a-bfd50179d6ac}").AccessPaths[0])Recovery"
MSR:在UEFI上,也(应该)有MSR分区,但是您无法访问它,因为它没有卷也没有文件系统:
错误:ls -l ((Get-Partition | ? GptType -eq "{e3c9e316-0b5c-4db8-817d-f92df00215ae}").AccessPaths[0]) -Force
三个警告:
除非正在运行提升卷,否则Get-Volume不会列出隐藏的卷,Get-Partition将列出未提升的卷,但是无论如何您都无法访问未提升的卷。
对于Get-ChildItem(ls),必须使用-LiteralPath参数(-l)传递设备路径。这不是因为“?” 特殊字符。-Path甚至不能与“设备路径”一起使用,即使“?” 逃脱了。
CD无法插入设备路径的根目录。但是也可以将CD刻录到其文件夹中。
始终在脚本中使用完整格式以提高可读性
ls -l ((Get-Partition | ? GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}").AccessPaths[0])
的缩写:
Get-ChildItem -LiteralPath ((Get-Partition | Where-Object { $_.GptType -eq "{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}" }).AccessPaths[0])
ls
是的别名,Get-ChildItem
-l
被缩短-LiteralPath
? *attribute* -eq "*value*"
的缩短的结构,? { $_.*attribute* -eq "*value*" }
?
是别名的,Where-Object
-Force
用于查看恢复卷上的隐藏文件
使用Get-Partition和Get-Volume:
Get-Partition确实提供了GptType参数,但没有提供Label,Get-Volume提供了Label,但没有提供GptType