Správa disků a diskových oddílů z prostředí PowerShell

V tomto článku se podíváme na proces správy disků, diskových oddílů a svazků z příkazového řádku PowerShell. Všechny operace při práci s místními disky a diskovými oddíly, které jste zvyklí provádět pomocí grafické konzoly Správa disků (diskmgmt.msc) nebo z příkazového řádku obslužného programu diskpart.exe, lze provádět z prostředí PowerShell. Cmdlets správy disku zahrnuty v modulu Skladování, k dispozici v PowerShell 3.0. Uvidíme, jak inicializovat disk, vytvořit tabulku oddílů, oddíl na něm a naformátovat jej. Níže uvedené příkazy budou fungovat na Windows 10 / Server 2016 a Windows 8.1 / Server 2012 R2 (v předchozích verzích Windows budete muset nejprve upgradovat PowerShell).

Obsah:

  • Výpis disků a diskových oddílů na nich
  • Inicializace disku
  • Vytvářejte diskové oddíly na disku
  • Formátování oddílu z prostředí PowerShell
  • Odebrání diskových oddílů na disku

V systému Windows 10 je v modulu úložiště k dispozici 160 příkazů. Chcete-li zobrazit všechny dostupné příkazy pro správu disků, spusťte:

Get-Command -Module Storage

Je důležité. Při práci s disky a diskovými oddíly na nich z prostředí PowerShell musíte být opatrní, abyste omylem neodstranili nebo naformátovali datový oddíl.

Výpis disků a diskových oddílů na nich

Nejprve se pokuste vyjmenovat jednotky, které jsou v systému k dispozici na logické úrovni. Chcete-li to provést, spusťte příkaz:

Get-Disk | ft -AutoSize

Chcete-li vybrat pouze systémovou jednotku, na které je nainstalován systém Windows, spusťte příkaz:

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

Jak vidíte, příkaz vrátil následující atributy systémového disku (mohou být také použity ve výběru):

Jedinečné: SCSI \ DISK & VEN_VMWARE & PROD_VIRTUAL_DISK \ 5 & 1EC51BF7 & 0 & 000000: DESKTOP-JOPF9
Číslo: 0
Cesta: \\? \ Scsi # disk & ven_vmware & prod_virtual_disk # 5 & 1ec51bf7 & 0 & 000000 # 53f56307-b6bf-11d0-94f2-001efb8b
Výrobce: VMware
Model: Virtuální disk
Sériové číslo:
Velikost: 80 GB
AllocatedSize: 85898297344
LogicalSectorSize: 512
PhysicalSectorSize: 512
NumberOfPartitions: 2
PartitionStyle: MBR
IsReadOnly: False
IsSystem: Pravda
IsBoot: Pravda

Lze zobrazit pouze jednotky se stavem offline:

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

Pokud potřebujete informace o fyzických discích (charakteristika a stav fyzických disků v počítači), použijte rutinu cmdlet Get-physicaldisk (dříve jsme ukázali, jak pomocí rutiny Get-PhysicalDisk k identifikaci selhaného disku v úložišti Spaces Direct a jeho použití při nastavování úložiště odolného vůči chybám S2D).

Pomocí PowerShell můžete určit typ připojeného SSD nebo HDD (obvykle připojený přes sběrnici SATA) nebo USB flash disk (neurčený typ).

Velikost DeviceId Model MediaType BusType

- -                      -   --         --

0 TOSHIBA MK3775VSXP HDD SATA 500156374016

1 Samsung SSD 840 PRO Series SSD SATA 128060514304

2 Transcend nespecifikováno USB 128169757184

Na všech jednotkách můžete uvést oddíly:

Získat oddíl

Nebo oddíly pouze na označených discích:

Get-Partition -DiskNumber 1.2

Chcete-li zobrazit všechny logické oddíly v systému Windows, postupujte takto:

Získejte hlasitost

Upozorňujeme, že číslování disků začíná na 0 a číslování oddílů začíná na 1.

Inicializace disku

V předchozím příkladu jste viděli, že jeden z disků je offline a má označení RAW v poli Styl oddílu. Zkusme jej inicializovat, vytvořit tabulku oddílů a vytvořit na ní nový oddíl.

Nejprve musíte takový disk přenést do online:

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

Nyní můžete tento disk inicializovat (jeho index je 1):

Initialize-Disk -Number 1

Ve výchozím nastavení je na disku vytvořena tabulka oddílů GPT (GUID), pokud potřebujete MBR, spusťte příkaz:

Inicializovat disk 1 - oddíl MBR

Pokud již na disku existují data, můžete změnit tabulku oddílů z MBR na GPT bez odstranění dat pomocí obslužného programu mbr2gpt.exe..

Abyste neoznačili číslo disku, můžete inicializovat všechny disky pomocí tabulky oddílů RAW:

Get-Disk | Where-Object PartitionStyle -Eq 'RAW' | Inicializovat disk

Pokud je tabulka diskových oddílů poškozena, může být disk ve stavu RAW. Můžete se pokusit obnovit tabulku oddílů a data na disku RAW tak.

Vytvářejte diskové oddíly na disku

Chcete-li vytvořit nový diskový oddíl, použijte rutinu cmdlet Nový oddíl. Vytvořte oddíl 10 GB a přiřaďte mu písmeno jednotky L:

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

Pokud by oddíl měl zabírat veškeré dostupné místo na disku, použijte atribut Použijte maximální velikost. Chcete-li automaticky přiřadit písmeno jednotky, použijte parametr AssignDriveLetter (někdy může být automaticky přiřazeno písmeno jednotky).

New-Partition -DiskNumber 1 -AssignDriveLetter -UseMaximumSize

Přiřazené písmeno jednotky můžete změnit na:

Set-Partition -DriveLetter L -NewDriveLetter U

Pokud potřebujete rozšířit existující oddíl, nejprve vytiskněte dostupné místo pro rozšíření tohoto oddílu:

Get-PartitionSupportedSize -DriveLetter L | Formát-seznam

Potom můžete zvětšit velikost oddílu na maximum:

$ MaxSize = (Get-PartitionSupportedSize -DriveLetter L) .SizeMax
Rozdělení oddílu - DriveLetter L - Velikost $ MaxSize

Chcete-li aktivovat určitou sekci, použijte příkaz:

Set-Partition -DriveLetter T -IsActive $ true

Formátování oddílu z prostředí PowerShell

Výsledný oddíl naformátujeme v systému souborů NTFS a nastavíme označení svazku DBData:

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

Odebrání diskových oddílů na disku

Chcete-li odstranit všechny oddíly na discích 1 a 2 bez potvrzení, spusťte příkaz:

Get-Partition -DiskNumber 1.2 | Odebrat oddíl - Potvrzení: $ false

Chcete-li odstranit všechny oddíly z disků a úplně vymazat data, spusťte příkaz:

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

Pokud na discích existují diskové oddíly OEM (diskový oddíl pro obnovení OEM, diskový oddíl EFI, vyhrazený systém), musíte je odstranit pomocí parametru RemoveOEM:

Clear-Disk -Number 1 -RemoveData -RemoveOEM

Následující příkaz jednoho řádku PowerShell inicializuje všechny nově zmapované jednotky RAW, vytvoří na nich tabulku oddílů a vytvoří oddíl s maximálním systémem souborů NTFS. Je vhodné použít při připojení nového disku:

Get-Disk | Kde-Object PartitionStyle -eq 'RAW' | Inicializace-Disk -PartitionStyle MBR -PassThru | Nový-Partition -AssignDriveLetter -UseMaximumSize | Formát-Volume -FileSystem NTFS-Potvrzení: $ false