ディスク空き容量の問題やフラグメントが気になるなどの理由で、ページ ファイル1)Windows の GUI では “ページング ファイル” の表記であり、おそらくこちらが公式の名称だと思いますが、一般的には “ページ ファイル” のほうが定着していると思いますので、ここでは ”ページ ファイル” で統一します。 を別のディスクやパーティションに移動させたいことがあるかもしれません。対応する標準のコマンドレットはありませんが、WMI 関連のコマンドレットを利用することで、目的を達成できます。
ページ ファイルの管理を自動→手動に変更
Windows Server 2016 の既定値では、ページ ファイルはシステムが自動的に管理するようになっています。その場合、基本的にはブート パーティション (普通は C ドライブ) にページ ファイルが作成されるため、ページ ファイルを移動するには、まずページ ファイルの管理を手動で行うように変更する必要があります。
1 2 3 |
$sys = Get-WmiObject -Class Win32_ComputerSystem -EnableAllPriveleges $sys.AutomaticManagedPagefile = $False $sys.Put() |
既存のページ ファイルを削除する
ページ ファイルの管理を自動から手動に変更することで、WMI で Win32_PageFileSetting クラスが利用できるようになります2)下の画像で 1 度めの Get-WmiObject 実行は自動管理されている場合の実行結果です。何も結果を返しません。2 度めの実行は手動管理に変更後です。結果が返っています。。このクラスを利用して既存のページ ファイル (C:\pagefile.sys) を削除することができます。
1 2 |
$pf = Get-WmiObject -Class "Win32_PageFileSetting" -Filter "Name = 'C:\\pagefile.sys'" $pf.Delete() |
別のドライブにページ ファイルを作成する
ページ ファイルの作成には Set-WmiInstance コマンドレットを使用します。ここでは、E: ドライブにページ ファイル (E:\pagefile.sys) を 4GB のサイズで作成します。
1 |
Set-WmiInstance -Class "Win32_PageFileSetting" -Arguments @{Name = "E:\pagefile.sys"; InitialSize = 4096; MaximumSize = 4096} |
コンピューターの再起動
ページ ファイルの設定を最終的に反映するには、コンピューターの再起動が必要です。
1 |
Restart-Computer -Force |
これで、ページ ファイルの移動は完了です。
参照
1. | ↑ | Windows の GUI では “ページング ファイル” の表記であり、おそらくこちらが公式の名称だと思いますが、一般的には “ページ ファイル” のほうが定着していると思いますので、ここでは ”ページ ファイル” で統一します。 |
2. | ↑ | 下の画像で 1 度めの Get-WmiObject 実行は自動管理されている場合の実行結果です。何も結果を返しません。2 度めの実行は手動管理に変更後です。結果が返っています。 |