当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 Windows PowerShell 管理磁盘和分区

作者:精品下载站 日期:2024-12-14 20:02:34 浏览:16 分类:玩电脑

使用 Windows PowerShell 管理磁盘和分区


在本文中,我们将了解 PowerShell 控制台的磁盘、分区和卷管理。您可以从 PowerShell 执行管理本地磁盘和分区的所有操作,这些操作习惯于从“磁盘管理”GUI (diskmgmt.msc) 或 diskpart.exe 命令行工具执行。磁盘管理 cmdlet 包含在 PowerShell 3.0 中提供的存储模块中。我们将考虑如何初始化磁盘、在其上创建分区表、创建卷并格式化它。下面给出的命令适用于 Windows 10/Server 2016 和 Windows 8.1/Server 2012 R2(对于以前的 Windows 版本,您必须先更新 PowerShell)。

Windows 10 中的存储模块中有 160 个 PowerShell cmdlet。要显示与磁盘管理相关的所有可用命令,请运行以下命令:

Get-Command -Module Storage

[玩转系统] 使用 Windows PowerShell 管理磁盘和分区

重要。从 PowerShell 管理磁盘和分区时要非常小心,以免意外删除或格式化包含数据的分区。

PowerShell:列出本地磁盘和分区

首先,尝试在逻辑级别显示系统中可用的本地磁盘列表。为此,请运行以下命令:

Get-Disk | ft -AutoSize

要仅选择安装 Windows 的系统磁盘,请输入以下命令:

Get-Disk | Where-Object IsSystem -eq $True | fl

可以看到,该命令返回了系统盘的以下属性(您也可以在选择时使用它们):

UniqueId : SCSI\DISK&VEN_VMWARE&PROD_VIRTUAL_DISK&1EC51BF7&0&000000:DESKTOP-JOPF9
Number : 0
Path : \?\scsi#disk&ven_vmware&prod_virtual_disk#5&1ec42ba7&0&000000#{21f23456-a6bf-12d0-94f2-001efb8b}
Manufacturer : VMware
Model : Virtual disk
SerialNumber :
Size : 98 GB
AllocatedSize : 98432321434
LogicalSectorSize : 512
PhysicalSectorSize : 512
NumberOfPartitions : 2
PartitionStyle : MBR
IsReadOnly : False
IsSystem : True
IsBoot : True

您只能显示脱机磁盘:

Get-Disk | Where-Object IsOffline -Eq $True| ft -AutoSize

[玩转系统] 使用 Windows PowerShell 管理磁盘和分区

如果您需要有关物理磁盘的信息(计算机上物理磁盘的特征和状态),请使用 Get-PhysicalDisk cmdlet(之前我们展示了如何使用 Get-PhysicalDisk cmdlet 检测存储空间直通中的故障物理磁盘以及如何使用它,然后配置容错 S2D 存储)。

[玩转系统] 使用 Windows PowerShell 管理磁盘和分区

您可以检测连接的磁盘类型:SSD、HDD(通常通过 SATA 总线连接)或 USB 闪存驱动器(未指定的介质类型)。

DeviceId Model                      MediaType   BusType         Size

——— ——                      ———   ——-         —-

0        TOSHIBA MK3775VSXP         HDD         SATA    500156374016

1        Samsung SSD 840 PRO Series SSD         SATA    128060514304

2        Transcend                 UnSpecified USB     128169757184

您可以显示所有磁盘上的分区列表:

Get-Partition

或者仅在指定磁盘上分区:

Get-Partition -DiskNumber 1,2

要显示 Windows 中所有卷的列表,请运行以下命令:

Get-Volume

[玩转系统] 使用 Windows PowerShell 管理磁盘和分区

PowerShell 中的磁盘初始化

在前面的示例中,您已经看到其中一个磁盘处于脱机状态,并且在“分区样式”列中具有 RAW 标签。让我们尝试初始化它,创建一个 GPT 或 MBR 分区表并在其上创建一个新分区。

首先,您必须使磁盘联机:

Get-Disk | Where-Object IsOffline -Eq $True | Set-Disk -IsOffline $False

现在你可以初始化它(它的索引是1):

Initialize-Disk -Number 1

[玩转系统] 使用 Windows PowerShell 管理磁盘和分区

默认情况下,磁盘上会创建一个 GPT (GUID) 分区表,但如果您需要 MBR 分区表,请运行以下命令:

Initialize-Disk 1 -PartitionStyle MBR

如果磁盘上有一些数据,您可以使用 mbr2gpt.exe 工具将分区表从 MBR 更改为 GPT,而无需删除数据。

为了不指定磁盘号,可以用RAW分区表初始化所有磁盘:

Get-Disk | Where-Object PartitionStyle -Eq 'RAW' | Initialize-Disk

请注意,当分区表损坏时,磁盘可能会处于 RAW 状态。您可以尝试使用 testdisk 工具恢复 RAW 磁盘上的分区表和数据。

如何在磁盘上创建分区?

要在磁盘上创建新分区,请使用New-Partition cmdlet。让我们创建一个 10 GB 的分区并为其分配字母 L::

New-Partition -DiskNumber 1 -Size 10gb -DriveLetter L

[玩转系统] 使用 Windows PowerShell 管理磁盘和分区

如果您希望分区占用所有可用磁盘空间,请使用 UseMaximumSize 属性。要自动分配盘符,请使用AssignDriveLetter参数有时 Windows 不会自动分配驱动器盘符)。

New-Partition -DiskNumber 1 -AssignDriveLetter -UseMaximumSize

您可以使用以下命令更改分配的字母:

Set-Partition -DriveLetter L -NewDriveLetter U

如果要扩展现有分区,首先显示可用于扩展此分区的未分配空间:

Get-PartitionSupportedSize -DriveLetter L | Format-List

然后你可以将分区的大小扩展到最大:

$MaxSize = (Get-PartitionSupportedSize -DriveLetter L).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize

[玩转系统] 使用 Windows PowerShell 管理磁盘和分区

如果要使分区处于活动状态,请使用以下命令:

Set-Partition -DriveLetter U -IsActive $true

使用 PowerShell 格式化分区

让我们在 NTFS 中格式化新分区并设置 DBData 卷标:

Format-Volume -DriveLetter L -FileSystem NTFS -NewFileSystemLabel DBData -Confirm:$false

[玩转系统] 使用 Windows PowerShell 管理磁盘和分区

如何从磁盘中删除分区?

要在不确认的情况下删除磁盘 1 和 2 上的所有分区,请运行以下命令:

Get-Partition -DiskNumber 1,2 | Remove-Partition -Confirm:$false

[玩转系统] 使用 Windows PowerShell 管理磁盘和分区

要从磁盘删除所有分区并完全清除数据,请运行命令

Clear-Disk -Number 1 -RemoveData -Confirm:$false

如果磁盘上有 OEM 分区(OEM 恢复分区、EFI 分区、系统保留分区),请使用 RemoveOEM 参数删除它们:

Clear-Disk -Number 1 -RemoveData -RemoveOEM

下一个 PowerShell 语句将初始化所有新连接的 RAW 类型磁盘,在其上创建分区表并创建具有最大可用大小的 NTFS 分区。连接新磁盘时使用起来很方便:


Get-Disk |Where-Object PartitionStyle -eq 'RAW' |Initialize-Disk -PartitionStyle MBR -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -Confirm:$false

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