Resize-Partitionで”Size Not Supported”エラーが出るときの対処法

VHDファイルをPowershellで拡張したい場合があると思います。例えば,RDSのクラスター環境でUPDを使用している場合などです。

その際,Hyper-V Roleがインストールされたサーバーから,以下のようなコマンドでUPDを拡張することが可能です。

Set-Service -Name defragsvc -StartupType Manual

$UserName = "AD User Account Name"
$VHDXFile = "\\ServerName\PathToUPD\UVHD-$((Get-ADUser $UserName).SID).vhdx"
$DiskExtend = 50GB

Resize-VHD -Path $VHDXFile -SizeBytes $DiskExtend

$DiskMount = Mount-VHD -Path $VHDXFile -NoDriveLetter -PassThru | Get-Disk | Get-Partition
$PartSize = $DiskMount | Get-PartitionSupportedSize
$DiskMount | Resize-Partition -Size ($PartSize.SizeMax)

Dismount-VHD -Path $VHDXFile

しかし,場合によっては,以下のようなエラーが出てしまうかもしれません。

Resize-Partition : Size Not Supported
At C:\Users\username\Desktop\filename.ps1:9 char:14
+ $DiskMount | Resize-Partition -Size ($PartSize.SizeMax)
+              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (StorageWMI:ROOT/Microsoft/.../MSFT_Partition) [Resize-Partition], CimException
    + FullyQualifiedErrorId : StorageWMI 4097,Resize-Partition

このような場合,原因として何が考えられるでしょうか。

指定したサイズがディスクの容量を超えている

エラーメッセージからも分かるように,パラメーターで指定したパーティションサイズが,許容値を超えているようです。

しかし,その数値は,Get-PartitionSupportedSizeのSizeMax値を取ってきているのに,どうして受け付けてもらえないのでしょうか。

可能性の1つには,MBとbyteの単位の違いによるすれ違いがあるかもしれません。

Resize-Partitionで扱う単位は基本的にMBですが,Get-PartitionSupportedSizeで帰ってくる値は,1024を1単位とするbyteです。
それで,1024と1000の誤差によって丸められてしまった下桁が,許容値に収まらなくさせている可能性があります。

あるいは,ボリュームのサイズと,実際に使用できるキャパシティにも誤差があります。20GBで拡張したつもりなのに,OSからみると,19.9GBとなっていたりする経験がおありでしょう。

マスターファイルテーブル($Mft)などで使用されている管理領域分が加味されていないため,拡張に失敗している可能性もあります。

いずれにせよ,解決方法は簡単で,指定するサイズを少し小さくしてやることです。

上述のスクリプトで,Resize-Partition -Size ($PartSize.SizeMax -2MB)のように,2MBぐらいを引いてやるとエラーなく拡張できると思います。

それでもエラーが消えないようなら,3MBに増やすなどしてみてください。

エラーが表示されたとしても,実際にはパーティションが拡張されていることもありますので,実際にVHDをマウントして確認してみるのが手っ取り早いです。

以上,VHDをResize-Partitionする際の”Size Not Supported”エラーの対処法でした。

Amazon売れ筋No.1チェアが4000円引きで2万以下[腰痛対策]

現時点(2020/7/3)で,Amazonのゲーミングチェア売れ筋No.1のチェアが4000円引きで売られています。

ゲーミングと名付けられていますが,要するに長時間座っていても疲れにくいことを目的としたチェアですので,オフィスワーカーにもピッタリかと。

このクオリティで2万を切るというのは,価格崩壊感あり。

しかもオットマン(足置き)付きのモデルなので,少し休憩したい際に,ほぼフラットに倒しつつ足を延ばして仮眠できます。

リモートワーク時代に入って,自宅の貧弱な椅子による腰痛が大きな問題に。

それで,こういうホールド感のある,また腰・首サポートのあるチェアを使って,体への負担を軽減しましょう。腰は一生ものですので,将来を考えると,これで2万は良い投資。

両サイドからの適度な締まりによって,集中力も上がり,一日の生産性が高まる効果も期待できそう。

リモートワーク時代で爆売れ中のようですので,気になる方は早めにポチっておくのが良いかと。今なら翌日届くようです。

PowerShell
MacRuby

コメント