Управление на дискове и дялове от PowerShell

В тази статия ще разгледаме процеса на управление на дискове, дялове и томове от командния ред PowerShell. Всички операции по работа с локални дискове и дялове, които сте свикнали да извършвате с помощта на графичната конзола "Disk Management" (diskmgmt.msc) или от командния ред на помощната програма diskpart.exe, могат да се извършват от PowerShell. Дискове за управление на дискове, включени в модула съхранение, наличен в PowerShell 3.0. Ще видим как да инициализираме диск, да създадем таблица на дяловете, дял върху него и да го форматираме. Командите, обсъдени по-долу, ще работят на Windows 10 / Server 2016 и Windows 8.1 / Server 2012 R2 (в предишните версии на Windows първо ще трябва да надстроите PowerShell).

Съдържание:

  • Изброяване на дискове и дялове на тях
  • Инициализация на диска
  • Създайте дялове на диска
  • Форматиране на дял от PowerShell
  • Премахване на дялове на диск

В Windows 10 160 модула са достъпни в модула за съхранение. За да покажете всички налични команди за управление на диска, изпълнете:

Get-Command -Module съхранение

Важно е. Когато работите с дискове и дялове на тях от PowerShell, трябва да внимавате да не изтриете или форматирате случайно дяла на данни.

Изброяване на дискове и дялове на тях

На първо място, опитайте да изброите дисковете, които са достъпни на логично ниво във вашата система. За да направите това, изпълнете командата:

Get-Disk | ft -AutoSize

За да изберете само системното устройство, на което е инсталиран Windows, изпълнете командата:

Get-Disk | Where-Object IsSystem -eq $ True | ет

Както можете да видите, командата върна следните атрибути на системния диск (те също могат да бъдат използвани при избора):

UniqueId: SCSI \ DISK & VEN_VMWARE & PROD_VIRTUAL_DISK \ 5 & 1EC51BF7 & 0 & 000000: DESKTOP-JOPF9
Номер: 0
Път: \\? \ Scsi # диск & ven_vmware & prod_virtual_disk # 5 & 1ec51bf7 & 0 & 000000 # 53f56307-b6bf-11d0-94f2-001efb8b
Производител: VMware
Модел: Виртуален диск
SerialNumber:
Размер: 80 GB
Разпределен размер: 85898297344
LogicalSectorSize: 512
PhysicalSectorSize: 512
NumberOfPartitions: 2
PartitionStyle: MBR
IsReadOnly: Грешно
IsSystem: Вярно
IsBoot: Вярно

Могат да се показват само дискове със състояние офлайн:

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

Ако имате нужда от информация за физическите дискове (характеристики и състояние на физическите дискове на компютър), използвайте командлета Get-PhysicalDisk (по-рано показахме как да използвате командлета Get-PhysicalDisk за идентифициране на неуспешен диск в Storage Spaces Direct и използването му при настройка на S2D отказоустойчиво съхранение).

Използвайки PowerShell, можете да определите вида на свързания SSD или HDD (обикновено свързан през шината SATA) или USB флаш устройство (Непосочен тип).

Размер на MediaType BusType на DeviceId Model

- -                      -   --         --

0 TOSHIBA MK3775VSXP HDD SATA 500156374016

1 Samsung SSD 840 PRO серия SSD SATA 128060514304

2 Transcend UnSpecified USB 128169757184

Можете да изброите дялове на всички дискове:

Get-Partition

Или дялове само на посочените дискове:

Get-Partition -DiskNumber 1.2

За да изброите всички логически дялове в Windows, направете:

Вземете обем

Моля, обърнете внимание, че номерирането на дисковете започва от 0, а номерирането на дяловете започва от 1.

Инициализация на диска

В предишния пример видяхте, че един от дисковете е офлайн и има маркировка RAW в полето Partition Style. Нека се опитаме да го инициализираме, да създадем таблица с дялове и да създадем нов дял върху нея.

На първо място, трябва да прехвърлите такъв диск в интернет:

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

Сега можете да инициализирате този диск (индексът му е 1):

Инициализиране-диск-брой 1

По подразбиране на диска се създава GPT таблица на дяловете (GUID), ако имате нужда от MBR, изпълнете командата:

Инициализиране-диск 1 -PartitionStyle MBR

Ако вече има данни на диска, можете да промените таблицата на дяловете от MBR в GPT, без да изтривате данните, като използвате помощната програма mbr2gpt.exe.

За да не указвате номера на диска, можете да инициализирате всички дискове с таблицата за дялове RAW:

Get-Disk | Къде-Object PartitionStyle -Eq 'RAW' | Инициализиране-Disk

Моля, обърнете внимание, че дискът може да е в статус RAW, ако таблицата с дялове е повредена. Можете да опитате да възстановите таблицата на дяловете и данните на диска RAW така.

Създайте дялове на диска

За да създадете нов дял на диска, използвайте командлета New-Partition. Създайте дял от 10 GB и му присвойте буква L:

New-Partition -DiskNumber 1 -размер 10gb -DriveLetter L

Ако дялът трябва да заема цялото дисково пространство, използвайте атрибута UseMaximumSize. За да присвоите автоматично буквата на устройството, използвайте параметъра AssignDriveLetter (понякога буквата на устройството може да бъде автоматично зададена).

New-Partition -DiskNumber 1 -AssignDriveLetter -UseMaximumSize

Можете да промените зададената буква на устройство на:

Set-Partition -DriveLetter L -NewDriveLetter U

Ако трябва да разширите съществуващ дял, първо отпечатайте наличното пространство за разширение за този дял:

Get-PartitionSupportedSize -DriveLetter L | Формат-Списък

След това можете да увеличите размера на дяла до максимум:

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

Ако искате да направите конкретен раздел активен, използвайте командата:

Set-Partition -DriveLetter T -IsActive $ true

Форматиране на дял от PowerShell

Форматираме получения дял във файловата система NTFS и задаваме етикета на обем на DBData:

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

Премахване на дялове на диск

За да изтриете всички дялове на дискове 1 и 2 без потвърждение, изпълнете командата:

Get-Partition -DiskNumber 1.2 | Премахване-дял -потвърждаване: $ false

За да изтриете всички дялове от дискове и напълно изчистени данни, изпълнете командата:

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' | Инициализиране-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -Confirm: $ false