2017-05-19 53 views
1

背景:没有分区的Windows卷

我正在使用Powerhell脚本来通过WinPE自动从U盘进行安装。由于目标系统有多个驱动器,每个驱动器可能有一对分区,所以Windows很快就会耗尽驱动器盘符。部分脚本取消分配所有驱动器号,然后只重新分配必要的磁盘。现在,我将硬编码字母分配给某些分区,但是我遇到了其中一个字母未被分配的问题。

的问题是,我不知有指定的盘符的卷,但有显然没有基本的分区,因为Remove-PartitionAccessPath需要一个分区对象,有没有办法做到这一点从PowerShell的(而不是诉诸diskpart)。

这里是diskpart输出 - 你可以看到所选磁盘没有分区,但不知何故有音量:

Microsoft DiskPart version 10.0.15063.0 

Copyright (C) Microsoft Corporation. 
On computer: MININT-6GI0UNM 

DISKPART> list disk 

    Disk ### Status   Size  Free  Dyn Gpt 
    -------- ------------- ------- ------- --- --- 
    Disk 0 Online   5589 GB  0 B  * 
    Disk 1 Online   5589 GB  0 B  * 
    Disk 2 Online   5589 GB  0 B  * 
    Disk 3 Online   5589 GB  0 B  * 
    Disk 4 Online   5589 GB  0 B  * 
    Disk 5 Online   5589 GB  0 B  * 
    Disk 6 Online   5589 GB  0 B  * 
    Disk 7 Online   5589 GB  0 B  * 
    Disk 8 Online   5589 GB  0 B  * 
    Disk 9 Online   5589 GB  0 B  * 
    Disk 10 Online   5589 GB  0 B  * 
    Disk 11 Online   5589 GB  0 B  * 
    Disk 12 Online   447 GB  0 B  * 
    Disk 13 Online   447 GB  0 B  * 
    Disk 14 Online   232 GB  0 B  * 
    Disk 15 Online   29 GB 29 GB 
    Disk 16 Online   28 GB  0 B  * 

DISKPART> sel disk 15 

Disk 15 is now the selected disk. 

DISKPART> list part 

There are no partitions on this disk to show. 

DISKPART> detail disk 

ATA Hypervisor USB Device 
Disk ID: E0623CE6 
Type : USB 
Status : Online 
Path : 0 
Target : 0 
LUN ID : 0 
Location Path : UNAVAILABLE 
Current Read-only State : No 
Read-only : No 
Boot Disk : No 
Pagefile Disk : No 
Hibernation File Disk : No 
Crashdump Disk : No 
Clustered Disk : No 

    Volume ### Ltr Label  Fs  Type  Size  Status  Info 
    ---------- --- ----------- ----- ---------- ------- --------- -------- 
    Volume 20 E      Removable  0 B Unusable 

DISKPART> 

这里发生了什么,当我尝试从PowerShell中取出一封信:

PS X:\sources> Get-Volume -DriveLetter E | Remove-PartitionAccessPath -AccessPath "E:" 
Remove-PartitionAccessPath : The input object cannot be bound to any parameters for the command either because the 
command does not take pipeline input or the input and its properties do not match any of the parameters that take 
pipeline input. 
At line:1 char:29 
+ ... t-Volume -DriveLetter E | Remove-PartitionAccessPath -AccessPath "E:" 
+        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : InvalidArgument: (MSFT_Volume (Ob...rosoft/Wind...):PSObject) [Remove-PartitionAccessPat 
    h], ParameterBindingException 
    + FullyQualifiedErrorId : InputObjectNotBound,Remove-PartitionAccessPath 

PS X:\sources> Get-Volume -DriveLetter E | fl * 


OperationalStatus  : Unknown 
HealthStatus   : Healthy 
DriveType    : Removable 
FileSystemType  : Unknown 
DedupMode    : NotAvailable 
ObjectId    : {1}\\MININT-6GI0UNM\root/Microsoft/Windows/Storage/Providers_v2\WSP_Volume.ObjectId="{63585070- 
         3cd2-11e7-b877-806e6f6e6963}:VO:\\?\Volume{635850c4-3cd2-11e7-b877-806e6f6e6963}\" 
PassThroughClass  : 
PassThroughIds  : 
PassThroughNamespace : 
PassThroughServer  : 
UniqueId    : \\?\Volume{635850c4-3cd2-11e7-b877-806e6f6e6963}\ 
AllocationUnitSize : 0 
DriveLetter   : E 
FileSystem   : 
FileSystemLabel  : 
Path     : \\?\Volume{635850c4-3cd2-11e7-b877-806e6f6e6963}\ 
Size     : 0 
SizeRemaining   : 0 
PSComputerName  : 
CimClass    : ROOT/Microsoft/Windows/Storage:MSFT_Volume 
CimInstanceProperties : {ObjectId, PassThroughClass, PassThroughIds, PassThroughNamespace...} 
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties 



PS X:\sources> Get-Volume -DriveLetter E | Get-Partition 
PS X:\sources> $null -eq (Get-Volume -DriveLetter E | Get-Partition) 
True 

Powershell的版本表:

PS X:\sources> $PSVersionTable 

Name       Value 
----       ----- 
PSVersion      5.1.15063.0 
PSEdition      Desktop 
PSCompatibleVersions   {1.0, 2.0, 3.0, 4.0...} 
BuildVersion     10.0.15063.0 
CLRVersion      4.0.30319.42000 
WSManStackVersion    3.0 
PSRemotingProtocolVersion  2.3 
SerializationVersion   1.1.0.1 

我如有必要,可尝试获取有关所涉及磁盘内容的更多详细信息。

这可能是什么原因造成的?有没有PowerShell的解决方法?

注意:我知道让Windows选择驱动器字母而不是硬编码它们可能会更好,但我仍然对这个神秘的音量感到好奇。

+0

看起来像(无论何种原因),整个设备被视为单个体积,而不是作为应该分区的盘。一些可移动磁盘传统上未分区,例如DVD和软盘。任何机会,这是一个蓝光驱动器或类似的设备? (我认为USB驱动器也可以被格式化为单个卷,但是如果是这种情况,它应该显示为已用空间,而不是可用空间。) –

+0

可能的硬件是什么?既然你只在这个USB驱动器上看到它。 –

回答