Windows Server 2012ではインストールされていない役割、機能のバイナリファイル自体をディスクから削除する機能が追加されました。ディスクが節約できる反面、追加インストール時にひと手間必要になるので少々注意が必要になっています。特に「source」の指定が導入する役割、機能によって別のものになることがあるようなのでその点に注意が必要です。
私がちょっと戸惑ってしまったのは以下のパターンです。
- はじめにServer Coreでインストール - その後GUIを追加 - その後.NET Framework 3.5を追加
※初めからGUIもインストールしておいても.NET Framework 3.5のバイナリもインストールされていません。
同じことでつまずく人がいるかもしれないので記録しておきます。
ServerCoreにGUIを追加する
Server Coreでインストール後に、GUIを追加する方法は技術文章に記載されています。
Windows PowerShell を使用して、Server Core インストールからフル インストールに変換するには - コマンド mkdir c:\mountdir を使用して Windows イメージ ファイル (WIM) をマウントするフォルダーを作成します。 - 管理者特権のコマンド プロンプトでコマンド Dism /get-wiminfo /wimfile:
:sources\install.wim を使用して、サーバーのインデックス番号を GUI イメージで確認します (たとえば、SERVERDATACENTERCORE ではなくSERVERDATACENTER)。 - 管理者特権のコマンド プロンプトで、次のコマンドを使用して WIM ファイルをマウントします。Dism /mount-wim /WimFile::\sources\install.wim /Index:<#_from_step_2> /MountDir:c:\mountdir /readonly - Windows PowerShell を起動し、次のコマンドレットを実行します。Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell –Restart –Source c:\mountdir\windows\winsxs - または、ソースとして WIM ファイルではなく Windows Update を使用する場合は、次の Windows PowerShell コマンドレットを使用します。Install-WindowsFeature Server-Gui-Mgmt-Infra,Server-Gui-Shell –Restart
DVD内のWIMファイルをマウントし、その中のフォルダをsourceとして指定する形になっています。
.NET Framework 3.5を追加する
.NET Framework 3.5のバイナリは当初導入されていません。これはGet-WindowsFeatureコマンドレットを実行すると確認することができます。
単純に機能の追加をしようとすると以下のように怒られてしまいます。
SourceオプションをつけなければWindowsUpdateを見に行ってくれる…とドキュメントに書いてあるように思うのですが、RC版だからなのか、まだ動かないようです。
で、この時にSourceはどこを指定すればいいのか…ということなのですが、この情報が見つからなくて苦労してしまいました。GUIと同じなのかと思って同じようにイメージをマウントしたうえでc:\mountdir\windows\winsxsを指定してもだめ。違うディレクトリを指定してみてもだめ。DVD自体をトレイに入れてそのパスを指定してもだめ。
もちろんGUIから実行しても同じです。
で、結局色々さがしまわった結果、GUIの「代替えソースパスの指定」オプションの中にちゃんと書いてありました。
というわけで、きちんと「DVDドライブ:\sources\sxs」を指定してあげたら導入に成功することができました。
何でもかんでも極力PowerShellでやろうとしていたのが裏目に出ました…。