Windows ServerでCドライブを拡張する方法:ディスク増設後のボリューム拡張と新規ディスクの初期化

8 分で読めます 7 回閲覧 0
目次

クライアントエリアのアップグレードオプションでJUSTG Windows VPSにSSD容量を追加したり、ディスクを増設したりしても、Windowsは新しい容量を自動では使いません。ディスク末尾の「未割り当て」領域、または初期化されていない新しいディスクとして表示されるだけです。このガイドでは、Windows Server 2016/2019/2022でCドライブを拡張する方法をディスクの管理とPowerShellの両方で解説し、回復パーティションが「ボリュームの拡張」を妨げる場合の対処、新しいデータディスクの初期化とフォーマットまで説明します。

正しく操作すればパーティション変更のリスクは低いものの、ディスク番号やパーティション番号を間違えるとデータが失われます。先に重要なファイルをバックアップし、Enterを押す前に番号を必ず再確認してください。

ステップ1:ディスクを再スキャンして新しい容量を確認する

PowerShellを管理者として開き、ストレージのキャッシュを更新してから、ディスク一覧とシステムディスク(ディスク0)のパーティションを表示します。

Update-HostStorageCache
Get-Disk | Select-Object Number, FriendlyName, PartitionStyle, OperationalStatus, @{n='SizeGB';e={[math]::Round($_.Size/1GB,1)}}
Get-Partition -DiskNumber 0 | Select-Object PartitionNumber, DriveLetter, Type, @{n='SizeGB';e={[math]::Round($_.Size/1GB,1)}}

ディスク0にアップグレード後の容量が表示されていればOKです。古い容量のままなら、Windowsまたはクライアントエリアから一度再起動し、もう一度実行してください。GUIでは diskmgmt.msc → 操作 → ディスクの再スキャン が同じ操作です。

ステップ2:ディスクの管理でCドライブを拡張する(GUI)

「ディスクの管理」でC:を右クリックし、ボリュームの拡張を選びます。ウィザードが隣接する未割り当て領域をすべて提示するので、既定値のまま完了をクリックします。オンラインで反映されるため再起動もサービス停止も不要です。「ボリュームの拡張」がグレーアウトしている場合は、空き領域がCの直後にないので、ステップ4を参照してください。

ステップ3:PowerShell(Resize-Partition)でCドライブを拡張する

Server Coreやスクリプトで作業する場合は、Cドライブが到達できる最大サイズをWindowsに問い合わせて、そのサイズに変更します。

$max = (Get-PartitionSupportedSize -DriveLetter C).SizeMax
Resize-Partition -DriveLetter C -Size $max
Get-Volume -DriveLetter C

Get-PartitionSupportedSize は最小値と最大値をバイト単位で返します。SizeMax が現在のサイズと同じなら、未割り当て領域がCに隣接していません。

ステップ4:回復パーティションが拡張を邪魔している場合

Windows Serverのインストールによっては、Cの直後に500MB〜1GBほどの回復パーティションが置かれています。パーティションはすぐ後ろの領域にしか広げられないため、末尾に増えた容量は使えません。一般的な対処は、Windows REを無効化して回復パーティションを削除し、Cを拡張してからWindows REを再度有効にする方法です(有効化後はC:\Windows内に保存されます)。ステップ1の結果でTypeが Recovery のパーティション番号を確認してください。例ではパーティション4です。

reagentc /info
reagentc /disable

diskpart
DISKPART> list disk
DISKPART> select disk 0
DISKPART> list partition
DISKPART> select partition 4
DISKPART> delete partition override
DISKPART> exit

# Extend C: (Step 3), then re-enable WinRE
reagentc /enable
delete partition override は元に戻せません。選択しているのがディスク0のRecoveryパーティションであり、Cやデータ用パーティションでないことを必ず確認してください。

ステップ5:新しいデータディスクを初期化してフォーマットする

新しく追加したディスクは初期化されていません(RAW)と表示されます。ディスクの管理を開くと通常「ディスクの初期化」ダイアログが出るのでGPTを選び、未割り当て領域を右クリックして新しいシンプルボリュームを作成します。PowerShellでは、RAWディスクの番号を指定して次のように実行します。

