Windows 10內有一個儲存空間(Storage)的功能,可以在硬碟損壞或是故障的情況下保護您的硬碟資料,這個功能的概念類似於在軟體上執行的RAID,例如:使用三個硬碟做一個儲存空間,結果今天一個硬碟損壞後,您仍然可以透過剩下的兩顆硬碟繼續使用,本文將介紹使用UI與對應的PowerShell指令,來建立Window10的儲存空間(Storage)。
先從控制台→系統→儲存體→管理儲存空間,進到儲存空間的UI,
按下”建立新集區與儲存空間”,選取要建立儲存空間的硬碟,如果未格式化則會先要求格式化,格式化的PowerShell指令為:
Format-Volume -DriveLetter ‘磁碟機代號’ -FileSystem NTFS -Confirm:$false -Force |
當選取完硬碟後,UI會直接帶到建立儲存空間的地方此時先案取消按鈕。
這樣就會擁有一個尚未有儲存空間的儲存集區。以上動作對應的PowerShell指定為
$PhysicalDisks = (Get-PhysicalDisk -CanPool $True)New-StoragePool -FriendlyName 儲存集區名稱 -StorageSubsystemFriendlyName “Windows Storage*” -PhysicalDisks $PhysicalDisks |
接下來介紹如何新增儲存空間,點選UI的建立儲存空間後會進到以下UI
可以變更的有
- 名稱,取一個適合可辨識的名稱即可,
- 磁碟機代號,這邊會自動帶入尚未使用的磁碟機代號
- 檔案系統,有NTFS、REFS可選擇,大多數是選擇NTFS
- 備援系統,備援系統有分簡單(無備援)、雙向鏡像、三向鏡像、同位
- 簡單(無備援): 儲存空間只會寫入一份資料,若該硬碟壞掉,資料可能會遺失
- 雙向鏡像: 儲存空間會寫入兩份資料,但需要兩顆硬碟,若只是其中一個硬碟壞掉,則資料不會遺失
- 三向鏡像: 儲存空間會寫入三份資料,但需要三顆硬碟,即便其中兩個硬碟同時壞掉,則資料不會遺失
- 同位: 是可以提升儲存效率又可保護資料不會遺失的選項,但所需要的硬碟數量更多,想不受到一顆硬碟壞掉影響則需要至少三個硬碟;想不受兩顆硬碟壞掉影響則需要至少七顆硬碟
- 大小,這邊就這自己的使用狀況做選擇,實際使用的硬碟容量會在下方的”包含備援”內顯示
選完後按下右下角的”建立儲存空間”按鈕即可建立儲存空間,以上動作對應的PowerShell指令如下
|
接下來介紹,若是硬碟壞掉該如何處理,出現錯誤會像下圖一樣顯示,此時要做的步驟如下,關機→移除壞的硬碟→放回好的硬碟→開機,但有時UI並不會自己修復,此時就得手動Key PowerShell去指令解決了
開機後執行以下PowerShell語法,則會將錯誤的硬碟Reset
$BadDisks = Get-Physicaldisk | Where-Object -FilterScript {$_.HealthStatus -Eq “Unhealthy”}
Foreach ($BadDisk in $BadDisks) { Reset-PhysicalDisk -UniqueId $BadDisk.UniqueId } |
若是新的硬碟沒出現,則需要以下語法加上新的硬碟到儲存集區
$PDToAdd = Get-PhysicalDisk -CanPool $True
Add-PhysicalDisk -StoragePoolFriendlyName “儲存集區名稱” -PhysicalDisks $PDToAdd |
若此時實體硬碟機下還有錯誤的硬碟,則接下來需要將錯誤的硬碟給移除,語法如下,有時會無法移除,這時再執行一次即可
$PDToRemove = Get-PhysicalDisk | Where-Object -FilterScript $_.HealthStatus -Eq “Warning”
Remove-PhysicalDisk -PhysicalDisks $PDToRemove -StoragePoolFriendlyName “儲存集區名稱” -confirm:$false |
但有時還是會遇到硬碟裝回去了,UI還是報警告的錯誤,這時建議將資料移出備份後,再重新建立儲存集區與儲存空間即可
參考資料:
- https://support.microsoft.com/zh-tw/windows/%E5%84%B2%E5%AD%98%E7%A9%BA%E9%96%93-windows-b6c8b540-b8d8-fb8a-e7ab-4a75ba11f9f2 – Windows 10 中的儲存空間
https://www.jorgebernhardt.com/how-to-create-virtual-disk-using-powershell/ – How to create a Virtual Disk using PowerShell