Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

การจัดการดิสก์และพาร์ติชั่นด้วย Windows PowerShell

ในบทความนี้ เราจะพิจารณาเกี่ยวกับการจัดการดิสก์ พาร์ติชั่น และโวลุ่มจากคอนโซล PowerShell คุณสามารถดำเนินการทั้งหมดจาก PowerShell ในการจัดการดิสก์และพาร์ติชันในเครื่อง ซึ่งคุณคุ้นเคยกับการดำเนินการจาก GUI "การจัดการดิสก์" (diskmgmt.msc) หรือจากเครื่องมือบรรทัดคำสั่ง diskpart.exe cmdlet ของการจัดการดิสก์รวมอยู่ใน ที่เก็บข้อมูล โมดูลที่มีอยู่ใน PowerShell 3.0 เราจะพิจารณาวิธีการเริ่มต้นดิสก์ สร้างตารางพาร์ติชั่นบนดิสก์ สร้างโวลุ่ม และฟอร์แมต คำสั่งด้านล่างจะทำงานใน Windows 10 / Server 2016 และ Windows 8.1 / Server 2012 R2 (สำหรับ Windows เวอร์ชันก่อนหน้า คุณจะต้องอัปเดต PowerShell ก่อน)

มี 160 PowerShell cmdlets ในโมดูลการจัดเก็บข้อมูลใน Windows 10 หากต้องการแสดงคำสั่งที่มีอยู่ทั้งหมดที่เกี่ยวข้องกับการจัดการดิสก์ ให้เรียกใช้คำสั่งต่อไปนี้:

Get-Command -Module Storage

การจัดการดิสก์และพาร์ติชั่นด้วย Windows PowerShell

สำคัญ . ระวังให้มากเมื่อจัดการดิสก์และพาร์ติชั่นจาก PowerShell เพื่อไม่ให้ลบหรือฟอร์แมตพาร์ติชั่นที่มีข้อมูลโดยไม่ได้ตั้งใจ

PowerShell:แสดงรายการดิสก์และพาร์ติชันในเครื่อง

ก่อนอื่น ให้ลองแสดงรายการของโลคัลดิสก์ที่มีอยู่ในระบบของคุณในระดับตรรกะ เรียกใช้คำสั่งนี้:

Get-Disk | ft -AutoSize

หากต้องการเลือกเฉพาะดิสก์ระบบที่ติดตั้ง Windows ให้ป้อนคำสั่งต่อไปนี้:

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

อย่างที่คุณเห็น คำสั่งได้ส่งคืนแอตทริบิวต์ต่อไปนี้ของดิสก์ระบบ (คุณสามารถใช้ตัวเลือกเหล่านี้ในการเลือกได้เช่นกัน):

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

คุณสามารถแสดงดิสก์ออฟไลน์เท่านั้น:

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

การจัดการดิสก์และพาร์ติชั่นด้วย Windows PowerShell

หากคุณต้องการข้อมูลเกี่ยวกับฟิสิคัลดิสก์ (ลักษณะและสถานะของฟิสิคัลดิสก์บนคอมพิวเตอร์) ให้ใช้ Get-PhysicalDisk cmdlet (ก่อนหน้านี้เราได้แสดงวิธีตรวจหาฟิสิคัลดิสก์ที่ล้มเหลวใน Storage Spaces Direct โดยใช้ Get-PhysicalDisk cmdlet และวิธีใช้งานจากนั้นกำหนดค่าที่เก็บข้อมูล S2D ที่ทนต่อข้อผิดพลาด)

การจัดการดิสก์และพาร์ติชั่นด้วย Windows PowerShell

คุณสามารถตรวจหาประเภทของดิสก์ที่เชื่อมต่อได้:SSD, HDD (โดยปกติจะเชื่อมต่อผ่านบัส SATA) หรือแฟลชไดรฟ์ USB (ประเภทสื่อที่ไม่ระบุ)

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

คุณสามารถแสดงรายการพาร์ติชั่นบนดิสก์ทั้งหมดได้:

Get-Partition

หรือพาร์ติชั่นบนดิสก์ที่ระบุเท่านั้น:

Get-Partition –DiskNumber 1,2

หากต้องการแสดงรายการโวลุ่มทั้งหมดใน Windows ให้เรียกใช้คำสั่งนี้:

Get-Volume

การจัดการดิสก์และพาร์ติชั่นด้วย Windows PowerShell โปรดทราบว่าการกำหนดหมายเลขดิสก์เริ่มต้นจาก 0 และการกำหนดหมายเลขพาร์ติชัน – จาก 1

การเริ่มต้นดิสก์ใน PowerShell

ในตัวอย่างก่อนหน้านี้ คุณได้เห็นแล้วว่าหนึ่งในดิสก์ออฟไลน์และมีป้ายกำกับ RAW ในคอลัมน์สไตล์พาร์ติชัน มาลองเริ่มต้นกัน สร้างตารางพาร์ติชั่น GPT หรือ MBR และสร้างพาร์ติชั่นใหม่บนมัน

