2016年6月18日土曜日

Linux上でiPhoneのiOSをアップデートする(iOS 9.3.1 -> iOS 9.3.2)

iPhone, iTuens関連記事
Linux上でiTunes, iPhoneを使う方法についての関連記事は、「LinuxでiPhoneを管理する」にまとめてあります。以下の手順に進む前に、Linux上での仮想マシンのインストールや、仮想マシン上へのiTunesのインストールが必要になるので、参考にしてください。

注意
この記事ではLinux上でiOS 9.3.1からiOS 9.3.2へiOSをアップデートする方法を解説するが、iOSのアップデートに失敗すると、iPhoneがリカバリーモードで固まってしまい使えなくなる。リカバリーモードからの回復もLinux上のiTunesで可能であるが(「iOSアップデートに失敗したiPhoneを復元する方法」)、失敗の可能性もあることを踏まえた上で、参考にして下さい。

iPhoneのバックアップ
まず、「Linux上でiPhoneをバックアップする」のページに従ってiPhoneのバックアップをとっておく。バックアップをとっておけば、iPhoneの復元ができるのでiOSのアップデートに失敗したとしても、データはほぼ元に戻せる。

virt-managerの起動
virt-managerはrootでない一般ユーザーで起動できるように設定してあるが、iOSのアップデートを行う場合は、必ずrootで起動する。rootで起動しないと、途中でUSBの接続権限がないというエラーが発生して、iOSのアップデートに失敗する。

iPhoneをPCにUSB接続した状態でvirt-managerをrootで起動する。
# virt-manager

iOSのアップデート(iOS 9.3.1 -> iOS 9.3.2)
root権限でvirt-managerを起動したら、Windowsの仮想マシンを起動する。virt-manager上の「ディスプレイのアイコン(開く)」をクリック。


仮想マシンのウィンドウが開いたら、「再生ボタンのアイコン(仮想マシンの電源を入れる)」をクリックしてWindows仮想マシンを起動する。


仮想マシン上でWindowsが起動したら、iTunesを起動する。iPhoneが認識されない場合は、デバイスマネージャーからiPhoneをいったん無効にしてから、有効にすることで認識される。


iTunesが起動すると、「iPhone用のiPhoneソフトウェアの最新バージョン(9.3.2)があります。今すぐダウンロードしてiPhoneを更新しますか?iTunesはソフトウェア更新をAppleに確認します。」というメッセージのウィンドウが開く。ここでダウンロードして更新してもよいが、バックアップの状態を確認するために、ひとまず「キャンセル」をクリック。


「アイフォンのアイコン(iPhone)」をクリックして、iPhoneの概要の画面に移る。


バックアップのペインを見て、iPhoneのバックアップがとれていることを確認する。バックアップがとれていなかったら、iOSのアップデート前にバックアップをとっておく。


バックアップがとれていることが確認できたら、iOSのアップデートを行う。iPhoneのペインの「更新」をクリックする。


「iPhoneはiOS 9.3.2ソフトウェアに更新されます。更新はAppleにより検証されます。」というメッセージのウィンドウが開くので、「更新」をクリック。


「iPhoneソフトウェア更新」ウィンドウが開くので、「次へ」をクリック。


契約や条項を確認して「同意する」をクリック。


「このiOSアップデートを続けるには、"iPhone"のパスコードを入力して下さい。」とのメッセージが表示されるので、iPhone上でパスコードを入力する。


パスコードを入力すると、iOSのアップデートが開始される。


iOSのダウンロード後、iOSが更新される。


ところがここで、iOSのアップデートをしている途中で、iTunes上に「iPhoneを待機中...」と表示されアップデートが止まってしまった。


この時、iPhoneはリカバリーモードになる。


これは、一時的にiPhoneとiTunesの接続が切れてしまったことが原因で起こってしまう。仮想マシン上でアップデートを行っているためか、USBでのiPhoneの接続が物理マシン上のようにスムーズにいかないっぽい。

このような状態になった場合は、焦らずいったんiPhoneからライトニングのケーブルを抜き、再度ケーブルを接続するとiTunes上でiPhoneが認識されアップデートが再開された。


しばらくするとiOSのアップデートが完了する。

アップデートが終了した時点で、「USB redirection error     spice-client-error-quark: Apple Inc. iPhone [05ac:12a8] at 3-7 disconnected (fatal IO error) (2)」のようなエラーが表示されたが、問題なくアップデートは完了した。

USB接続が物理マシン上のようにスムーズにいかないこと、または、アップデートが終了した時点で、iPhone側から強制的にiTunesとの接続を切断するようになっていて、接続が切断されたiPhoneにvirt-managerから接続できなくなり、virt-managerが接続が確立できないエラーが発生したと認識したことが原因ではないかと思う。いずれにせよ、以下のエラーが表示されてもアップデートは問題なくできていた。

以下のエラーには関係ないかもしれないが、フォーラムにspice-client-error-quarkについてのpostがあったので、末尾の参考にリンクを貼っておく。[2]


アップデートが終了したら、iPhoneにパスコードを入力する。


iPhoneの「設定」のアプリから、「一般」→「ソフトウェアアップデート」に移動して、iOSがアップデートされたか確認できる。





参考:
[1]LinuxでiPhoneを管理する | 普段使いのArch Linux
[2][workaround] spice-client-error-quark: Could not redirect / Applications & Desktop Environments / Arch Linux Forums

スポンサーリンク

スポンサーリンク

0 件のコメント:

コメントを投稿