これは、Windows 10 Mobile Advent Calendar 2017 の 18日目の記事です。
さて、うちが今年購入した最糞端末と言えば、何といっても Liquid Jade Primo。
以前に記事にしているので、ここで改めてどうこう言うまでも無いですが、
恵まれたスペックから糞みたいなサポート。
Windows Updateが機能することがWindows 10 Mobileの最大の特長なのに、
そのWindows Updateをメーカーに止められてるという、
いやホント Acerには二度とスマートフォンに関わらないで頂きたいし、
おそらくうちが買うことももう二度とないと思います。
やや強い言葉ですが、この端末に関しては世界中から同様のヘイトを受けていて、
それを知っててなお放置してるってんだから、
早い段階でWin10Moが終息だと把握したと仮定しても、全く擁護できませんね。
もちろん、他のメーカーだって放置しているところはいっぱいありますよ。
でも、放置するなら、不具合を何とかしてから放置しろと。
てか、日本国内に関しては待っててって言っときながら放置ですからねぇ…。
とはいえ、最後の投げ売りでは 16000円程度まで値崩れしていたので、
ひょっとしたら、何かの間違いで買ってしまった人もいるかもしれない。
…まぁ、それでも多くて20人とか30人とか、そんなレベルかと思いますがw
そのまま何もしないで古いビルドで使ってる人もいるかもしれませんが、
それだと、Anniversary Update 以降で追加されたAPIを使用したアプリが使えないのと、
最近立て続けに見つかった脆弱性への対応が気になるので、
メーカーサポートは諦めるにしても、できればより最新のビルドで使用したいものです。
昔から、Windows Phone(Windows 10 Mobile)において、
非サポートの端末に最新のアップデートをインストールする方法については、
Jailbreak(いわゆる脱獄)した上で、レジストリを編集し、
サポートされている端末に偽装してWindows Updateするという、
まぁ、ぶっちゃけちょっぴりグレーな方法が主流で、今でもそれは変わりません。
ただ、今回はたまたま端末の置かれた状況と周りの環境が許した事もあり、
脱獄なしでの有線による手動アップデートにチャレンジしてみようかと思います。
なので、こうして堂々と記事にしても大丈夫という…w
Liquid Jade Primo の置かれている状況をおさらい
以前記事にしていますが、Liquid Jade Primo は、正式なものとしては、
2015年の「November Update」までしかサポートしておらず、
それ以降のビルドについては、いくら更新をチェックしても降ってきません。
ところが、なぜか正式にサポートされていないハズのInsider Previewが有効で、
Insider Previewを適用することで、最新のビルドも受け取ることができるようになります。
…で、この端末の場合はここからが問題で、
Liquid Jade Primo のディスプレイドライバには互換性の問題があるそうで、
2017年3月の Creators Update 以降のビルドを適用すると、
主に画面表示関係でおおよそマトモに動かないという、結構致命的な不具合が出て、
スマートフォンとして常用するにはさすがにちょっとダメだろう、という感じになります。
簡単にまとめると、
バージョン1511 ビルド10586.xxx November Update:正式サポート。正常動作する。
↓ Insider Preview をインストール、有効化
バージョン1607 ビルド14393.xxx Anniversary Update:正常動作する。
↓ Insider Preview を有効化
バージョン1703 ビルド15063.xxx Creators Update:正常動作しない。
↓ Insider Preview を有効化
バージョン1709 ビルド15254.xxx Fall Creators Update:たぶん正常動作しない。
つまり、Insider Preview と WDRTを駆使することで、どのバージョンにも移動できますが、
Liquid Jade Primo が安定して動作するのは上の2つまで、ということになります。
いろいろ調べたり見聞きしたんですが、動かないものはどうしようもないので、
仕方なく、Anniversary Updateで我慢することにします。
まぁ、Anniversary Updateでも、もう1年弱くらいはサポート期間があるので、
うちの場合は、そこまではこのままで我慢するか、と。
ここからが本題なのですが、たとえInsider Preview で Anniversary Update を適用しても、
結局、端末がサポート外になっているので、Windows Updateしても月例更新は降ってきません。
つまり、安定したAnniversary Update の環境で、
かつ最新のセキュリティ更新を両立するというのが難しいんですよね。
これで困ってるのが、世界中で Liquid Jade Primo だけというのは笑いどころですがw
今回は、これを何とかしてやろうという話です。
1. 何はともあれ、Anniversary Update にする
うちの端末は既になっていたので、もう関係なかったのですが、
10586のまま使ってる人、もしくはWDRTで10586に戻ってきた人は、
Insider Preview を入れてAnniversary Update にします。
これは、以前うちが入れたときの画面ですが、
今では、何リングにしてもこれより古いビルドが降ってくるかと思います。
バージョンは一段階ずつしか上がらないことになっていて、
どんなビルドにしろ、必ず14393になりますので、
この辺はあまり気にしなくて大丈夫かと。
14393になったのを確認したら、Insider Preview からオプトアウトします。
アプリは削除、ビルトインされたInsider Previewの設定もオフです。
この状態で誤ってInsider Previewを有効にしてしまうと、
15063が降ってきて端末死亡→WDRT行きになりますので注意が必要ですw
2. バックアップを取る
どのタイミングでも構わないですし、当たり前の事ですが、
使っていた環境が大事な場合は、バックアップを取ります。
あと、ついでに「開発者モード」も有効にしておいてください。
3. 有線手動更新に必要なツールを準備する 【教えて著作拳】
次に、IUTool というツール群を一式準備します。
いやいや大丈夫、これはMicrosoft純正のツールです。
で、これはどこにあるのかというと、
Windows Driver Kit (WDK) というものの中に含まれていますので、
普通はそこから抜き出すことになるのですが、
WDKをインストールしてしまうと、開発環境として一部制限が掛かりますし、
捨ててもいい評価環境があるなら、そこに入れた方がいいと思います。
ま、検索してもらえばすぐ分かるとおり、
なぜかご丁寧に置いてあったりするところもあるようなので、
まぁどうしても面倒ならそういう手もアリかもしれません。
もちろん自己責任ですが。
落ちてるもの食べて腹壊しても私ゃ責任取りませんよ。ええ。
ちなみに、iutool.exe(というかWDK)にもバージョンがあり、
ターゲットとなるWindowsバージョンと同等かより新しくないと動きません。
今回の場合は、1607よりも新しければ大丈夫だと思いますが、
基本的には入手できるもののうち一番新しいものを使えばよいかと。
【追記】
コメントでご指摘を頂き確認したところ、Windows 10 Mobile 終息による影響か、
WDK の 1709 から、iutoolは含まれなくなったようです。
iutool.exe の取得を目的として WDKをインストールされる場合は、
上記リンク先の下の方にある ハージョン 1703 以前のものをご利用ください。
初出で中途半端な情報を出してしまい、申し訳ありません。
入手できたら、iutool.exeが含まれるフォルダを丸ごと抜き出して、
パスの通しやすい適当な作業用フォルダにコピーします。
うちでは、
D:\Win10Mo\iutool
とかに置きました。
4. Microsoft Updateカタログから最新ビルドの構成ファイルをすべて落とす
割と最近の話だと思うのですが、今ではWindows Updateで配信されたファイルは、
Microsoft Updateカタログで公開されるようになっていて、
昔よりも、オフライン環境でのアップデートのハードルは下がっています。
まぁもちろんこれは、基本的にはPCでの話なのですが、
さすが、そこは腐っても鯛、同じWindows 10シリーズ、
Mobileのアップデートも同じ仕組みで運用されているようで、
なぜかMobileのアップデートも一部は Microsoft Updateカタログでダウンロードできるようです。
PCのように直接実行して適用できないのになんで配信してるのか意味不明ですが、
今回に関しては無粋なツッコミはせず、ありがたく使わせてもらいます。
こんな感じで検索してみると、
Windows Mobile 10 Production Bundle – OS 10.0.14393.1944 update for all mobile phone devices
という、12月に配信されたAnniversary Updateの月例更新が見つかります。
(補足:今回はたまたまAnniversary Updateのビルドが置いてあったという話で、
最新のバージョンまで完全に入手できる状態で置いているわけではないとのことです)
これのダウンロードボタンをクリックすると…
なんだこりゃwって感じですが、なんとこのビルドのすべての構成ファイルがCABで置いてあるので、
とりあえず、こいつらを片っ端からすべてダウンロードします。
でも、こんなの一体どうやってダウンロードするのか?
もうそれは各自で一番良いと思う方法でやってもらったらよいと思います。
さすがにひとつずつポチポチダウンロードする人はいないと思いますが…w
最近だと、ChromeやFirefoxなどでは、リンク先を一括ダウンロードする拡張機能もありますので、
そういうものを使って一気にダウンロードしてしまいましょう。
てかまぁ、ぶっちゃけXDAとかに行けば、URLがリスト化して置いてあるので、
そういうのをダウンローダーに直接突っ込んでもいいかもしれません。
さすがにMicrosoftのサーバーに変なものは置いてありませんので。
うちですか?
うちでは、なんとなくふと思い出し…
もちろん壮大なネタですが、17年前かぁ…。
間違いなく #インターネット老人会 案件なので、ツッコミ不要ですw
とにかくどういう方法にしろ、ファイルをすべてダウンロードして
適当なローカルのフォルダに適当な名前をつけて保存します。
うちでは、ひとまず
D:\Win10Mo\14393-1944
に保存しました。
5. Liquid Jade Primo が使用する構成ファイルを確認する
ファイルは無事落とせたでしょうか。
落とさせといてなんですが、これらのファイルは全部必要なわけではありません。
本来の更新ではWindows Updateサーバにこの大量のファイルを置いてある中から、
端末が自分の更新に必要なファイルのみ落として使用します。
まず、この「自分の更新に必要なファイル」が何かを調べます。
開発者モードの Liquid Jade Primo をPCにUSB接続して、
Win10Moを接続したのに、Androidの宣伝が表示されて軽く呪いの言葉を叫びつつ、
上で iutoolを保存したフォルダにコマンドプロンプトで移動し、
> getdulogs.exe -o D:\Win10mo\JadePrimo\logs.cab
とか実行すると、指定したパスに端末からアップデート関係のログがコピーされます。
(あ、書き出すフォルダはあらかじめ作成してました)
このCABファイルの中を覗いて、InstalledPackages.csvというファイルを取り出します。
さらに、このCSVを開いてみると…
ここに、端末が自身の更新に必要としているパッケージが一覧になっています。
6. [4.]のファイル群から [5.] に書かれたパッケージのみを抽出する
今回、何気にここが一番面倒だった作業なのですが、
カタログからダウンロードしたファイルはあくまで汎用であり、
そのまま全部端末に転送するとコンフリクトが起こりアップデートに失敗しますので、
端末が必要としているファイルのみを抽出して仕分けします。
作業としては単純で、InstalledPackages.csvに書かれているパッケージと同名のファイル
これは、ほぼ「Microsoft.~」ってなっているもののみだと思いますが、
(Qualcommとかのパッケージは対象外)
これらのみを抽出して、改めてひとつのフォルダにまとめていきます。
CSVに書かれているけど、ダウンロードしたファイルに含まれていないパッケージは、
単に更新には含まれないという話なので、無視して問題ありません。
<分かりづらいのでもう少し具体的に>
1. もし、「.cbs_」と「.cbsu_」というファイルが両方ある場合は、
必要なのはのは「.cbs_」のみなので、必要ない方は全部除外する。
ちなみに、今回はこの時点で511ファイルでした。
2. CSVを見ながら、ダウンロードしたフォルダ内を大まかに検索して、
CSVに書かれていないパッケージのファイルは除外する。
特に、SoCやディスプレイ関係のドライバが含まれるパッケージは、
中に同名のファイルがあり、コンフリクトするので必ず対応するひとつに絞る。
例えば、CSVの中に、
Microsoft.PRERELEASE_PROTECTED.MainOS_RES_1080x1920
とあったら、ダウンロードしたフォルダ内を
Microsoft.PRERELEASE_PROTECTED.MainOS_RES_
とか検索してみると、
microsoft.prerelease_protected.mainos_res_540x960.cbs_~.cab
microsoft.prerelease_protected.mainos_res_768x1280.cbs_~.cab
microsoft.prerelease_protected.mainos_res_720x1280.cbs_~.cab
microsoft.prerelease_protected.mainos_res_1440x2560.cbs_~.cab
microsoft.prerelease_protected.mainos_res_480x800.cbs_~.cab
microsoft.prerelease_protected.mainos_res_1080x1920.cbs_~.cab
という6つのCABファイルが見つかります。
このうち、Liquid Jade Primoが必要としているのは1080×1920だけで、
残りの5つは不要(というかむしろ更新失敗の原因)になるので除外します。
こんな要領で、CSVに書いてあるパッケージのみをフォルダにまとめていきます。
ちなみに、今回はこれが終わった時点で166ファイルでした。
うちも手探り状態だったので、手作業でひとつずつ抽出していきましたが、
ちょっとシャレにならないくらい面倒くさかったので、
これはバッチかスクリプトか何かあるといいかもしれないと本気で思いました。
言語パッケージみたいなものに関しては、実際仕分ける必要はないかもでしたが、
なんか不要なゴミファイルが端末に転送されるのもムカつくので、
今回はきっちりやってみました。
こうして、Microsoft Updateカタログからダウンロードしたファイルの
一部のみが保存されている更新用のフォルダができました。
いろいろあって、これらは
D:\Win10Mo\14393-1944\ljp-cabs
というフォルダに保存しました。
一応、ここのDirだけはやって置いときますので参考までに。
【追記】
ようは、今月の更新に関しては、↑の166ファイルだけピックアップして
ダウンロードするだけで、変なログ取ったりとかせずに、
すぐiutoolで転送する↓だけで終わるという事です。
面倒なので、来月以降は各自でやってくださいw
7. ファイルを転送して更新する
ここまでくれば、9割がた終わったようなもんです。
コマンドプロンプトで、iutool.exeをオプション付きで起動して、
端末に更新用のフォルダの中身を流し込みます。
> iutool.exe -V -p D:\Win10mo\14393-1944\ljp-cabs
ファイルの転送が終わると、こんな感じで更新が始まりますので、
端末側の「システムの更新」を確認すると、
いつもの見慣れた端末の更新が始まっているかと思います。
ま、タイトルが無いので、よく見りゃ非公式更新だと分かりますけどね。
あとは歯車を経由して終わるのを待つだけです。
あ、Liquid Jade Primo の場合は更新の起動時に
しょっちゅうフリーズしますので、
その場合は電源超長押しで再起動します。気にしたら負けです。
更新が無事終わると、iutoolも正常終了となります。
このままでも普通に使用できそうな感じでしたが、
不安な方は一度ハードリセット(電話のリセット)をかけて、
バックアップから復元すると良いかもしれません。
あと、必要ない方は、開発者モードの設定も戻しておきましょうね。
これでスッキリ完了!
脱獄なしでも、最新のビルドが適用された状態になりました。
結論:クッソ面倒くさいので、たまにやる程度でいい
最初は、これで更新追えるなら最強では!って思っていたのですが、
実際にやってみると、更新ファイルのピックアップが面倒臭すぎて、
こんなん頻繁にやってられんわ、とw
脱獄してやった方が楽だろ、と言われると正直その通りですし、
なんか大きな不具合が修正されたときとかに限ってでいいかもしれません。
ていうか、Creators Update じゃないので、どうせあと1年も無いだろうしなぁ…。
ただまぁ、こんな事言っても負け惜しみにしか聞こえませんが、
Anniversary Update のビルドが一番安定感がある気がしますね。
Creators Update は何かしょっちゅう再起動が必要になる事が多い気がしますし。
以上、WPクラスタの95割の人には全く関係ないネタでした。
明日は avi さんです。…って、しのぶさんだったんかーい!w
なんとか無事全部埋まったようで何より…。
【参考】その後の更新記事
以上の記事は、2017年12月のものとなりますので、
より新しい記事もあります。
【Win10Mo】Liquid Jade Primo に Anniversary Update の最新ビルドを適用する【2018年1月版】
コメント
大変参考になる記事ありがとうございます。
当方、値崩れしてた時にliquid jade primioを購入してしまった者です。買って時期もまだ浅いので、他機種に買い替え…という訳にもいかず、記事を参考にしながらAnniversary Updateまではインストールできました。
次のステップでWDKをインストールしたのですが、iutool(getdulogsも)を含んだフォルダがありませんでした。記事に記述のリンクを辿ってリンク先に書いてある通りの手順でインストールしたのですが・・・
iutoolは無くなったんでしょうか?もし、よろしければiutoolの入ったフォルダのインストール方法をご教示ください。
よろしくお願いいたします。
いやはや、お手数をお掛けしています。
記事の体裁上ああいう書き方になっていますが、
実はiutool自体は既に古い版のものを取得済みで、
それを使って記事を書いているので、
今やるとどういう状況かは詳細まで把握していない状態だったりします…。
既に消去済みですぐ使える評価環境もない状態なので、
(WDKインストール環境の継続利用はあまりオススメしません…)
時間があるときに準備して確認してみます。
正直なところを包み隠さず言うと、
この記事を参考にして、んじゃ実際にやってみようかという方が
実際に居られたという事自体に驚きを隠せません(笑
お返事ありがとうございます。
新しいWDKにはiutoolが入っていないのですね…ちなみに下記のURLなんかも参考になるのでしょうか?
https://docs.microsoft.com/ja-jp/windows-hardware/drivers/develop/using-pkggen
(1番目からよく分かりませんでしたが…)
今後もチラチラと拝見させていただきますm(_ _)m
すみません、入れなおして確認したところ、
ご指摘のとおり 1709 のWDKから iutoolは削除されているようでした。
少し下の方にある 1703 を入れれば存在する事も確認しましたので、
そちらをご利用ください。
(取得のみが目的であれば、1703 の上書きインストールでも問題ありません)
パスは、
C:\Program Files (x86)\Windows Kits\10\Tools\bin\i386
になります。
記事の該当箇所も修正しました。
お手数をお掛けしました。
ありがとうございます。
無事2007に更新できました!
一つcabを見落としていて、後からその一つだけ更新をかけたのですが・・・途中でフリーズして大変でした。電源長押しを繰り返して何とか生き返りましたが。
おぉ、上手くいったようで何よりです。
こいつは普通に更新しててもしょっちゅうフリーズしまくってますから、
まぁ、その辺は割と想定内という事で…(笑