2015/05/07

山市良版 Getting Started with Nano Server

※注:この記事はすごく古いです(物理マシン、仮想マシン環境の Nano Server は、Windows Server Semi-Annual Channel 以降はサポートされないオプションなので、この記事はまったく参考になりません)

Windows Server Technical Preview 2 で登場した Nano Server ですが、私流の成功したインストール例をば...

詳細な手順は、以下で公開されていますが、Unattend.xml がエラーになる。コピーするべきファイルのワイルドカードが足りないなと、ミスがいくつかあるようです。詳しい説明なしに WIM を VHD に変換しているのもいただけない。

Getting Started with Nano Server
[URL] https://technet.microsoft.com/en-us/library/mt126167.aspx https://docs.microsoft.com/ja-jp/windows-server/get-started/getting-started-with-nano-server

※ Updated: May 8, 2015 でちゃんと動く Unattend.xml に修正されたみたい。

というわけで、応答ファイル (unattend.xml) を使用しないでの構成が成功した手順を忘れないうちにメモ。(5/9 追記: ちょっとミスがあったので修正しました)

材料


・ Windows Server Technical Preview 2 の ISO イメージ (→ https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-preview)
・ Windows Server Technical Preview 2 の Hyper-V 環境 (Windows Server 2012 R2 や Windows 8.1 の Hyper-V 環境でも大丈夫だと思う)。
・ Windows 8.1 または Windows Server 2012 R2 の作業用マシン (Convert-WindowsImage.ps1 の実行に必要)

下ごしらえ

