Microsoft AzureにMacからWindows10環境を作成する(3年ぶり? 2度目くらい)。

くだらない述懐はいらんのでさっさと設定方法を見たい人は
普段は基本的にMacでWebアプリなんかを作っているんですが、どうしてもクライアントさんの都合でWindowsを使わなきゃならないこともありまして。
昔はWindows機も持っていたんですが、メインマシンをMacにしてからWindows機の更新が滞りがちになり、、、やがてスペックも時代遅れになり、手放してしまいました。
現在はMacの上でVMWareを動かして対応してます。
が、どうも動きがもっさリズムなんですよね。クライアントさんの依頼でJavaをやってるんですが、やっぱりもっさり。MacBook Pro 16の割といいスペックのやつを使ってるんですが、どうもモッサリ。VMWareの設定があかんのかもしれませんが。
チューニングすればサクサク動く可能性もありますが、なかなか手が出ません。
そんな中、Apple Silicon(M1)のMacが発表になりまして。なんかうちのMBP16インチよりスペックがいいとかなんとか。あんだけ大枚はたいて買ったうちのエースよりン分の1の値段でスペックがいいとか、「アーキテクチャが違うからなフフフ」と自分を励まし切るにはちょっと悲しすぎる出来事でございました。
まあ、M1が出る前からそうだったんですが、Windowsマシンを一台買うくらいなら、普段使いしてるMacからリモートでWindows使えばいいじゃん、というスタイルを考えておりまして。
リモート先を実機にするかクラウドにするか。3年くらい前に一度AWSでWindows10を走らせてみたんですが、まともに使えるスペックのインスタンスを立ち上げるとなかなかのコストになったので、さっさと諦めました。
というか、もともと入ってる英語版なWindowsを日本語にするのに苦労した記憶もあり。細かいところがしっくりこなくて、総合して苦労したので諦めた記憶があります。
今回そういうわけで、「M1のMacを買ったら、今とそんなに環境を変えずにM1ネイティブなMac生活を送れるかどうか」を改めて検証したいと思いまして、久しぶりにクラウド上にWindowsを構築してみようと思いました。
- クライアントはMacBookProでMicrosoft Remote Desktopクライアントからアクセスします。
- ローマ字入力じゃなくてかな入力。
別に普通にAzureのVMにWindows建てて日本語化すればいいかと思いましたが、少々苦労した部分があるので以下、メモです。
さあこれでWindows開発環境も雲の上に行ったので、あとはM1 Macをいつ買うかやでぇぇ。
Azure Win10の日本語化
ひとまずのAzure VM構成
インスタンスサイズ: Standard_B2ms
あとは何も考えずポチポチっと。メモリもひとまず8Gあれば大丈夫やろ。
一時間で20円弱くらい。ちゃんと作業が終わったらインスタンス停止すれば大丈夫やろ(便所の電気も消せないやつがよく言う)
素のWindowsを入れたら、「設定」から日本語化していきます。
まずは日付と時刻。「設定」-「時刻と言語」-「日付と時刻」

Time Zoneから「Osaka, Sapporo, Tokyo」を選びましょう。
次は「地域(Region)」

Country or regionで「Japan」を選びましょう。
ついで「言語(Language)」。
Window Display languageを「日本語」に。

そいで、下の「Add a language」で「日本語」を追加します。


よくわからないのでチェックはデフォルトのままでInstallします。

インストール数分かかります。
※これからの画面は「日本語化」してから取っちゃったやつですごめんなさい。英語の画面と置き換えて見てくださいね。
これからがキモです。
今インストールした「日本語」のところをクリックして「オプション」を押します。

次の画面の「ハードウェアキーボードレイアウト」セクション内の「レイアウトを変更する」を押します。

こんなん出ますので「日本語キーボード(106/109キー)」を選びます。


ここで「今すぐ再起動する」を選択してコンピュータを再起動します。
再起動が終わってからが最後のキモ
Windowsのレジストリをいじります。
間違えていじると大変なことになるかもしれませんので、気をつけてください。
落ち着いてやりゃあ、できる!
修正するレジストリ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\KeyboardType Mapping\JPN
「00000000
」のデータを以下のように修正します。
初期値:kbd101.dll
修正後:kbd106.dll
直したら再起動してOKです。
これでよし。
[追記]
- 2020/11/21
- 課金を抑えるためにインスタンスを「停止解放済み」にすると、そこから再始動したときにキーボード配列が英語配列に戻ってしまうことがある。
- ただし、いつもとは限らない。たまに日本語配列を保持している場合もあるので、どういう匙加減で英語配列にもどってしまうのかは今のところ不明。
- とりあえず、希望通りの動作はしているのでよしとする。
- 2020/11/25
- システム内部ロケールを変更しないといけないみたいなので、
- https://www.yorozu-sys.net/blogpost/1981/
- 記事にしました。
- これで上の英語配列に戻っちゃうのもついでに治るといいなあ。