diosra2’s blog

iOSの脱獄、ダウングレード

CoolBooterでiOSをデュアルブートする!

iOSには、1度に1つのOSしかインストールできません。しかし、CoolBooterを使うことで2つのOSをインストールすることができます。

また、SHSHのないバージョンへのダウングレードができると考えても良いでしょう。

*この方法では"kloader"を使用するので、対応デバイスはJailbreak済みの32bitデバイスのみとなります。

 

1, 対応デバイス

Jailbreak済みのiOS 5以降の32bitデバイスが対象です。

iPhone 4, iPhone 4S, iPhone 5, iPhone 5c

iPad 2, iPad (3rd generation), iPad (4th generation), iPad mini

iPod Touch (5th generation)

*2番目のiOSのSHSHは必要ではありません。

※S5L8942デバイスのFW Keyの公開により、iPod Touch 5Gなどでも利用可能になりました。

 

2, 注意

通常では起こらないシステムをいじる動作があるので自己責任でお願いします。

 

iOSのデュアルブートとは

iOSはiOS 5以降、システムパーティション(/dev/disk0s1s1)とデータパーティション(/dev/disk0s1s2)の2つがあり、システムは"/"に、データは"/private/var"にマウントされています。

CoolBooterでは、このデータパーティション(/dev/disk0s1s2)を分割し、2番目のOS用のパーティション(/dev/disk0s1s3, /dev/disk0s1s4)を生成し、そこに2番目のOSをインストールします。

その後multi_kloaderを使いiBSS->iBECを起動。OTA アップデートの仕組みを利用して起動を開始、この時、起動デイスクが2番目のOSを指定しているため2番目のOSを起動することができます。

 

 

3, デュアルブートを始める

デュアルブートを行う前に、必ずバックアップとSHSHの保存を行うようにしましょう。

CoolBooterにはApp版とCLI版が存在します。

Appは(メインOSが)iOS 7以降、CLIはiOS 5以降で使うことができます。

 

ここではAppについて見ていきます。

 

3-1, CydiaからCoolBooterをインストール

以下のRepoを追加してください。

Repository: http://coolbooter.com

 

3-2,  CoolBooterでiOSをインストール

 

起動したらInstallをタップします。

そうするとiOSのバージョンを選択する画面が出てくるので、インストールしたいバージョンを選択します。

インストールできるバージョンはiOS 5以降となります。デバイスに存在しないバージョン(例: iPhone 5cでiOS 6.1.4)を選択することは出来ません。

また、iOS 4にはCoolBooterではデュアルブート出来ません。

 

※以下の画面になる場合

データパーティションがnosuidでマウントされている状態でCoolBooterをstashするとこの問題が発生します。

通常は脱獄時にfstabが書き換えられるのですが、仮脱獄 (9.3.5 ~ 10.3.3) ではどうやら書き換えてないようなので、この場合はstashしないようにしましょう。

*iOS 10.3以降はfstabにsuidの記述があってもnosuidを強制するため、以下の方法は使えないと思います。

*解決方法

 

 

また、Storageではデータパーティションの容量を変更できます。

 

後ほどUntethererを導入する場合は、デバイス内の不要なデータを削除し、最大容量を選択することをお勧めします。

確認ができたらI'm ready!をタップします。

 

その後、いくつかオプションの設定が出てくるので選択してください。

 

・BootLogo

CoolBooterでの起動時のブートロゴを変更します。

iPhone 3GSの旧ブートロム以下のデバイスで行えたアレです。

特に必要はありません。選択しない場合はApple Logoが表示されます。

 

・Verbose Boot

起動時にブートプロセスを表示します。

ONにしておいたほうが良いでしょう。

 

・Jailbreak

2番目のiOSをJailbreakするかどうかを選択します。

通常はYesを選択します。(この選択肢が出てこない場合は、自動的に脱獄されます。)

*"Jailbreakしない(No)"を選択したとしても、Cydiaやその他JBパッケージがインストールされないだけで、コード署名等は無効化されています。

 

・Data Protection

Data Protectionを有効にします。

選択肢が出てこない場合は、有効になっています。

 

設定が終わると、AppleからipswをダウンロードしOSのインストールが始まります。

ヒント: すでにipswが手元にある場合は"/var/cbooter"にipswを設置するとダウンロードする手間を省けます。

 

インストールが終わると以下の画像のようになります。

Rebootをタップして再起動をします。

これでインストールは完了です。

 

3-3, CoolBooterで2番目のiOSを起動

・CoolBooterのアプリから起動する場合

CoolBooterを起動します。

すると、以下のような画面になるので"Boot"をタップします。

 

そうすると、デバイスをロックするようにメッセージが表示されるのでロックします。

 

ロックするとmulti_kloaderが実行され、起動が開始されます。

起動しない場合は、ホームボタンやスリープボタンを押してみてください。

 

・CoolBooter CLIの場合

ターミナルでrootにログインし、

coolbootercli -b

で、起動が開始されます。

 

・CoolBooter Untethererを利用する場合

CydiaからCoolBooter Untethererをインストールします。

インストール後、再起動することでメインのiOSが起動した後、自動的にBoot処理が行われ、2番目のiOSが起動します。

*デバイスは完全脱獄である必要があります。

ホスト(通常のiOS)がUntetherHomeDepotを導入していないiOS 9.1-9.3.4、または仮脱獄であるiOS 9.3.5-10.3.3ではこのオプションは無効です。

 

起動したらいつもどおりに初期設定をします。

 

 

これで最初の作業は完了です。Jailbreakした場合にはCydiaも表示されます。

注意点としては、通常の再起動時には、元のiOSが起動するため、デュアルブートしたiOSを起動するためにはCoolBooter Untethererの導入、または再度CoolBooterでBootをする手順が必要となります。

(A4デバイスのSHSHなしでのダウングレード(Tethered Downgrade)よりも楽で良いと思います)

また、パスコードはKeyBagの問題から変更できません。パスコードを変更したい場合は元のホストiOSで変更してください。Untetherer導入時にはUntethererを無効にして起動する必要があります。 

 

4, アンインストール

(通常のiOSで)CoolBooterのアプリを起動し、Uninstallをタップでアンインストールできます。

2番目のiOSにあるデータはすべて消されます。消したくないデータがある場合はバックアップを取っておきましょう。

 

Copyright (C) 2017-2018 Diosra2. All Rights Reserved.