Windows for IoT on Intel Galileo の初期設定メモ

随時更新予定。

 

1. IP アドレスを固定

[概要]

netsh でインターフェース確認して、固定。

[手順]

C:windowssystem32>netsh interface ip show config


Configuration for interface “Local Area Connection

DHCP enabled: Yes

IP Address: 169.254.32.192

Subnet Prefix: 169.254.0.0/16 (mask 255.255.0.0)

InterfaceMetric: 20

DNS servers configured through DHCP: None

Register with which suffix: Primary only

WINS servers configured through DHCP: None

Configuration for interface “Loopback Pseudo-Interface 1″

DHCP enabled: No

IP Address: 127.0.0.1

Subnet Prefix: 127.0.0.0/8 (mask 255.0.0.0)

InterfaceMetric: 50

Statically Configured DNS Servers: None

Register with which suffix: None

Statically Configured WINS Servers: None

C:windowssystem32>netsh interface ip set address “Local Area Connection” static 192.168.111.50

固定に成功。DNS とかも同じように指定できるらしい。

image

[参考]

http://www.atmarkit.co.jp/ait/articles/1002/05/news097.html

Intel Galileo で Windows Developer Program for IoT

Galileo Gen 2 が届きました。が、それは置いておいて、Galileo で Windows を動かすことに成功したので、手順のメモなど。

IoT 用に無償提供すると言っていた Windows の情報がついに出てきていました。Gen 1 も Gen 2 も動くのを確認済みです。(Gen 2 については対応予定ってどっかで見たのでまだ不完全かもですが。)

 

詳しいことは以下のページにいろいろ情報がまとまっている模様。

Windows Developer Program for IoT

image

では、手順など。

1. PC のセットアップ

Visual Studio 2013 とかが必要みたいです。持ってない人は Free の Express 版を使うか、学生であれば DreamSpark とかで Visual Studio 他、Windows Server なんかの OS も無料で使えるので、そちらを使ってください。(よくわからなければ、中の人なので適当にコメントなりでご連絡くださいませ)

私は VS 2013 はすでにインストール済みだったので、WindowsDeveloperProgramforIOT.msi だけをインストールします………が、リンクをクリックするとエラー。

これ、リンク切れというわけではなく、別途プログラムへの参加が必要みたい。

こちらのページから “Windows Embedded Pre-Release Programs – Windows Developer Program for IoT” に参加しておきましょう。(多分 Microsoft アカウントが必要です)

https://connect.microsoft.com/directory/accepting-bugs

image

で、改めてアクセスするとダウンロード ページが開きます。

https://connect.microsoft.com/windowsembeddedIoT/Downloads/DownloadDetails.aspx?DownloadID=54160

“ダウンロード” をクリックしてダウンロードします。

この時、[ダウンロード] ボタンを押すと File Transfer Manager (ダウンロード ツール) の罠にはまるかもしれません。ただ、ダウンロード ボタンじゃなくて、”単一のファイルをダウンロードする” の所の “ダウンロード” なら普通に msi 落とせます。

download page

インストールは指示に従うのみなので割愛。Galileo Watcher とかいうのも一緒に入るみたいですね。

 

次に、Telnet のセットアップをします。Tera Term とか Putty とか入れてる人は不要。プログラムと機能から、”Windows の機能の有効化または無効化” をクリックします。”Telnet クライアント” にチェックを入れて [OK] を選択。これで準備完了です。(もしかしたら再起動が必要かも。)

image

2. MicroSD カードへイメージの焼きこみ

Web だと一番肝心なイメージの作成手順がスルーされている模様。

というか、なんかのイベントで Galileo と MicroSD カード配ってて、その人たち向けだから書いてないとか?

 

とりあえず、以下の URL にアクセスすると WIM と cmd が置いてあるのでダウンロードしてきます。

https://connect.microsoft.com/windowsembeddedIoT/Downloads

image

 

この後、コマンド プロンプトを管理者で起動して、以下のように実行していきます。

※ 事前に FAT32 でフォーマットしておいたほうがいいかもです。

 

> cd %userprofile%downloads     <===== wim も cmd も “ダウンロード” フォルダに保存されている場合