・ Convert-WindowsImage.ps1 (https://gallery.technet.microsoft.com/scriptcenter/Convert-WindowsImageps1-0fe23a8f) をダウンロードして作業ディレクトリに。

・ Windows Server Technical Preview 2 の DVD (例: E:) の NanoServer フォルダーから NanoServer.wim を作業ディレクトリにコピー。を作業ディレクトリ (例: D:\work\nanoserver) にサブディレクトリごとコピー。

D:\work\nanoserver> copy E:\NanoServer\NanoServer.wim D:
D:\work> xcopy E:\NanoServer D:\work\NanoServer /S
D:\work> cd nanoserver
D:\work\nanoserver>

・ 作業ディレクトリの準備
D:\work\nanoserver> mkdir dism
D:\work\nanoserver> copy E:\sources\api*downlevel*.dll .\dism\
D:\work\nanoserver> copy E:\sources\dism* .\dism\
D:\work\nanoserver> copy E:\sources\*provider* .\dism\
D:\work\nanoserver> mkdir mountdir


Hyper-V 仮想マシン用 VHD または物理マシンの VHD ブート用 VHD を作る


・ PowerShell で WIM を VHD に変換 (管理者として実行する必要あり)
PS D:\work\nanoserver> .\Convert-WindowsImage.ps1 -Sourcepath .\nanoserver.wim -VHD .\nanoserver.vhd –VHDformat VHD -Edition 1

※Convert-WindowsImage.ps1 (Version 6.3) は Windows 8/8.1 向けのスクリプトで、Insider Preview や Technical Preview 2 環境だと正常に動きません。かないと思います。この変換作業以外の以降の作業は、Windows 10 Insider Preview や Windows Server Technical Preview 2 の環境でも実行できます。 6/20 に Windows 10 対応の Convert-WindowsImage.ps1 (Version 10) が出ています。
※WIM 形式のまま作業して、最後に Convert-WindowsImage.ps1 で VHD に変換するでもよし。
※Convert-WindowsImage.ps1 (Version 6.3 QFE 7)  を Windows 10 Insider Preview や Windows Server Technical Preview 2 で動かしたいなら、function Test-WindowsVersion { return $true } とでも変更してください。
※第 2 世代仮想マシンで動かすつもりなら、 -VHD .\nanoserver.vhdx –VHDformat VHDX -Edition 1 -VHDPartitionStyle GPT と指定。GPT 指定しないと MBR で初期化されるので起動しないです。

・ コマンドプロンプトで DISM で VHD イメージをオフラインでカスタマイズ (Compute パッケージのイメージを作る場合の例)
D:\work\nanoserver> dism\dism /Mount-Image /ImageFile:.\nanoserver.vhd /Index:1 /MountDir:.\mountdir
D:\work\nanoserver> dism\dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-Compute-Package.cab /Image:.\mountdir
D:\work\nanoserver> dism\dism /Add-Package /PackagePath:.\packages\en-us\Microsoft-NanoServer-Compute-Package.cab /Image:.\mountdir
D:\work\nanoserver> dism\dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-Guest-Package.cab /Image:.\mountdir
(VHD ブート用には Microsoft-NanoServer-OEM-Drivers-Package.cab を)
D:\work\nanoserver> dism\dism /Add-Package /PackagePath:.\packages\en-us\Microsoft-NanoServer-Guest-Package.cab /Image:.\mountdir  (VHD ブート用には Microsoft-NanoServer-OEM-Drivers-Package.cab を)

・ Unattend.xml でコンピューター名や管理者パスワードを設定する場合は、ここでやっときます (Unattend.xml のサンプルは → https://technet.microsoft.com/en-us/library/mt126167.aspx から)
D:\work\nanoserver> dism\dism /image:.\mountdir /Apply-Unattend:.\unattend.xml
D:\work\nanoserver> md .\mountdir\windows\panther
D:\work\nanoserver> copy .\unattend.xml .\mountdir\windows\panther 

・ EMS の有効化 (オプション)
D:\work\nanoserver> bcdedit /store .\mountdir\boot\bcd /ems {default} on
D:\work\nanoserver> bcdedit /store .\mountdir\boot\bcd /emssettings EMSPORT:1 EMSBAURDATE:115200


・ イメージを確定してアンマウント

D:\work\nanoserver> dism\dism /Unmount-Image /MountDir:.\MountDir /Commit
・ 出来上がった nanoserver.vhd を Hyper-V の仮想マシン(第 1 世代) に接続して起動!起動するまで待つべし。

イメージ作成直後時点で VHD のサイズは 500KB くらいでした。初回起動時は時間がかかりますが、初期設定したあとは 10 秒くらいで起動します。なぜかテンテングルグル状態が続いてなかなか起動しないことがありましたが、そんなときは強制リセットで。

物理マシン用カスタム WIM イメージの作成と展開


・ コマンドプロンプトで DISM で WIM イメージをオフラインでカスタマイズ (Compute パッケージのイメージを作る場合の例)
D:\work\nanoserver> copy nanoserver.wim nanoserver_custom.wim
D:\work\nanoserver> dism\dism /Mount-Image /ImageFile:.\nanoserver_custom.wim /Index:1 /MountDir:.\mountdir
D:\work\nanoserver> dism\dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-Compute-Package.cab /Image:.\mountdir
D:\work\nanoserver> dism\dism /Add-Package /PackagePath:.\packages\en-us\Microsoft-NanoServer-Compute-Package.cab /Image:.\mountdir
D:\work\nanoserver> dism\dism /Add-Package /PackagePath:.\packages\Microsoft-NanoServer-OEM-Drivers-Package.cab /Image:.\mountdir
D:\work\nanoserver> dism\dism /Add-Package /PackagePath:.\packages\en-us\Microsoft-NanoServer-OEM-Drivers-Package.cab /Image:.\mountdir


・ 3rd party のデバイス ドライバーの追加
D:\work\nanoserver> dism\dism /Image:.\mountdir /Add-Driver /Driver:infファイルのパス

・  Unattend.xml でコンピューター名や管理者パスワードを設定する場合は、ここでやっときます (Unattend.xml のサンプルは → https://technet.microsoft.com/en-us/library/mt126167.aspx から)
D:\work\nanoserver> dism\dism /image:.\mountdir /Apply-Unattend:.\unattend.xml
D:\work\nanoserver> md .\mountdir\windows\panther
D:\work\nanoserver> copy .\unattend.xml .\mountdir\windows\panther 

・ イメージを確定してアンマウント
D:\work\nanoserver> dism\dism /Unmount-Image /MountDir:.\MountDir /Commit
・ 出来上がった nanoserver_custom.wim を USB メモリ (例: F:\) とかにコピー
D:\work\nanoserver> copy nanoserver_custom.wim F:\

・ 物理マシンを Windows Server Technical Preview 2 のメディアで起動

・ Windows Setup が起動したら[Shift]+[F10]でコマンドプロンプトを開く

・ ボリュームの準備

X:\Sources> DISKPART
DISKPART> list disk (インストール先のディスク番号(例:1)の確認)
DISKPART> select disk 1
DISKPART> create partiton primary
DISKPART> format quick FS=NTFS LABEL="System"
DISKPART> assign letter=S
DISKPART> active
DISKPART> exit


・ カスタムWIM(nanoserver_custom.wim)をフォーマットしたボリュームに展開
X:\Sources> dism /apply-image /imagefile:USBのドライブ文字:\nanoserver_custom.wim /index:1 /ApplyDir:S:\

※コマンドプロンプトで startnet と打てば、ネットワークが利用可能になるので、共有上の WIM ファイルから展開することもできますよ。

・ ブート環境の作成
X:\Sources> bcdboot S:\Windows /l en-us /s S:
X:\Sources> bcdboot /store S:\boot\bcd


・ ブート環境のカスタマイズ(オプション、例: EMS の有効化)
X:\Sources> bcdedit /store S:\boot\bcd /ems {default} on
X:\Sources> bcdedit /store
S:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200

・ 再起動
X:\Sources> wpeutil reboot

・ 起動するまで待つべし

初回起動後の基本設定


初回起動時にはちょっと時間がかかりますが、真っ黒な画面にうっすら_が表示されたら完了です。Nano Server にコンソール画面やローカルログオン機能はありましぇん。

IP アドレス(x.x.x.x)を何とか調べて (MAC アドレスと DHCP サーバーのリース情報を比較するとか、EMS でシリアル接続して SAC> i とか)、WinRS コマンド (または PSSession 接続、または SAC の cmd チャネル)で設定を行います。Unmount-Image するの前に Windows\Setup\Scripts\SetupComplete.cmd を作成して、ipconfig と書いておけば、真っ黒なコンソールに IP アドレスをうっすら表示してくれるかも。

例:
D:\work\nanoserver> mkdir .\mountdir\Windows\Setup
D:\work\nanoserver> mkdir .\mountdir\Windows\Setup\Scripts
D:\work\nanoserver> echo ipconfig > .\mountdir\Windows\Setup\Scripts\SetupComplete.cmd
D:\work\nanoserver> dism\dism /Unmount-Image /MountDir:.\MountDir /Commit



Unattend.xml を使用しなかった場合、コンピューター名 MINWINPC、ネットワーク DHCP、Administrator パスワードなしで起動しますので、WinRS または PSSession でリモート接続してパスワードやコンピューター名などを設定していきます。
※Unattend.xml でパスワードを設定したつもりでも、ログオンできない場合はパスワードなしを試してみましょう。Unattend.xml の処理が失敗して、パスワードが設定されないことがありましたです。



・ 事前準備: WinRM の TrustedHosts の設定 (管理者として実行する必要あり)
C:\work\nanoserver> winrm set winrm/config/client @{TrustedHosts="x.x.x.x"}

・ 事前準備: コードページを 65001 (UTF-8) に変更 (日本語 932 や英語 437 は NG)
C:\work\nanoserver> chcp 65001

・ パスワードの設定
C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator net user administrator p@ssw0rd

・ タイムゾーンをUTC+9に設定
C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator -p:p@ssw0rd tzutil /s "Tokyo Standard Time"
 

・ コンピューター名の変更
C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator -p:p@ssw0rd wmic computersystem where name="MINWINPC" call rename name="newcomputername"

・ DHCP (既定) から固定 IP アドレスへ (オプション)
C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator -p:p@ssw0rd netsh interface ipv4 set address "Ethernet" static newip netmask gatewayip

・ DNS サーバーの設定 (オプション)
C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator -p:p@ssw0rd netsh interface ipv4 add dnsserver "Ethernet" address=x.x.x.x index=1

・ Windows ファイアウォールの調整(リモートからのファイルコピーのため)
C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator -p:p@ssw0rd netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=yes

・ Active Directory へのオフラインドメイン参加
C:\work\nanoserver> djoin /provision /domain domainname /machine newcomputername /savefile djoin.txt
C:\work\nanoserver> copy djoin.txt \\x.x.x.x\C$
C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator -p:p@ssw0rd djoin /requestodj /loadfile c:\djoin.txt /windowspath c:\windows /localos


・ 再起動
C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator -p:p@ssw0rd shutdown /r /t /0

・ PowerShell でリモート接続するなら
Set-Item WSMan:\localhost\Client\TrustedHosts "x.x.x.x"  (管理者として実行する必要あり)
Enter-PSSession -ComputerName x.x.x.x -Credential x.x.x.x\Administrator

・ Hyper-V 仮想マシンの COM ポートで EMS に接続する方法については...

仮想マシンの COM リダイレクトで EMS (緊急管理サービス) を試してみた (2011/06/21)

5/22 追記)
Hyper-V 仮想マシンの COM ポートに PuTTY を直結する方法 (2015/05/22)

・ Server Manager や MMC でリモート管理するなら
Windows ファイアウォールで許可してあれば可能。ファイアウォールを無効にするには
C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator -p:p@ssw0rd netsh advfirewall set allprofile state off


・ Nano Server 上で Hyper-V が動いている様子 (物理マシン環境)。
でも、Hyper-V Manager や PowerShell Hyper-V コマンドレットからのリモート管理は失敗しました。どうやって管理するんだろう。もしかして、ハイパーバイザー動かすところまでしか、まだ実装されていないとか...



追記) Hyper-V のリモート管理方法判明!

DISM で NanoServer の役割と機能を眺めていたら、ServerManager ほにゃららが無効になっていることを発見。ServerManager-Core-RSAT、ServerManager-Core-RSAT-Role-Tools、および ServerManager-Core-RSAT-Feature-Tools を有効化して、再起動してみたら...

C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator -p:p@ssw0rd DISM /Online /Enable-Feature /FeatureName:ServerManager-Core-RSAT /FeatureName:ServerManager-Core-RSAT-Role-Tools /FeatureName:ServerManager-Core-RSAT-Feature-Tools

C:\work\nanoserver> winrs -r:x.x.x.x -u:x.x.x.x\administrator -p:p@ssw0rd shutdown /r /t /0

Hyper-V on Nano Server の出来上がり。


↑ こちらの NANOSERVER01 は、Hyper-V HV01 で動いているため、NANOSERVER01 内の仮想マシンは起動しません。

↓ 物理環境に NANOSERVER03 を作って試してみたら、仮想マシン起動しましたです。やっとできたぁ。



ちなみに、Microsoft-NanoServer-Compute-Package (Hyper-V Role) でサポートされる役割と機能は...


Feature Name : ServerManager-Core-RSAT
State : Disabled
Feature Name : ServerManager-Core-RSAT-Role-Tools
State : Disabled
Feature Name : ServerManager-Core-RSAT-Feature-Tools
State : Disabled
Feature Name : FileAndStorage-Services
State : Enabled
Feature Name : Storage-Services
State : Enabled
Feature Name : File-Services
State : Disabled
Feature Name : CoreFileServer
State : Disabled
Feature Name : File-Services-Search-Service
State : Disabled
Feature Name : SmbDirect
State : Enabled
Feature Name : Microsoft-Hyper-V
State : Enabled

(↓フェールオーバー クラスタリングの機能を入れた場合)
Feature Name : FailoverCluster-NanoServer
State: Enabled

Microsoft-NanoServer-Storage-Package (FileServer Role) でサポートされる役割と機能は...

Feature Name : ServerManager-Core-RSAT
State : Disabled
Feature Name : ServerManager-Core-RSAT-Role-Tools
State : Disabled
Feature Name : ServerManager-Core-RSAT-Feature-Tools
State : Disabled
Feature Name : FileAndStorage-Services
State : Enabled
Feature Name : Storage-Services
State : Enabled
Feature Name : File-Services
State : Disabled
Feature Name : CoreFileServer
State : Disabled

Feature Name : File-Services-Search-Service
State : Disabled
Feature Name : Dedup-Core
State : Disabled

Feature Name : SmbDirect
State : Enabled
Feature Name : SmbWitness
State : Disabled
Feature Name : Storage-Replica
State : Disabled 

(↓フェールオーバー クラスタリングの機能を入れた場合)
Feature Name : FailoverCluster-NanoServer
State: Enabled

Microsoft-NanoServer-Storage-Package (FileServer Role) な Nano Server にも ServerManager-Core-RSAT* を入れて、さらに File-Services (同時に CoreFileServer も入る) を入れたら、Server Manager から共有管理できるようになりました。 データ重複除去 (Dedup-Core) や、ストレージ レプリカ (Storage-Replica) にも対応しているようです。






5/19 追記) パッケージ入れ忘れたぁって場合でも、作業フォルダーを NanoServer のローカルにコピーして、DISM /Online で追加できました。
あと、役割や機能の削除は、リモートの Server Manager からでも。Server Manager は Nano Server 対応でした。
関連:
Technical Preview 2 > Nano Server の Hyper-V ゲストとしての対応状況 (2015/05/25)
※ Hyper-V 仮想マシンの Nano Server に Copy-VMFile でホストからファイル コピーできます!

5/28 追記)
評価ガイドが出ました。こちらの付録にも Nano Server の導入手順まとまってます。

Windows Server & System Center Technical Preview 2 評価ガイド (Word、10.5 MB)
[URL] https://technet.microsoft.com/ja-jp/virtualization/dd297510#sec01


0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。