カーネルレベルで脱獄対策を回避出来る【KernBypass】が登場しましたが、一部環境で実行時にエラーが出てしまう問題が報告されています。
この修正として指定の場所へ「mnt1」フォルダを作る…という対処法があるのですが、このフォルダを作成する際にアクセス権により作成が行えない…という状況が…。
ということで、アクセス権云々…の問題を回避しつつ、mnt1フォルダを作成する対処方法について記しておきたいと思います。
ただし、非常に危険な作業もありますので、実行する場合は必ず記事を最後までお読みいただき、その上で自己責任においてお願いいたします。
KernBypass実行時に…
【KernBypass】のインストール後、【changerootfs &】コマンド実行時に「allproc: 」で停止してしまい、その後エンター等を押すことで「Segmentation fault」エラーが発生する状況が、一部環境で発生しています。
もちろん正常な動作ではないため、こちらが発生するとKernBypassが動作せず、脱獄対策の回避も行えません…。
原因は?
原因は【/var/MobileSoftwareUpdate/】ディレクトリ内に【mnt1】というフォルダが存在していないためです。
そのため、ここに「mnt1」フォルダを作成してあげれば…解決出来るのですが、この作成にも環境により問題が…。
mnt1フォルダが作成出来ない
Unc0verで脱獄した環境(もしくは過去unc0verを使用した環境)の場合、【/var/MobileSoftwareUpdate/mnt1】は読み取り専用と指定されており、弄ることが出来ません。
これが原因でFilzaやコマンドなどで作成しようとしても「ファイルへのアクセス権がないため、保存できませんでした。」とのエラーが発生し、作成することが出来ない状況です。
対処方法 その①
「その①」は面倒ではありますが、比較的安全な方法となっています。
iOSの初期状態では【/var/MobileSoftwareUpdate/mnt1】は存在するハズなので、一旦入獄を行い、rootfsを純正に戻すことでmnt1が復活する場合が多いです。
ただし、こちらは一旦入獄作業が行われますので、脱獄アプリはインストールしなおしとなります。この点はご注意ください。
- Restore rootfs機能を使用して入獄
- unc0ver等で再度脱獄を行う
もしこれでもダメな場合は、データリセット時にも自動作成される様なので、以下のように一旦入獄 > データリセット > 再脱獄…で対処が行なえるはずです(試した限りでは可能でした)。
- Restore rootfs機能を使用して入獄
- iTunes等でアプリや写真、各種データをバックアップ
- 設定アプリ「一般 > リセット > すべてのコンテンツと設定を消去」を実行し、データをリセット
- iTunes等で取っておいたバックアップを復元
- unc0ver等で再度脱獄を行う
対処方法 その②
「その②」では、データリセット等は不要で、前項の様なアクセス権によるフォルダ作成が行えない問題を回避しつつ…手動で「mnt1」フォルダを作成する方法となります。
ただし、こちらの手法は一時的に「MobileSoftwareUpdate」の名称変更を行っており、元に戻すのを忘れたり、戻した名前にミスが有った場合、次回デバイス再起動時…確実にリンゴループ(起動不可)に陥ります。
そのため、個人的には…推奨いたしません。
面倒であっても「その①」の方が安全です。もし「その②」を実行する場合は、最新の注意を払い、何が起こっても自分一人の力で解決できる方のみ、自己責任で実行するようにしてください。
① MobileSoftwareUpdateの名称変更
実行方法はコマンドなどでもイイのですが、今回はFilza File Managerを使用して行っていきます。
Filzaにて【/var】を開き、【MobileSoftwareUpdate】を長押し、もしくは右上編集を選択後にタップしてください。
すると画面下部にメニューが表示されますので、ここから『リネーム』を選択しましょう。
ちなみに【/var/mobile】内にも同名のフォルダが存在しますが、そちらは間違いです。間違えてしまっている方が結構いるので、ご注意ください。
② 末尾に.bakを追加など
変更する名称は何でもイイのですが、個人的に1文字追加などはミスが発生しやすいため、フォルダ名の末尾に【.bak】を追加するなど、ハッキリと分かりやすい物がオススメです。
今回は【MobileSoftwareUpdate.bak】という名称に変更しています。
③ mnt1フォルダを作成
名称変更を行った【MobileSoftwareUpdate】フォルダ内へ移動し、【mnt1】フォルダを作成していきます。
画面右上「編集」を選択、下部にメニューが出現しますので「その他」を選択。
更にメニューが出てきますので、ここから「新しいフォルダ」を選択してください。
作成するフォルダ名の入力画面になりますので、ここに【mnt1】と入力しましょう。
意外と「mt1」「mn1」などと間違えている場合があるので、必ず「mnt1」であることを確認してから、「Done」ボタンにて作成を実行してください。
④ パーミッション等の確認
作成した【mnt1】フォルダの右側に表示されている「(i)」アイコンをタップし、詳細画面を開きましょう。
こちらの所有権、パーミッションの設定がありますので、以下画像と同じになるように設定してください。
ちなみに、初期状態のパーミッションでも大丈夫なハズなのですが、環境によりだいぶ異なる場合があるようなので、一応直しておくとのがオススメです。
⑤ MobileSoftwareUpdateの名前を元に戻す
これで【mnt1】の作成が完了しましたので、最初に変更した【MobileSoftwareUpdate】フォルダ名を元に戻しましょう。
変更時と同じ様に長押し、もしくは編集 > タップで【MobileSoftwareUpdate】を選択し、メニューから「リネーム」を選択。
先程追加した名称部分(記事中であれば「.bak」部分)を削除し、元の【MobileSoftwareUpdate】名に戻します。
この際、必ず名称が「MobileSoftwareUpdate」になっていることを確認してください。1文字でも異なっていると、デバイス再起動時にリンゴループに陥ってしまいます。超確認してください!!!
〆
これで【changerootfs &】コマンドを実行した際、mnt1が原因となったエラーは出なくなったかと思います。
「MobileSoftwareUpdate」の名称を変更して…の方が確実に楽ではあるのですが、ミスるとリンゴループ(起動不可)になってしまうのが…非常に恐ろしいところ…。
ちなみに、私は眠い中ぼ〜っと検証していて、1台リンゴループに陥らせました…。その後、確認のために名称変更したままデバイス再起動を何度か行いましたが、全部リンゴループ行きとなっていますので、確実なのかな…と(修正にはiOSの復元が必要)。
実行される方は、絶対にミスしないよう、ご注意ください…。
なぜmnt1フォルダがある人、ない人が居るの?
mnt1フォルダが存在する人、存在しない人…が居ますが、ほぼ全ての方は存在するかな…と思います。
検証した限りでは「データリセット」や「iOSの復元」時点ですでに存在している様なので、意図的に削除していない限りは存在するのかな…と。
Unc0verで脱獄を行った場合は読み込みオンリーになっているため削除は行えないのですが、checkra1nなどそれ以外で脱獄していた場合、iCleanerなどでお掃除をすると削除されます。
いただいたご報告を見る限り、A12 / A13デバイスで「mnt1が存在しない」という方がいませんので、これの可能性が高いのかな…と思っていたりします。
コメント
リンゴループになりました。
っていう人現れそう
りんごループの精神的ダメージ大きいのにsantaさん凄い!;!
オイラの場合は、mnt1フォルダを作ってもダメだったので一度KernBypassをダウングレードした後に再度アップデートしたら途中で止まる事なくインストール出来ました。(偶然かも)
ダウングレードって「0.0.1」以下ありましたっけ?
まぁ良いけど。
おま環ですが「MobileSoftwareUpdate」フォルダの中「mnt1」も何にもない空っぽ状態笑笑
KernBypass入れる前に、mnt1フォルダが存在するか確認した方が良さそうですね。
ちなみに、checkra1nで脱獄、iCleanerでお掃除済みでしたので、ご指摘の通り、
mnt1フォルダは存在しませんでした。
iPhone8 plus 13.3
SANTA様 流石です。
checkra1nで脱獄している場合、作成してもiCleanerを実行すると再び「mnt1」フォルダが削除されてしまうのでしょうか?
実行して、ここで報告してください。
KernBypass実行後は読み込みオンリーになるため大丈夫…だとは思いますが、一応OTAのお掃除をオフにしておくのが安全かなと思います。
環境 XSMAX iOS13.3 unc0ver
で初脱獄でしたがmnt1フォルダありませんでした。普通にフォルダ作成できたから問題はなかったのですが、、気になりますねその差…ちなみにiPhoneは中国版ですが関係あるのかな
unc0verの作成陣からもmnt1がある人、ない人が存在して、謎…といわれていたりするようです。
95%の人にはあるのになぁ…とのことで、なんとも謎でして…。
あの、そもそもmnt1フォルダを作成しても同じエラーが出ます…。どうすればいいですか?
すみません。自己解決しました。
ご使用の環境はどの様なものでしょうか?
また、「/var/mobile/MobileSoftwareUpdate/mnt1」ではなく間違いなく「/var/MobileSoftwareUpdate/mnt1」が作成されていますでしょうか?
iCleanerがOTA software updates の項目チェック外さないと25%でグルグルだね。
外してclean upしたらmnt1消えない
俺もmnt1無かってfilzaで作成できなかった。
で、winscp経由で作成したけどそれの方が簡単でね?
読み込みオンリーになっているのが問題なため、Filza、コマンド、WinSCP、手段問わず作成が行えないのです…。
そのため、本記事の手法が必要となってきます…。
iOS12にも対応しやんかな…
iOS12に対応したよ
うおおおおおおおおおおおおお
iPad mini 5 iOS13.3 unc0verにて脱獄してます。このKernBypassをインストールした後の2つのコマンド実行作業はやらないと使えないんですよね?と言うのはこのコマンド作業(コマンド作業は正常に出来る)をやると例の「mnt1」フォルダのパーミッションの[グループ、その他]のところが[読み,実行]になってしまいます。コマンド作業をやる前にFilzaで覗くと[グループ、その他]のところはチェックがついていない[なし]のままです。で、コマンド作業実行後、Filzaでチェックを外し[なし]にして保存しようとしても〝ファイルへのアクセス権がないため、保存できませんでした。〟と出てしまいます。またMobileSoftwareUpdateの名称変更手順でやっても今度は〝ボリュームが読み出し専用なため、ファイルを保存できませんでした。〟と表示されてしまい[グループ、その他]が[なし]に出来ません。因みにPokémon GOは即落ちして使えません。
同じく。
全く同じや。
↑で長文投稿した者です。iCleaner ProにてOTA software updateをOFFにして実行した後、即落ちしていたPokémon Goは起動する様になりました。mnt1のフォルダのパーミッション[グループ、その他]の所は[読み,実行]にはなっていますが。
ワイもそれでできるようになった
そちらの挙動でも大丈夫なはずです。
ポケモンGOを再インストールしてみてもダメでしたでしょうか
しやんねぇ。
checkra1nだけどその中空っぽだったけどUnc0verだけかな
iCleanerのOTAお掃除では、MobileSoftwareUpdate内が全て削除されますので、もし実行したことがある場合は、空っぽになっている事があります
Zebraからcydiaに移行する方法って無いですか?
リポジトリを全部移行したいです。
コピーするしかない
Zebraでリポジトリを共有メニューから全部エクスポートして、
Cydia+Flameでインポート・ダブりを消す でできそう
flameってなんですか・・・?
cydiaから、リボやTweaksを一覧にして抜き出す。メールで飛ばしてくれるから便利。
CydiaやZebra等のリポジトリを保存・復元できるTweakの名称。
皆さんありがとうございます!!!!!!zebraから一覧をコピーして、flameでCydiaにbatchmodeで登録したら、できました!!!!!
ほんとに嬉しいです。
iOSをiTunesからupdateした人とOTAからupdateしてしまった人で違うと思ってましたね〜
OTAも脱獄前にtvOS入れてた人、脱獄時にunc0verで無効になってる人、脱税後にOTADisabler入れてる人、iCleanerでデーモン止めてる人、環境様々ですよねー
記事と関係ない質問ですみません。
環境
iPhone11pro iOS13.3 unc0ver
症状
Liberty Liteをインストール後、cydiaの指示で一旦Respringした後からCydiaを開いたら一瞬「ロード中」と出てすぐにcydiaアプリが落ちます。
・セーフモードでも変わらず
・icleaner proにてLiberty Liteをオフにしても変わらず
Liberty Liteをインストールするまでは正常に動いていました。
何かお分かりの方がいればお教えいただきたいです。
追記
unc0verの設定から
Reinstall cydiaを実行しても変わらず。
Cydiaの更新履歴「/var/mobile/Library/cydia/metadata.cb0」を一旦削除してみた場合もダメでしたでしょうか
確実にリンゴループとかいう文字の恐ろしさやばい
mnt1を名称変更でこれ入れたら、LINEゲームのツムツムとポコポコが脱獄のポップアップ?が出る様になった。
削除して再起動、再脱獄でも同じ症状…
回避tweak入れ直しても直らない…
同じ症状で改善された方おりましたら教えて下さい!
ワイ、それは諦めた
僕も諦めます…
お尋ねしますが、KernBypassを削除した際 今回作成したmnt1は一緒に削除されるのでしょうか?
mnt1フォルダの削除はされません。これは元々iOSを使用する上で存在するはずのフォルダですので、残っていても問題はありません。
My docomoはKernBypassでは起動せず。
FlyJB α版でしか今の所は回避出来ないのかな?
②の方法で試そうとしてMobile software updateの名前を変えたんですが知らない間に二つできてました。
元々あった方のファイルはわかりますがもう片方のファイルは消去してもよろしいでしょうか?
あと、おそらくi cleanerで、オフにして消去したからかわかりませんが、Mobile software updateのファイルの中身が全て消えていました。
どうすればいいでしょうか?
中のファイルがどうなっているか…にもよりますが、基本的には.bak側が元となっていますので、そちらに戻していただくのが安全かと思います。
そもそもなんでリンゴループになるんだろう?とか考えちゃう人なんですけど誰か教えて欲しいです
何とも言えないところなのですが、iOSの起動プロセスに必要となっているディレクトリな様です
サンタさん教えてください。
間違えて /var/mobile/MobileSoftwareUpdate/ の中に mnt1 を作ってしまいました。そして元もとあったmnt1;backupfiles とか(?名前ははっきり覚えていません)いうものを削除してしまったのですが、大丈夫でしょうか?
解決しました。ゴミ箱からコピーしてもどしました。