> apply-BootMedia.cmd –destination <microSD カードのパス> –image <wim のパス> –hostname <ホスト名> –password <パスワード>     <===== カッコ内は適宜書き換えてください。

 

例)

> apply-BootMedia.cmd –destination E: –image 9600.16384.x86fre.winblue_rtm_iotbuild.140731-1000_galileo_v1.wim –hostname galileo-gen2 –password Passw0rd!

 

実行すると、DISM とか色々と処理が走って、イメージが書き込まれる模様。

書き込み速度にもよると思いますが、数分~10分程度かかると思います。

設定したパラメーターと共に Done. と表示されたら完了です。

 

3. Galileo のセットアップ

最後に Galileo のセットアップというか、起動をします。

電源とかケーブル類は一切さしていない状態から、2. で作成した MicroSD カードを挿入。続けて LAN ケーブルを Galileo – PC で直結します。その後、電源を投入。2 分ほど起動にかかるらしいです。

LED が激しく光っている間はブート中、点滅が落ち着いたら起動完了という事らしいです。が、これが信用ならず、シリアルでつないでしまった方が確実。ボーレートは 115200 です。

起動すると Galileo Watcher に現れます。右クリックして Telnet なり何なりで接続すればあとは普段の Windows の世界です。

image

Administrator と設定しておいたパスワードでログインします。

当然のごとく hostname とか ipconfig とか使えます。

image

 

4. 上手く動かないときは。。。

とりあえず Firmware は最新にしましょう。(2014/08/20 現在は 1.0.2)

以下にあるやつを使って、Update すれば OK。

https://communities.intel.com/docs/DOC-22226

手順とかは過去の投稿を見てください。

 

以上、とりあえずここまで。

RDP とかできるといいな。

 

追記

Windows for IoT on Intel Galileo の初期設定メモ

https://www.syuheiuda.com/?p=3185

Windows Developer Program for IoT で L チカ (Visual Studio で開発)

https://www.syuheiuda.com/?p=3200

Hyper-V の仮想マシンにおける エクスポート / インポート の互換性

Hyper-V を長年使っておりますが、エクスポートとインポートの互換性が徐々にややこしくなっているので、整理を兼ねて一度まとめておこうと思います。

今回は、Windows Server 2012 以前の Hyper-V にてホストしていた仮想マシンを 2012 R2 環境へと移行する場合を想定して、異なる OS 間での Hyper-V 仮想マシンのエクスポート / インポートがどこまで可能なのかについて検証しました。”結論だけ知りたい” という方は、表 2 をご確認ください。

 

[検証 1] 実際に仮想マシンを作成して、エクスポート / インポートを試してみました

Hyper-V マネージャーから仮想マシンを新規作成し、エクスポートを実行します。

以下は 2012 R2 での画面です。

 image

なお、今回利用したホスト OS は以下の通りとなります。

  • Windows Server 2008 SP2
  • Windows Server 2008 R2 SP1
  • Windows Server 2012
  • Windows Server 2012 R2

 

上記の 4 つの Hyper-V ホストにてエクスポートを行いました。

2012 R2 では 2012 以前で作成していた “第一世代 仮想マシン” と ”第二世代 仮想マシン” という 2 種類の仮想マシンの作成が行えるため、Gen1, Gen2 として 2 種類を作成しています。

image 

 

エクスポートした 5 つの仮想マシンを、4 つの OS にてインポートを試みた結果、以下のようになりました。

  • 新しい OS にて作成した仮想マシンを古い OS のホストにインポートする事は不可
  • Windows Server 2012 R2 でインポート可能なのは 2012 / 2012 R2 で作成した仮想マシンのみ

    (こちらについては検証 2 もご覧ください)

 

Export元\Import先 2008 2008 R2 2012 2012 R2
2008 ×
2008 R2 × ×
2012 × ×
2012 R2 (Generation 1) × × ×(*1)
2012 R2 (Generation 2) × × ×(*1)

表 1 : エクスポート / インポート 実施結果

 

[検証 2] Windows Server 2012 R2 に 2008 / 2008 R2 上の仮想マシンをインポートする方法を模索

Hyper-V マネージャー からエクスポート / インポートを行った場合については上記のような結果となりましたが、何らかの方法で 2008 / 2008 R2 → 2012 R2 を行う事は出来ないのか検証しました。

