Trong bài viết này, chúng tôi sẽ xem xét quản lý đĩa, phân vùng và khối lượng từ bảng điều khiển PowerShell. Bạn có thể thực hiện từ PowerShell tất cả các hoạt động quản lý đĩa cục bộ và phân vùng 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. Các lệnh ghép ngắn quản lý đĩa được bao gồm trong Bộ nhớ mô-đun có sẵn trong PowerShell 3.0. Chúng tôi sẽ xem xét cách khởi tạo đĩa, tạo bảng phân vùng trên đó, tạo ổ đĩa và định dạng đĩa. 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 lệnh ghép ngắn PowerShell trong mô-đun Lưu trữ 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
Quan trọng . Hãy hết sức cẩn thận khi quản lý đĩa và phân vùng từ PowerShell để không vô tình xóa hoặc định dạng phân vùng chứa dữ liệu.
PowerShell:Liệt kê các phân vùng và đĩa cục bộ
Trước hết, hãy cố gắng hiển thị danh sách các đĩa cục bộ có sẵn trong hệ thống của bạn ở mức logic. Để thực hiện, hãy chạy lệnh sau:
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 có thể 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 vùng chọn):
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 chỉ có thể hiển thị đĩa ngoại tuyến:
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 Get-PhysicalDisk lệnh ghép ngắn (trước đây chúng tôi đã hướng dẫn cách phát hiện đĩa vật lý bị lỗi trong Storage Spaces Direct bằng cách sử dụng lệnh ghép ngắn Get-PhysicalDisk và cách sử dụng nó, sau đó định cấu hình bộ lưu trữ S2D có khả năng chịu lỗi).
Bạn có thể phát hiện loại đĩa được kết nối:SSD, HDD (thường được kết nối qua bus SATA) hoặc ổ đĩa flash USB (Loại phương tiện chưa được chỉ định).
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 các phân vùng trên tất cả các đĩa:
Get-Partition
Hoặc chỉ phân vùng 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 sau:
Get-Volume
Xin lưu ý rằng việc đánh số đĩa bắt đầu từ 0 và đánh số 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 là Ngoại tuyến và có nhãn RAW trong cột Kiểu phân vùng. Hãy thử khởi chạy nó, tạo bảng phân vùng GPT hoặc MBR và tạo một phân vùng mới trên đó.
Trước hết, bạn phải tải đĩa Trực tuyến:
Get-Disk | Where-Object IsOffline –Eq $True | Set-Disk –IsOffline $False
Bây giờ bạn có thể khởi tạo nó (chỉ mục 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 một MBR, hãy chạy lệnh này:
Initialize-Disk 1 –PartitionStyle MBR
Để không chỉ định số đĩa, bạn có thể khởi tạo tất cả các đĩa bằng bảng phân vùng RAW:
Get-Disk | Where-Object PartitionStyle –Eq 'RAW' | Initialize-Disk
Cách tạo phân vùng trên đĩa?
Để tạo phân vùng mới trên đĩa, Phân vùng mới cmdlet được sử dụng. Hãy tạo một 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 tất cả dung lượng đĩa có sẵn, hãy sử dụng UseMaximumSize thuộc tính. Để tự động gán một chữ cái, AssignDriveLetter tham số được sử dụng ( đôi khi Windows không tự động gán ký tự ổ đĩa ).
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 hãy hiển thị không gian có sẵn chưa được phân bổ để 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 của phân vùng đến mức tối đa:
$MaxSize = (Get-PartitionSupportedSize -DriveLetter L).SizeMax
Resize-Partition -DriveLetter L -Size $MaxSize
Nếu bạn muốn kích hoạt một phân vùng, lệnh này được sử dụng:
Set-Partition -DriveLetter U -IsActive $true
Định dạng phân vùng bằng 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
Làm cách nào để Xóa các Phân vùng khỏi Đĩa?
Để xóa tất cả cá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 sau:
Get-Partition –DiskNumber 1,2 | Remove-Partition -Confirm:$false
Để xóa tất cả cá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, Hệ thống dành riêng), hãy sử dụng RemoveOEM tham số để loại bỏ chúng:
Clear-Disk -Number 1 -RemoveData –RemoveOEM
Một lớp lót PowerShell tiếp theo sẽ khởi tạo tất cả các đĩa kiểu RAW mới được 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ó rất thuận tiện để sử dụng nó khi kết nối một đĩ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