Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

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

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

มี cmdlet PowerShell 160 ตัวในโมดูล Storage ใน 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 

คุณสามารถแสดงเฉพาะดิสก์ Offline ได้:

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

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

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

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

คุณสามารถตรวจจับประเภทของดิสก์ที่เชื่อมต่อ: SSD, HDD (ปกติเชื่อมต่อผ่านบัส SATA) หรือ USB flash drive (UnSpecified media type)

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

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

ขั้นแรก คุณต้องทำให้ดิสก์ Online:

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 New-Partition มาสร้างพาร์ติชัน 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

หากคุณต้องการทำให้พาร์ติชันเป็น active ให้ใช้คำสั่งนี้:

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

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

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