そもそも、Windows Server 2012 ではインポート出来るのに、なぜ 2012 R2 でインポートが出来ないのか。

その原因については こちら (英語) *2 にて解説されていました。

要約すると、Windows Server 2012 より、仮想マシンのインポート / エクスポートの方式に改善が加えられており、2008 / 2008 R2 と 2012 /2012 R2 では利用されている WMI 名前空間 (内部の管理用 API のようなもの) が異なる(ざっくり言うと、インポート / エクスポート方式が異なる)という事のようです。そして、Windows Server 2012 では 2008 / 2008 R2 以前の方式もサポートされていましたが、2012 R2 より削除されたため、検証 1 のような結果となっています。(*3)

Windows Server 2012 以降で行われた、インポート / エクスポート方式の改善というのは、エクスポートの処理を実行していない場合であっても、構成ファイルや仮想 HDD ファイルが揃っていればインポートが可能というものです。裏を返すと、それ以前(2008 R2 以前)の環境では、Hyper-V マネージャーよりエクスポートを実行していないと、インポートを行う事は出来ませんでした。

それならばという事で、2008 / 2008 R2 の仮想マシンをファイル コピーでインポートが可能か試します。

Windows Server 2008 / 2008 R2 から 2012 R2 へファイルをコピーします。

  • 仮想ハード ディスク ファイル (VHD ファイル)
  • 構成ファイル、スナップショット一式

既定ではそれぞれ以下に保存されていますが、設定を変更されている場合は Hyper-V の設定を確認してください。

  • C:UsersPublicDocumentsHyper-VVirtual hard disks
  • C:ProgramDataMicrosoftWindowsHyper-V

Windows Server 2012 R2 へコピーが完了したら、Hyper-V マネージャーの [仮想マシンのインポート] よりインポートを行います。

フォルダーの検索にて、コピーした Virtual Machines フォルダを指定して [次へ] を選択すると、2008 / 2008 R2 の仮想マシンが表示されます。

 

image

image

そのまま進むと、仮想ハード ディスクが見つからない等のエラーが表示される場合がありますが、コピーした VHD ファイルを選択して進みます。

image

問題なくインポート出来るかと思いきや…

2008 R2 のものは問題なくインポートできましたが、2008 のものは以下のようなエラーになりました。

image

イベント ビューアーを開き、イベント ログを確認してみます。

[アプリケーションとサービス ログ] – [Microsoft] – [Windows] – [Hyper-V-VMMS] – [Admin] に、以下のエラー イベントが表示されています。

  • 14242 (仮想マシン <仮想マシン名> の VM バージョン 1.0 はサポートされていません。)
  • 14236 (仮想マシン <仮想マシン名> の VM バージョンをアップグレードできませんでした: エラーを特定できません (0×80004005)。)
  • 19600 (<仮想マシン名> は認識できませんでした。)

image

どうやら 2008 は VM のバージョン(2012 R2 より導入された ”世代” とは異なります。)がサポートされないという事のようです。

 

[結果]

以上をまとめると仮想マシンのエクスポート / インポートは表 2 のような結果となります。

(あくまでも検証した結果であり、動作が保障されるものではない事をご了承ください)

Export元\Import先 2008 2008 R2 2012 2012 R2
2008 ×(?)
2008 R2 × △(検証2)
2012 × ×
2012 R2 (Generation 1) × × ×(*1)
2012 R2 (Generation 2) × × ×(*1)

表 2 : 今回の検証結果

まあ、ぶっちゃけエクスポート / インポートじゃなくて、VHD だけコピーして仮想マシン作り直せばいいよねっていう話もあるのですが。構成情報とかスナップショット維持したままとなると、そうもいかないわけで。

[補足]

ホスト OS によって、サポートされるゲスト OS が異なります。詳しくは以下の URL をご確認ください。

 

[参考 URL]

(*1)

Importing a VM that is exported from Windows Server 2012 R2 into Windows Server 2012 is not supported

http://support.microsoft.com/kb/2868279/en-us (英語)

http://support.microsoft.com/kb/2868279/ja (機械翻訳版)

