Windows Server 2016 クライアント化(WiFi・Flash・Bluetoothも)

 工作机に常置してる LIVA X2(4GB/120GB) を Windows10 化するかどうか迷っていたのですが、せっかくの省電力を生かして 24時間つけっぱなしにしてることもあり、ゆくゆくは自宅サーバー化する前提で、Windows10 と同じカーネルWindows Server 2016 を購入&インストールしてみました。
MSDN サブスクリプション を買って特典をゲットしたと言ったほうが適切だが)


 とはいえ普段はクライアントとしても使いたいので「Windows Server 2016 クライアント化」久しぶりに大奮起♪


 WiFi はデフォルトでサポートしているので問題なく、また Adobe Flash をインストールする方法は アメリカ人が紹介していた ので、これもすんなり行ったのですが、最後の砦たる Bluetooth を有効にする方法が世界中どこにもなく、みんな「サーバー版では Bluetooth はサポートされてないから諦めろ」ばかり。


 カーネル一緒なんだから、そんなはずない!と独力で頑張って、無事に Windows Server 2016 で Bluetooth まで有効化 できました。
 ほぼ完全に日常使用に耐えるクライアント化に成功したと思うので、備忘を兼ねて記録に残します。
※オーディオ や DirectX 等は何の造作もなく有効になるので割愛


を行い、Windows10 Enterprise LTSB版 相当のクライアントにするものとする。
(ストアアプリには非対応、やる方法があるかもしれないが、そもそも「ストア」に興味ないので調べてもいない)


 証拠のスクリーンショット(Bluetooth 有効化したうえで 201HW をペアリングさせてみた)
http://dl.ftrans.etr.jp/?526c27f3c33b45d789afea64b215093022807d02.png
※右下タスクバーの通知領域に Bluetooth アイコンも出現中


 無線LAN は Server でもサポートされているため、「サーバーの役割と機能の追加」から WLANサービス を追加し無線LANのドライバーをインストールし再起動、という通常の手順


 引き続き Adobe Flash のインストール。
 基本的に アメリカ人の手順 どおり。
 コマンドプロンプト(管理者)より

dism /online /add-package /packagepath:"C:\Windows\servicing\Packages\Adobe-Flash-For-Windows-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum"


 最後に Bluetooth
 Flash のときと同じく dism で機能をインストールする。

dism /online /add-package /packagepath:"C:\Windows\servicing\packages\Microsoft-OneCore-Connectivity-Bluetooth-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum"
dism /online /add-package /packagepath:"C:\Windows\servicing\packages\Microsoft-OneCore-Connectivity-Bluetooth-onecore-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum"
dism /online /add-package /packagepath:"C:\Windows\servicing\packages\Microsoft-OneCore-Connectivity-Bluetooth-drivers-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum"

dism /online /add-package /packagepath:"C:\Windows\servicing\packages\Microsoft-OneCore-Connectivity-Bluetooth-WOW64-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum"
dism /online /add-package /packagepath:"C:\Windows\servicing\packages\Microsoft-OneCore-Connectivity-Bluetooth-WOW64-onecore-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum"
dism /online /add-package /packagepath:"C:\Windows\servicing\packages\Microsoft-OneCore-Connectivity-Bluetooth-WOW64-drivers-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum"

dism /online /add-package /packagepath:"C:\Windows\servicing\packages\Microsoft-OneCore-Connectivity-Bluetooth-onecoreuap-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum"
dism /online /add-package /packagepath:"C:\Windows\servicing\packages\Microsoft-OneCore-SystemSettings-Bluetooth-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum"

 この中で不要なものもあるかもしれませんが、切り分け面倒なので、らしいもの全部ぶっこみ。
 30分くらいかかるやつもあるので気長に待つこと。


 引き続きマシンに搭載されている Bluetooth チップに見合ったドライバ(Win10x64版)をインストールして再起動したらオシマイ。


 ちなみに LIVA X2 では

ハードウェアID バイス
VID_8087&PID_0A2A インテル® Wireless Bluetooth® ソフトウェア

 自動で入らなかったら手動で。
 派生として以下、自動で入らなかったら手動で

BTH\MS_BTHBRB Microsoft Bluetooth Enumerator
BTH\MS_BTHLE Microsoft Bluetooth LE Enumerator
BTH\MS_BTHPAN パーソナル エリア ネットワーク サービス
BTH\MS_RFCOMM Bluetooth Device (RFCOMM Protocol TDI)


 ペアリングの方法など、すべて Windows10 と同じ


(追記) Bluetoothキーボードなど Bluetooth HID Device のインストール


 上記にて Bluetooth が有効になりますが、いざ Bluetooth キーボードを繋ごうとするとペアリングには成功するもドライバが見つからず、「不明なデバイス」に Bluetooth Keyboard が残ってしまい結果として使えません。
 これまた相当に手こずりましたが

  • hidbth.sys が存在しない
  • hidbth.inf は存在するが、 Server 除外のシグネチャーが記述されている

ということが原因のようです。
 その他の Bluetooth 関係ライブラリは概ね入っているので、ほとんど嫌がらせのような仕打ちです。


 ランセンス的なところは置いといて、とりあえず hidbth.sys は Windows10 x64(試供版でも可だが、リビジョンは揃えること) の C:\Windows\System32\Drivers から採取して同じ場所に放り込んでおけばいいんですが、問題が Server 除外シグネチャーのある INF ファイルのほう。
 C:\Windows\Inf\hidbth.inf は直接いじれないので、別のフォルダへコピーして編集します。
 中で、input.inf を include してるぽいので、念のため C:\Windows\INF の中から探し出して同じ場所にコピーしておきます。

変更前(before) 変更後(after)
http://dl.ftrans.etr.jp/?e0db5e4a9fc649539764087f27b3fd2db7bbe131.png http://dl.ftrans.etr.jp/?7b292907e5ae40ec871b9383995843e6a9c34f9b.png


 この INF をドライバとして Bluetooth Keyboard に当てるのですが、残念ながら改変した INF に対応する証明書ファイル(cat)を用意できないため、デフォルトのままだと未署名ドライバとして弾かれてしまいます。
 未署名ドライバを強制インストールする手順はネットに出てるので、それ見て強制的に入れてやってください。(参考)

セキュアブートが無効なのを確認したうえで
bcdedit /set TESTSIGNING ON

 テストモードによるドライバの強制インストールが終わったら

bcdedit /set TESTSIGNING OFF

で通常モードに戻しますが、先ほど強制インストールしたドライバは生きてるようで、ちゃんと Bluetooth キーボードが使えます。


http://dl.ftrans.etr.jp/?d3a445bc390f447f8b9016ae79dc37403868bd45.png http://dl.ftrans.etr.jp/?933ee36b72c04d0ba0556dd6699d15d187e238e8.png


 成功すると思わなかったため作業途中のスクリーンショットがあまりありません。
 もし気が向いたらクリアインストールして最初から手順を残すかもしれませんが、Windows Server 2016 をクライアント化しようとしてる方だったら、この程度の文章量でも理解していただけるかと思われ。。


(追記)2018/12/17
 Windows Server 2019 でも Bluetooth HID Device を有効にできました。(こちら
 最初から必要なパッケージはインストールされているらしく、前半の作業は不要です。
 後半の「Bluetoothキーボードなど Bluetooth HID Device のインストール」の付近だけで、手順も全く同じでいけました。
 サーバー除外のシグネチャー外すくらい、やってくれたらいいのに・・・って思いますよねぇ