W tym artykule przyjrzymy się procesowi zarządzania dyskami, partycjami i woluminami z wiersza poleceń programu PowerShell. Wszystkie operacje związane z pracą z dyskami lokalnymi i partycjami, do których przywykłeś przy użyciu konsoli graficznej „Zarządzanie dyskami” (diskmgmt.msc) lub z wiersza poleceń narzędzia diskpart.exe, można wykonać z PowerShell. Polecenia cmdlet zarządzania dyskami zawarte w module Przechowywanie, dostępne w PowerShell 3.0. Zobaczymy, jak zainicjować dysk, utworzyć tablicę partycji, partycję na nim i sformatować. Poniższe polecenia będą działać w systemach Windows 10 / Server 2016 i Windows 8.1 / Server 2012 R2 (w poprzednich wersjach systemu Windows najpierw trzeba zaktualizować program PowerShell).
Treść
- Lista dysków i partycji na nich
- Inicjalizacja dysku
- Utwórz partycje na dysku
- Formatowanie partycji z PowerShell
- Usuwanie partycji z dysku
W Windows 10 160 modułów jest dostępnych w module Storage. Aby wyświetlić wszystkie dostępne polecenia zarządzania dyskami, uruchom:
Get-Command-moduł pamięci
Lista dysków i partycji na nich
Przede wszystkim spróbuj wymienić dyski dostępne na poziomie logicznym w systemie. Aby to zrobić, uruchom polecenie:
Get-Disk | ft -AutoSize
Aby wybrać tylko dysk systemowy, na którym jest zainstalowany system Windows, uruchom polecenie:
Get-Disk | Where-Object IsSystem -eq $ True | fl
Jak widać, polecenie zwróciło następujące atrybuty dysku systemowego (można ich również użyć w zaznaczeniu):
UniqueId: SCSI \ DISK & VEN_VMWARE & PROD_VIRTUAL_DISK \ 5 & 1EC51BF7 oraz 0 i 000000: DESKTOP-JOPF9
Liczba: 0
Ścieżka: \\? \ Scsi # disk & ven_vmware & prod_virtual_disk # 5 & 1ec51bf7 & 0 & 000000 # 53f56307-b6bf-11d0-94f2-001efb8b
Producent: VMware
Model: dysk wirtualny
Numer seryjny:
Rozmiar: 80 GB
AllocatedSize: 85898297344
LogicalSectorSize: 512
PhysicalSectorSize: 512
NumberOfPartitions: 2
PartitionStyle: MBR
IsReadOnly: False
IsSystem: True
IsBoot: True
Wyświetlane mogą być tylko dyski ze statusem Offline:
Get-Disk | Where-Object IsOffline -Eq $ True | ft -AutoSize
Jeśli potrzebujesz informacji o dyskach fizycznych (charakterystyka i stan dysków fizycznych na komputerze), użyj polecenia cmdlet Get-physicaldisk (poprzednio pokazaliśmy, jak używać polecenia cmdlet Get-PhysicalDisk do identyfikowania uszkodzonego dysku w Storage Spaces Direct i jego użycia podczas konfigurowania pamięci odpornej na uszkodzenia S2D).
Za pomocą programu PowerShell można określić typ podłączonego dysku SSD lub HDD (zwykle podłączonego przez magistralę SATA) lub dysku flash USB (typ nieokreślony).
DeviceId Model MediaType Rozmiar BusType - - - -- -- 0 TOSHIBA MK3775VSXP HDD SATA 500156374016 1 Samsung SSD 840 PRO Series SSD SATA 128060514304 2 Transcend Unspecified USB 128169757184 |
Możesz wyświetlić listę partycji na wszystkich dyskach:
Pobierz partycję
Lub partycje tylko na wskazanych dyskach:
Get-Partition -DiskNumber 1.2
Aby wyświetlić listę wszystkich partycji logicznych w systemie Windows, wykonaj następujące czynności:
Uzyskaj objętość
Inicjalizacja dysku
W poprzednim przykładzie widać, że jeden z dysków jest w trybie offline i ma znaczniki RAW w polu Styl partycji. Spróbujmy go zainicjować, utwórz tablicę partycji i utwórz na niej nową partycję.
Przede wszystkim musisz przenieść taki dysk do trybu online:
Get-Disk | Where-Object IsOffline -Eq $ True | Ustaw dysk - IsOffline $ False
Teraz możesz zainicjować ten dysk (jego indeks to 1):
Initialize-Disk -Number 1
Domyślnie na dysku tworzona jest tablica partycji GPT (GUID), jeśli potrzebujesz MBR, uruchom polecenie:
Initialize-Disk 1 -PartitionStyle MBR
Aby nie podawać numeru dysku, możesz zainicjować wszystkie dyski za pomocą tablicy partycji RAW:
Get-Disk | Where-Object PartitionStyle -Eq „RAW” | Zainicjuj dysk
Utwórz partycje na dysku
Aby utworzyć nową partycję dysku, użyj polecenia cmdlet Nowa partycja. Utwórz partycję 10 GB i przypisz jej literę dysku L:
Nowa partycja -DiskNumber 1 -Rozmiar 10 gb -DriveLetter L.
Jeśli partycja powinna zajmować całe dostępne miejsce na dysku, użyj atrybutu UseMaximumSize. Aby automatycznie przypisać literę dysku, użyj parametru AssignDriveLetter (czasami litera dysku może zostać automatycznie przypisana).
Nowa partycja -DiskNumber 1 -AssignDriveLetter -UseMaximumSize
Możesz zmienić przypisaną literę dysku na:
Set-Partition -DriveLetter L -NowyDriveLetter U
Jeśli chcesz rozwinąć istniejącą partycję, najpierw wydrukuj dostępne miejsce do rozbudowy dla tej partycji:
Get-PartitionSupportedSize -DriveLetter L | Lista formatów
Następnie możesz zwiększyć rozmiar partycji do maksimum:
$ MaxSize = (Get-PartitionSupportedSize -DriveLetter L) .SizeMax
Resize-Partition -DriveLetter L -Size $ MaxSize
Jeśli chcesz, aby określona sekcja była aktywna, użyj polecenia:
Set-Partition -DriveLetter T -IsActive $ true
Formatowanie partycji z PowerShell
Sformatujemy wynikową partycję w systemie plików NTFS i ustawimy etykietę woluminu DBData:
Format-Volume -DriveLetter L -FileSystem NTFS -NewFileSystemLabel DBData -Confirm: $ false
Usuwanie partycji z dysku
Aby usunąć wszystkie partycje z dysków 1 i 2 bez potwierdzenia, uruchom polecenie:
Get-Partition -DiskNumber 1.2 | Remove-Partition -Confirm: $ false
Aby usunąć wszystkie partycje z dysków i całkowicie wyczyścić dane, uruchom polecenie:
Clear-Disk -Number 1 -RemoveData -Confirm: $ false
Jeśli na dyskach znajdują się partycje OEM (partycja odzyskiwania OEM, partycja EFI, system zarezerwowany), należy użyć parametru RemoveOEM, aby je usunąć:
Clear-Disk -Number 1 -RemoveData -RemoveOEM
Poniższa jednowierszowa komenda PowerShell inicjuje wszystkie nowo zamapowane dyski RAW, tworzy na nich tabelę partycji i tworzy partycję z maksymalnym systemem plików NTFS. Jest wygodny w użyciu podczas podłączania nowego dysku:
Get-Disk | Where-Object PartitionStyle -eq 'RAW' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -Potwierdź: $ false