(*2)

Windows Hyper-V 2012 & 8.1 Hyper-V Did Not Find Virtual Machine to Import

http://blogs.technet.com/b/rmilne/archive/2013/10/22/windows-hyper-v-2012-amp-8-1-hyper-v-did-not-find-virtual-machine-to-import.aspx (英語)

(*3)

Features Removed or Deprecated in Windows Server 2012 R2 – WMI rootvirtualization namespace v1 (in Hyper-V)

http://technet.microsoft.com/en-us/library/dn303411.aspx (英語)

Surface Pro 3 を買って遭遇したトラブルのメモとか

Surface Pro 3 を発売日に購入してガッツリ使い込んでおります。

が、残念ながらちらほら気になるトラブルも。

自分や周りで聞いたのを、トラブルシューティング目的で忘れないようにメモしておこうと思います。

1. しょぼいスペックの PC に RDP (リモート デスクトップ接続)すると、黒い画面のあとで mstsc が落ちる。

   Pro 3 の解像度が高すぎるせいらしい。RDP 接続時の解像度を落とすと直るとかなんとか。

2. タッチパネルが起動後 or 休止からの復帰後に10 秒程度反応しない。

   現在発生中。問い合わせたら、交換対応になりましたが、面倒なので保留中。スリープ復帰時は発生しない。

   とりあえず Procmon の Bootlogging でログは取ってみたけど、原因までたどり着いておらず。

そのほか、遭遇したのとか、同じ症状を経験しててなおったよとかあればコメントください。

気まぐれで追加していきます。

フレッツ 光ネクスト ギガファミリー・スマートタイプ に切り替えてみた

6 月末だかにフレッツがギガ対応したとのニュースが出ていたので、
自宅のフレッツ光をさっそくギガに切り替えてみましたよ。

とりあえずスピードテストとか費用とかまとめておきます。

1. 環境

そもそも我が家のネット回線はファイバー 2 本、4 プロバイダ契約あります。

・ フレッツ光ネクスト ギガファミリー・スマートタイプ

・ OCN

・ Plala

・ IIJ (plala の ダブルルート)

・ NURO 光 G2 V

普段は IIJ をメインで使ってるんですが、いい機会なので全部測ってみた。

2. 計測結果

測定日時 : 2014/07/13 (日) 19:00 前後

どのプロバイダにせよ 300Mbps 以上出ているので十分高速ですね。
一般家庭であれば十分すぎるはず。

speed

測定は Microsoft 純正アプリにて。

3. 個人的な感想

あくまで一回測っただけなので、曜日とか時間帯で測らないと何とも言えませんが。
各社の印象

・ OCN

一時期は異常に遅かった記憶がありますが、ある程度改善された模様。

・ IIJ

意外にも (他と比較すると) 遅い。
ただ、固定 IP を安く契約できるのと、上りが早いのでサーバー用には最適ですね。

・ Plala

思っていた以上に早かった。
固定 IP の件さえなければ、Plala でもいいかも。

・ NURO

NURO の上り遅すぎませんかね。規格が違うから比べていいのかわかりませんが。
ONU がブリッジモードで使えないクソ仕様なので、RTX1200 使えないし、解約してもいいかも。

4. 費用・料金

今回は、フレッツ光ネクスト ファミリー・ハイスピード タイプからの契約切り替えなのですが、工事費で 2 万以上取られました。古い ONU の回収と新しいを設置、派遣費用と土日工事で + 3000 円などなど。機材だけ送ってくれれば自分でやるのになぁ。

月額料金が 500 円上がるのと、割引が一部外れるらしく、私の場合は月に 1200 円くらい上がる見込み。
プロバイダ 4 契約とかしてる時点で今さら気にしませんが。

とりあえず、印象としてはスピード改善したし悪くない感じ。
次はどこのファイバーを引こうかな。

3D Printing with Windows session @//build/ 2014

Microsoft の開発者向けイベントで、3D Print 関連のセッションを見つけました。

3D Builder, Autodesk, Solidworks 等々、盛りだくさんですが、一見の価値ありです。

だいぶ前にチェックして、ブログに上げようと思ったまま結構経ってしまった…
ので、今となっては少々古いかもしれませんが。