2016年8月5日金曜日

Windows 10は7月30日以降も有料になっていない?

Windows 10の無料アップグレードキャンペーンは終了

 2016年7月29日、Windows 7/8.1からWindows 10への無料アップグレードキャンペーン期間が終了した。Microsoftによれば「現時点で無料アップグレード期間の延長は検討していない」という。

 日本では7月30日に入ったタイミングで、Windows 7/8.1のタスクトレイに存在する白いWindowsアイコンをクリックして「Windows 10を入手する(Get Windows 10:GWX)」アプリのウィンドウを立ち上げると、「申し訳ございません。無償アップグレードキャンペーンは終了しました」と表示されるようになった。

 実際には、日本と19時間の時差があるハワイ時間(UTC-10)で7月29日23時59分(日本時間7月30日18時59分)まで無料アップグレードが可能だったが、自動的にWindows 10のインストール予約を行ったり、アップグレードのキャンセル方法を徐々に分かりづらく変更したり(後にこれらは改善されたが)と、多くのユーザーを悩ませてきたGWXアプリもついにその役目を終えたことになる。

 今後GWXアプリは適時削除され、Windows Update経由でのWindows 7/8.1からWindows 10へのアップグレードは「推奨するアップグレード」から外される。Windows 10の有料化により、Windows 7/8.1からのアップグレードには別途Windows 10のライセンスが必要になったため、ライセンス認証されていないWindows 10が発生する事故のないよう、Windows UpdateでのWindows 10アップグレードは不可能になると推察される。

有料となったWindows 10は1万9008円から

 無料アップグレードキャンペーンが終了した現在、旧OSのユーザーがWindows 10を導入する方法だが、Microsoftの公式な説明としては「購入」となる。Microsoft Storeでの直販価格は、Windows 10 Homeが1万9008円、Windows 10 Proが2万7864円(いずれも税込)だ。

 従来のWindows OSにあった割引価格のアップグレード版は販売されない。ついこの前まで無料だったものが、いきなり2万円近い価格になったわけだ。

障害者向け支援技術の利用者には無料アップグレードを継続

 Windows 10の無料アップグレードキャンペーンは終了したが、例外もある。「障害者向け支援技術(Accesible Technology)」の利用者には、Windows 7/8.1からWindows 10への無料アップグレードが引き続き提供されており、今のところ有料化の時期は告知されていない。対象となるユーザーは、Microsoftの特設ページから無料アップグレードが可能だ。
https://www.microsoft.com/ja-jp/accessibility/windows10upgrade?tduid=(14c348e893a91089cb2980533c6ee123)(256380)(2459594)(TnL5HPStwNw-0FBZfNm6YPFXNhiu3o52rA)()


メディア作成ツールは「Anniversary Update」仕様に

 7月29日以前にWindows 7/8.1からWindows 10へ無料でアップグレードした後、何らかの理由でWindows 7/8.1環境に戻して利用しているといったユーザーは、今後も任意のタイミングでWindows 10に無料アップグレードが行える。

 これはWindows 7/8.1でのライセンス認証が、Windows 10へのアップグレードによって「Windows 10で利用可能なデジタルライセンス」へとアップグレードされるためだ。Windows 7/8.1に戻してからWindows 10をアップグレードインストールではなく、クリーンインストールしたとしても、自動的にライセンス認証が行われた状態となる。

 Microsoftの公式サイトから「メディア作成ツール(Media Creation Tool)」をダウンロードしてUSBメモリまたはDVD(ISOファイル)を作成し、アップグレードインストールまたはクリーンインストールが可能だ。

 ちなみに、8月2日にはWindows 10の大規模アップデート「Anniversary Update」が配信され、メディア作成ツールのOSインストールファイルもAnniversary Update準拠となった。これにより、Windows 7/8.1からWindows 10にアップグレードする場合、一気に最新の環境まで引き上げられるのは便利だ。

まだWindows 7/8.xのプロダクトキーでWindows 10を導入できる?

 このように一部例外を除いて有料化したはずのWindows 10だが、今もなお「Windows 7/8.1のプロダクトキーでWindows 10に無料でアップグレードができ、ライセンス認証も行えた」という報告が複数出てきて話題になっている。

 これは前述した支援技術の利用者や、一度Windows 7/8.1からWindows 10へ無料アップグレードした後に旧環境へ戻したユーザーのことではなく、それ以外のユーザーに当てはまる話という。

 Windowsに関する最新情報の発信で知られる米ZDNetのメアリー・ジョー・フォリー氏をはじめ、同メディアのエド・ボット氏、そして米Thurrott.comのポール・サーロット氏らが次々と同様の報告をしていることから、一部に限った現象ではないようだ。筆者の手元にはこの現象をすぐ確認できる環境がないが、後日あらためて検証してみたい。

 奇妙なのは、この件についてジョー・フォリー氏がMicrosoftに問い合わせたところ、直接的な返答がなかったという点だ。Windows 7/8.1(さらにWindows 8も含む)のプロダクトキーでWindows 10のライセンス認証を行える機能が存在するとMicrosoftは認識しているが、沈黙を貫いている可能性が高いと筆者は予想する。

 この現象が実際にいつまで続くのかは不明だが、試す際には自己責任での作業となる。本記事はこの方法を用いたアップグレードを推奨するものではない。

Emulating USB Devices In Python With No Additional Hardware!

In post I showed how I can emulate USB devices in python:
http://breaking-the-system.blogspot.co.il/2014/08/no-need-for-ccdebugger-you-got.html

This method wasn't generic and was written specifically to the CC Debugger usb device.
I wanted to write something that can easily emulate any usb devices in python.


In the CC Debugger project I used the USB/IP project, and I decided to use it again. I started by understanding the USB/IP protocol. After that, converting the protocol into python data structures. At this point I can handle USB/IP requests. I implemented function to handle usb protocol requests like GET_DESCRIPTOR, you can read more about it here.

The final result is in GitHub:
https://github.com/smulikHakipod/USB-Emulation

**THIS CODE IS VERY EXPERMINTAL AND WILL PROBABLY CRASH THE MACHINE
YOU ARE RUNNING ON"

Its very recommended to install the USB/IP driver on a VM at first for testing purposes. As I said in GitHub, HID devices doesn't work that well with USB/IP driver and on de-attach the driver crashes the computer with blue screen.

Steps:
1) Download and install the USB/IP driver version 0.2 from http://sourceforge.net/projects/usbip/files/usbip_windows/
2) Download project files: https://github.com/smulikHakipod/USB-Emulation
3) Run hid.py
4) Attach USB/IP to the python script: usbip.exe -a 10.0.0.1 "1-1"

I didn't find any other way to emulate usb devices in python with no additional hardware, so I hope any of you readers will find it usefull. If you have any questions you can ask in the comments. Thanks for reading!