Trong bài viết này, chúng ta sẽ xem xét quản lý ổ đĩa, phân区和 ổ đĩa từ bảng điều khiển PowerShell. Bạn có thể thực hiện từ PowerShell tất cả các thao tác quản lý ổ đĩa cục bộ và phân区, mà bạn đã quen thực hiện từ GUI "Disk Management" (diskmgmt.msc) hoặc từ công cụ dòng lệnh diskpart.exe. Cmdlet quản lý ổ đĩa được bao gồm trong mô-đun Storage có sẵn trong PowerShell 3.0. Chúng ta sẽ xem xét cách khởi tạo ổ đĩa, tạo bảng phân vùng trên nó, tạo ổ đĩa và định dạng nó. Các lệnh dưới đây sẽ hoạt động trong Windows 10 / Server 2016 và Windows 8.1 / Server 2012 R2 (đối với các phiên bản Windows trước đó, bạn sẽ phải cập nhật PowerShell trước).
Có 160 cmdlet PowerShell trong mô-đun Storage trong Windows 10. Để hiển thị tất cả các lệnh có sẵn liên quan đến quản lý ổ đĩa, hãy chạy lệnh sau:
Get-Command -Module Storage

PowerShell: Liệt kê ổ đĩa cục bộ và phân vùng
Trước hết, hãy thử hiển thị danh sách ổ đĩa cục bộ có sẵn trong hệ thống của bạn ở cấp độ logic. Để làm điều đó, hãy chạy lệnh này:
Get-Disk | ft -AutoSize
Để chỉ chọn ổ đĩa hệ thống mà Windows được cài đặt, hãy nhập lệnh sau:
Get-Disk | Where-Object IsSystem -eq $True | fl
Như bạn thấy, lệnh đã trả về các thuộc tính sau của ổ đĩa hệ thống (bạn cũng có thể sử dụng chúng trong việc chọn lọc):
UniqueId : SCSI\DISK&VEN_VMWARE&PROD_VIRTUAL_DISK\5&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
Bạn có thể hiển thị chỉ ổ đĩa Offline:
Get-Disk | Where-Object IsOffline –Eq $True| ft –AutoSize

Nếu bạn cần thông tin về ổ đĩa vật lý (đặc điểm và trạng thái của ổ đĩa vật lý trên máy tính), hãy sử dụng cmdlet Get-PhysicalDisk (trước đây chúng tôi đã chỉ ra cách phát hiện ổ đĩa vật lý lỗi trong Storage Spaces Direct bằng cmdlet Get-PhysicalDisk và cách sử dụng nó khi cấu hình lưu trữ S2D chịu lỗi).

Bạn có thể phát hiện loại ổ đĩa kết nối: SSD, HDD (thường kết nối qua bus SATA) hoặc USB flash drive (UnSpecified media type).
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
Bạn có thể hiển thị danh sách phân vùng trên tất cả các ổ đĩa:
Get-Partition
Hoặc phân vùng chỉ trên các ổ đĩa được chỉ định:
Get-Partition –DiskNumber 1,2
Để hiển thị danh sách tất cả các ổ đĩa trong Windows, hãy chạy lệnh này:
Get-Volume
Lưu ý rằng số thứ tự ổ đĩa bắt đầu từ 0, và số thứ tự phân vùng – từ 1.
Khởi tạo ổ đĩa trong PowerShell
Trong ví dụ trước, bạn đã thấy rằng một trong các ổ đĩa đang Offline và có nhãn RAW trong cột Partition Style. Hãy thử khởi tạo nó, tạo bảng phân vùng GPT hoặc MBR và tạo phân vùng mới trên nó.
Trước hết, bạn phải đưa ổ đĩa Online:
Get-Disk | Where-Object IsOffline –Eq $True | Set-Disk –IsOffline $False
Bây giờ bạn có thể khởi tạo nó (chỉ số của nó là 1):
Initialize-Disk -Number 1

Theo mặc định, bảng phân vùng GPT (GUID) được tạo trên ổ đĩa, nhưng nếu bạn cần bảng MBR, hãy chạy lệnh này:
Initialize-Disk 1 –PartitionStyle MBR
Nếu có dữ liệu trên ổ đĩa, bạn có thể chuyển đổi bảng phân vùng từ MBR sang GPT mà không xóa dữ liệu bằng công cụ mbr2gpt.exe.
Để không chỉ định số ổ đĩa, bạn có thể khởi tạo tất cả các ổ đĩa có bảng phân vùng RAW:
Get-Disk | Where-Object PartitionStyle –Eq 'RAW' | Initialize-Disk
Lưu ý rằng ổ đĩa có thể có trạng thái RAW khi bảng phân vùng bị hỏng. Bạn có thể thử khôi phục bảng phân vùng và dữ liệu trên ổ đĩa RAW của bạn như sau.
Cách tạo phân vùng trên ổ đĩa?
Để tạo phân vùng mới trên ổ đĩa, cmdlet New-Partition được sử dụng. Hãy tạo phân vùng 10 GB và gán ký tự L: cho nó:
New-Partition –DiskNumber 1 -Size 10gb -DriveLetter L

Nếu bạn muốn phân vùng chiếm toàn bộ dung lượng ổ đĩa trống, hãy sử dụng thuộc tính UseMaximumSize. Để gán ký tự tự động, tham số AssignDriveLetter được sử dụng (thỉnh thoảng Windows không gán ký tự ổ đĩa tự động).
New-Partition –DiskNumber 1 -AssignDriveLetter –UseMaximumSize
Bạn có thể thay đổi ký tự đã gán bằng lệnh này:
Set-Partition –DriveLetter L -NewDriveLetter U
Nếu bạn muốn mở rộng phân vùng hiện có, trước hết hiển thị dung lượng chưa phân bổ có sẵn để mở rộng phân vùng này:
Get-PartitionSupportedSize -DriveLetter L | Format-List
Sau đó bạn có thể mở rộng kích thước phân vùng lên tối đa:
$MaxSize = (Get-PartitionSupportedSize -DriveLetter L).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize

Nếu bạn muốn làm cho phân vùng trở nên active, lệnh này được sử dụng:
Set-Partition -DriveLetter U -IsActive $true
Định dạng phân vùng với PowerShell
Hãy định dạng phân vùng mới trong NTFS và đặt nhãn ổ đĩa DBData:
Format-Volume -DriveLetter L -FileSystem NTFS -NewFileSystemLabel DBData -Confirm:$false

Cách xóa phân vùng khỏi ổ đĩa?
Để xóa tất cả phân vùng trên ổ đĩa 1 và 2 mà không cần xác nhận, hãy chạy lệnh này:
Get-Partition –DiskNumber 1,2 | Remove-Partition -Confirm:$false

Để xóa tất cả phân vùng khỏi ổ đĩa và xóa hoàn toàn dữ liệu, hãy chạy lệnh
Clear-Disk -Number 1 -RemoveData -Confirm:$false
Nếu có phân vùng OEM trên ổ đĩa (phân vùng khôi phục OEM, phân vùng EFI, System Reserved), hãy sử dụng tham số RemoveOEM để xóa chúng:
Clear-Disk -Number 1 -RemoveData –RemoveOEM
One-liner PowerShell tiếp theo sẽ khởi tạo tất cả ổ đĩa RAW mới kết nối, tạo bảng phân vùng trên chúng và tạo phân vùng NTFS với kích thước tối đa có sẵn. Nó tiện lợi khi kết nối ổ đĩa mới:
Get-Disk |Where-Object PartitionStyle -eq 'RAW' |Initialize-Disk -PartitionStyle MBR -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -Confirm:$false