Disk 逻辑磁盘
Get-Disk
此命令用于获取可由操作系统管理的磁盘。当然如果是动态磁盘。或者已经位于池中的磁盘
无法通过此命令获取,在不添加任何参数下,仅显示磁盘序号,名称,当前磁盘联机状态,大小,以及分区形式。
如下图所示
我们使用get-disk |Select-Object * 对其进行完整输出,如下图
下面对其中属性进行解释
PartitionStyle 磁盘分区类型对于已经初始化的磁盘这里将会显示 MBR,GPT,
没有经过初始化的磁盘或者磁盘损坏磁将会显示RAW
OfflineReason 磁盘脱机原因
BootFromDisk 是否为启动磁盘 其中只有两个显示分别为False,True
IsClustered 是否以群集化 为布尔类型 其中只有两个显示分别为False,True
IsOffline 是否脱机 为布尔类型 其中只有两个显示分别为False,True
IsReadOnly 是否为只读 为布尔类型 其中只有两个显示分别为False,True
IsSystem 是否为系统磁盘 为布尔类型 其中只有两个显示分别为False,True
Number 磁盘序号,一般和物理磁盘的DeviceId 一致
NumberOfPartitions 当前磁盘总计分区数,也就是说这个磁盘上当前有几个分区的意思
ObjectId/ Path 分别为对象ID 与设备路径,这些均可以在设备管理器看到
UniqueId 在get-physicaldisk 中介绍过这里不再介绍
下面即将演示通过get-disk 命令找出磁盘分区格式为GPT的磁盘
使用get-disk |where {$_.PartitionStyle -match "GPT"} 来获取GPT分区格式的磁盘
如下图
提问 :
1.如何通过UniqueId 参数查找特定的磁盘?
2.如何查找处于脱机的磁盘,如何查找其脱机原因?
3.如何查找一个或者多个指定序号的磁盘?
4.如何找出未初始化的磁盘?
思考问题 UniqueId 很长难以记住,有没有更好的方法呢?
Set-Disk
此命令用于更改由get-disk 可获取的对象属性,其可更改的属性包括磁盘分区类型,
是否脱机,是否只读。
下面将演示使用set-disk 命令对磁盘进行更改,使其脱机(offline)
在本例中将会出现四个磁盘用于演示,其中有HDD一个SSD三个。
可用于更改的磁盘有两个SSD。
第一步 使用get-disk 获取当前可供管理的磁盘如下图
从图中获取到可更改的磁盘序号分别为 0,1(这两个是新加上的没有任何数据)
第二步 利用管道将序号为0,1的磁盘传递给set-disk 让其脱机(offline)
get-disk 0,1|Set-Disk -IsOffline $true,此后重新使用get-disk 命令再次获取磁盘状态
这里我们为get-disk 命令添加参数 –number
如下图
此时磁盘已经脱机在磁盘管理中可以看到
还记得get-disk命令输出中有一项属性为offlinereason,
现在我们来看一下这两个磁盘的脱机原因
使用get-disk -Number 0,1 |Select-Object OfflineReason 如下图
图中明确的告诉我们脱机原因是因为策略
磁盘管理中给出的原因如图
本节的演示已经回答了在get-disk一节的提问,对于没有演示的提问在本节中也已经给出方法。
提问 如何使用UniqueId参数 来设定磁盘分区形式,是否只读?
Initialize-Disk
此命令用于初始化磁盘。
此命令在执行时将初始化磁盘,同时指定其分区形式(MBR/GPT其中GPT 为默认形式)
磁盘在格式化前必须经过初始化,以用来数据存储。
此命令可以初始化物理磁盘也可以初始化虚拟磁盘。
下面将演示如何将一个或者多个磁盘进行初始化。
在本次演示中将初始化两个SSD 同时其分区形式为GPT
同时我们将定义一个变量用于接收命令产生的对象,用于简化输入
第一步 通过get-disk 命令查找未初始化的磁盘
如下图
第二步 定义变量 $disk_init 内容为get-disk产生的对象
第三步 使用管道符号将变量内容传递给 initialize-disk 命令
同时指定参数 PartitionStyle 其参数值为GPT
此时位于变量 $disk_init 中的磁盘对象将逐一传递给initialize-disk 命令进行初始化
Clear-disk
此命令用于清除选中磁盘的分区信息,并且将磁盘重置到未初始化的状态
注意:已经池化的磁盘无法通过此命令执行清除操作 此操作会使选中磁盘上的数据全部丢失!!请谨慎使用
下面将演示使用此命令进行清除操作
环境 环境中有一个SSD 同时有一个分区分区形式为GPT且使用全部磁盘容量,分配盘符为E,磁盘编号为0,
如下图所示
使用Clear-Disk -Number 0 对其进行清除 运行后如下图
图中出现红色错误,提示我们在拥有分区的情况下无法清除,请使用removedata 参数
下面我们添加removedata 参数 运行后如下
提示: 在仅仅完成初始化的磁盘上进行清除操作时候无需添加removedata参数
提问:如何同时对多个磁盘进行清除
Update-disk
此命令用于刷新磁盘缓存信息状态。
默认情况下update-disk 将刷新全部磁盘状态
注意某些多磁盘系统上此命令可能运行很长时间
在刷新状态时候我们可以使用公共参数 –asjob使其任务进入后台图下图
此后我们使用get-job 来获取任务状态如下图
对于获取已经完成的任务信息我们使用Receive-Job 进行获取
提问:
请尝试使用Receive-Job 获取本里中结果
|