Get-Disk | Where-Object PartitionStyle -eq 'RAW'

# If the disk is offline or read-only
Set-Disk -Number 1 -IsOffline $false
Set-Disk -Number 1 -IsReadOnly $false

Initialize-Disk -Number 1 -PartitionStyle GPT
New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter E
Format-Volume -DriveLetter E -FileSystem NTFS -NewFileSystemLabel "Data" -Confirm:$false

2TBを超えるディスクは必ずGPTにしてください。MBRではそれ以上の容量を扱えません。D:は仮想CD-ROMドライブが使っていることが多いため、例ではEを割り当てています。

ステップ6:結果を確認する

Get-Volume | Where-Object DriveLetter | Format-Table DriveLetter, FileSystemLabel, FileSystem, @{n='SizeGB';e={[math]::Round($_.Size/1GB,1)}}, @{n='FreeGB';e={[math]::Round($_.SizeRemaining/1GB,1)}}

Cドライブが全容量で表示され、新しいディスクもラベルと空き容量付きで表示されていれば完了です。必要に応じてデータやデータベース、Webサイトのファイルを新しいボリュームへ移しましょう。

よくある質問

Cドライブを拡張するのにサーバーの停止は必要ですか?

不要です。NTFSボリュームはWindowsが動いたまま拡張できます。再スキャンしても新しい容量が見えない場合だけ再起動してください。

JUSTGの専用サーバーも同じようにディスクをアップグレードできますか?

専用サーバーはカスタム構成でのアップグレードを行っていません。容量を増やしたい場合はBillingまたはSalesに連絡し、上位プランへ移行してください。VPSならクライアントエリアのアップグレードオプションからSSDを追加できます。

回復パーティションを削除しても大丈夫ですか?

リモートで管理するサーバーではWindows REを使う機会はほとんどなく、reagentc /enable で再有効化するとCドライブ内に保存されます。いずれにしても、パーティション変更の前にはバックアップを取ってください。

新しい容量が表示されない、拡張に失敗するといった場合は、ステップ1の出力を添えてチケットを送信してください。JUSTGテクニカルサポートがディスクの状態を確認します。

この回答は役に立ちましたか?

関連チュートリアル

Windows PowerShell PS> Test-NetConnection -ComputerName 203.0.113.10…PS> nc -vz 203.0.113.10 3389PS> Get-Service -Name TermService Windowsサーバー Windows Server VPSにリモートデスクトップ接続できない時のRDPトラブルシューティング Windows Server VPSでリモートデスクトップ(RDP)接続できない原因を、3389ポート確認・ファイアウォール・NLA/CredSSP・VNCコンソールで解決します。 9 分で読めます 7 チュートリアルを読む Windows PowerShell PS> Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentC…PS> Get-NetTCPConnection -LocalPort 40125 -ErrorA…PS> $port = 40125 Windowsサーバー Windows Serverのリモートデスクトップ(RDP)ポート3389を変更する方法 PowerShellでWindows ServerのRDPポートを3389から変更。レジストリPortNumber、ファイアウォール、TermService再起動と復旧方法。 8 分で読めます 7 チュートリアルを読む Windows PowerShell PS> Get-WinSystemLocalePS> Get-WinUILanguageOverridePS> Get-WinUserLanguageList Windowsサーバー Windows Serverの表示言語を日本語に変更・システムロケールとタイムゾーン設定(2016/2019/2022) Install-Languageや言語パックでWindows Serverの表示言語を変更し、システムロケール・ユーザー言語・タイムゾーンを設定します。 8 分で読めます 7 チュートリアルを読む Windows PowerShell PS> Get-NetAdapterPS> Get-NetIPConfiguration -InterfaceAlias "Ether…PS> Get-NetIPInterface -InterfaceAlias "Ethernet"… Windowsサーバー Windows Serverに追加IPv4アドレスを設定し、IPv6を構成する方法 Windows ServerでGUI・PowerShell・netshを使い追加IPv4とIPv6を設定。SkipAsSource、ゲートウェイ、DNS、疎通確認まで解説。 10 分で読めます 7 チュートリアルを読む