ก่อนอื่น คุณต้องดาวน์โหลดดิสก์ออนไลน์:

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

ตอนนี้คุณสามารถเริ่มต้นได้ (ดัชนีของมันคือ 1):

Initialize-Disk -Number 1

การจัดการดิสก์และพาร์ติชั่นด้วย Windows PowerShell

ตามค่าเริ่มต้น ตารางพาร์ติชั่น GPT (GUID) จะถูกสร้างขึ้นบนดิสก์ แต่ถ้าคุณต้องการ MBR ให้รันคำสั่งนี้:

Initialize-Disk 1 –PartitionStyle MBR

หากมีข้อมูลอยู่บนดิสก์ คุณสามารถเปลี่ยนตารางพาร์ติชั่นจาก MBR เป็น GPT โดยไม่ต้องลบข้อมูลโดยใช้เครื่องมือ mbr2gpt.exe

เพื่อไม่ให้ระบุหมายเลขดิสก์ คุณสามารถเริ่มต้นดิสก์ทั้งหมดด้วยตารางพาร์ติชั่น RAW:

Get-Disk | Where-Object PartitionStyle –Eq 'RAW' | Initialize-Disk

โปรดทราบว่าดิสก์อาจมีสถานะ RAW เมื่อตารางพาร์ติชั่นเสียหาย คุณสามารถลองกู้คืนตารางพาร์ติชั่นและข้อมูลบนดิสก์ RAW ของคุณได้ดังนี้

จะสร้างพาร์ติชั่นบนดิสก์ได้อย่างไร

ในการสร้างพาร์ติชันใหม่บนดิสก์ พาร์ติชั่นใหม่ ใช้ cmdlet มาสร้างพาร์ติชั่น 10 GB และกำหนดตัวอักษร L:ให้กับมัน:

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

การจัดการดิสก์และพาร์ติชั่นด้วย Windows PowerShell

หากคุณต้องการให้พาร์ติชันใช้พื้นที่ดิสก์ที่มีอยู่ทั้งหมด ให้ใช้ UseMaximumSize คุณลักษณะ. ในการกำหนดจดหมายโดยอัตโนมัติ AssignDriveLetter ใช้พารามิเตอร์ ( บางครั้ง Windows ไม่ได้กำหนดอักษรระบุไดรฟ์โดยอัตโนมัติ)

New-Partition –DiskNumber 1 -AssignDriveLetter –UseMaximumSize

คุณสามารถเปลี่ยนตัวอักษรที่กำหนดโดยใช้คำสั่งนี้:

Set-Partition –DriveLetter L -NewDriveLetter U

หากคุณต้องการขยายพาร์ติชั่นที่มีอยู่ ก่อนอื่นให้แสดงพื้นที่ว่างที่ไม่ได้ปันส่วนเพื่อขยายพาร์ติชั่นนี้:

Get-PartitionSupportedSize -DriveLetter L | Format-List

จากนั้นคุณสามารถขยายขนาดพาร์ติชั่นให้ใหญ่สุดได้:

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

การจัดการดิสก์และพาร์ติชั่นด้วย Windows PowerShell

หากคุณต้องการทำให้พาร์ติชันใช้งานได้ คำสั่งนี้จะถูกใช้:

Set-Partition -DriveLetter U -IsActive $true

การจัดรูปแบบพาร์ติชันด้วย PowerShell

มาฟอร์แมตพาร์ติชั่นใหม่ใน NTFS และตั้งฉลากโวลุ่ม DBData:

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

การจัดการดิสก์และพาร์ติชั่นด้วย Windows PowerShell

จะลบพาร์ติชั่นออกจากดิสก์ได้อย่างไร

หากต้องการลบพาร์ติชั่นทั้งหมดในดิสก์ 1 และ 2 โดยไม่ต้องมีการยืนยัน ให้รันคำสั่งนี้:

Get-Partition –DiskNumber 1,2 | Remove-Partition -Confirm:$false

การจัดการดิสก์และพาร์ติชั่นด้วย Windows PowerShell

หากต้องการลบพาร์ติชั่นทั้งหมดออกจากดิสก์และล้างข้อมูลทั้งหมด ให้รันคำสั่ง

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

หากมีพาร์ติชั่น OEM บนดิสก์ (พาร์ติชั่นการกู้คืน OEM, พาร์ติชั่น EFI, System Reserved) ให้ใช้ RemoveOEM พารามิเตอร์ที่จะลบออก:

Clear-Disk -Number 1 -RemoveData –RemoveOEM

One-liner ของ PowerShell ตัวถัดไปจะเริ่มต้นดิสก์ประเภท RAW ที่เชื่อมต่อใหม่ทั้งหมด สร้างตารางพาร์ติชั่นในนั้น และสร้างพาร์ติชั่น NTFS ด้วยขนาดสูงสุดที่พร้อมใช้งาน สะดวกในการใช้เมื่อเชื่อมต่อดิสก์ใหม่:

Get-Disk |Where-Object PartitionStyle -eq 'RAW' |Initialize-Disk -PartitionStyle MBR -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -Confirm:$false