Nexus5のパーティションをふっ飛ばし、某掲示板でパーティションを破壊したと相談したのがこの私です。結局解決したのですが、情報共有の一環として内容を残したいと思います。



このページでは、nexus5のパーティションの消去、再構築、リネームやsystem領域の拡張、LineageOS16の導入について記述しています。

※尚、当記事に記述されている内容はすべて自己責任において実行してください。スマートフォンに致命的な障害が生じる恐れがあります。

今一番熱いNexus5用のカスタムロムはLineageOS 16.0 for Nexus5だとおもいますがこのOSはopen gapps(Playストアなど)を導入しようとすると容量不足に陥り主要なアプリが入れられない問題があります。

この解決策としてパーティションをいじろうとした結果SYSTEMパーティションをふっ飛ばし、OSのインストールが不可能になったのです。


LineageOS 16.0 for Nexus5は↑のリンクのLast unofficialからダウンロードできます。最新版20190915はAndroid 9のOSでセキュリティパッチが2019年9月5日かつmagisk、edxposedの導入が可能です。おすすめ。

実行した手順は以下のとおりです。通常の場合失敗はありえないのですが、私の環境はromの動作に不要な一部のパーティションが消滅している状態だったのでそれらが上書きされ失敗しました。

 
ですが、掲示板の優しい方々のおかげで復元に成功しました。手段は以下URL先に書いてある手段を少し変えたもので解決しました。




私の使ったコマンドはそのまま適応するとスマホが故障する恐れがあるので、上のURLの手順を日本語で紹介させて頂きます。

注意事項
1,まずこのコマンドが使用する場合は”TWRP等リカバリが起動する”状態である必要があります。
前提条件が満たせない場合は不可能なので諦めてください。

2,手順をそっくり真似るとsystemパーティションのサイズを1GBから2GBに拡張します。

3,この手法は自己責任です。一部のパーティションを消すと完全文鎮に可能性があります。気をつけてください。

4,「15 seconds ADB installer」を導入したwindows10の環境で実行した場合の例です。

手順
1,「http://iwf1.com/iwf-repo/parted.rar」よりparted.rarをダウンロード、展開し、「C:\adb」に配置。
2,スマホ端末をTWRP起動状態(電源+音量↓でブートローダー起動後音量上下でrecoveryを選ぶ)でPCにつなぎ、コマンドプロンプトかPowerShellで以下をコピー&ペーストとEnterで入力する。
cd c:\adb
fastboot devices
adb push parted /
adb shell
chmod +x parted
./parted /dev/block/mmcblk0 p
umount /data
umount /sdcard
umount /cache
./parted /dev/block/mmcblk0 rm 25
./parted /dev/block/mmcblk0 rm 26
./parted /dev/block/mmcblk0 rm 27
./parted /dev/block/mmcblk0 rm 28
./parted /dev/block/mmcblk0 mkpart primary 193MB 2291MB
./parted /dev/block/mmcblk0 mkpart extended 2291MB 2322MB
./parted /dev/block/mmcblk0 mkpart primary 2322MB 3056MB
./parted /dev/block/mmcblk0 mkpart primary 3056MB 30.8GB
./parted /dev/block/mmcblk0 p
./parted /dev/block/mmcblk0 name 25 system
./parted /dev/block/mmcblk0 name 26 crypto
./parted /dev/block/mmcblk0 name 27 cache
./parted /dev/block/mmcblk0 name 28 userdata
mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p25
mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p27
mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p28
./parted /dev/block/mmcblk0 p
mount -a
exit
この状態で一通り手順が終了です。ちなみに私が重宝したコマンドについて意味を解説します。
./parted /dev/block/mmcblk0 rm 数字 (パーティションを削除)
./parted /dev/block/mmcblk0 mkpart primary 前のパーテションまでの容量MB 必要量割り当てた後の割当容量MB
./parted /dev/block/mmcblk0 p(割り当てられたパーティション確認)
./parted /dev/block/mmcblk0 name パーティション番号 パーティション名
mke2fs -b 4096 -T 設定したい拡張子 /dev/block/mmcblk0pパーティション番号
以上です。おそらくこれだけ理解していればある程度柔軟な修復ができると思います。

3,TWRPをスマホに入れ直す。(TWRP起動するなら不要かも)

上のURLから最新版をダウンロード。「C:\adb」に配置。今回の場合twrp-3.3.1-0-hammerhead.imgを使用したので以下の内容となります。スマホの電源+音量↓でブートローダーを起動してコピペしてエンターで書き込みです。
cd c:\adb
fastboot devices
fastboot flash recovery twrp-3.3.1-0-hammerhead.img
4,好きなromを書き込む。
TWRP経由で好きなROMをインストールします。今回はlineage-16.0-20190915-UNOFFICIAL-hammerhead.zipでも入れてみます。zipはUSBを通してスマホに移動させます。

5,無事にOSが起動するので、再起動しgappsを入れてみましょう。手を抜いて同時に入れると失敗します。分けて入れましょう。

私はARMの9.0でminiのものを選びました。

6,このときもし失敗した場合、パーティションの大きさが1GBに戻っているかも知れません。
その時のコマンドはこれです。TWRPを起動してPCからコマンドプロンプトかPowerShellで使用してください。
cd c:\adb
fastboot devices
adb shell
umount /system
resize2fs -f /dev/block/mmcblk0p25 2000M
mount -a
exit
この後にもう一度gappsの導入を試してみてください。成功したら、再起動して完了です。

できるだけわかりやすく説明したつもりですが、難しいところや詰まった所があればコメント欄にお願いします。とはいえ私もよく分かりませんが。





スポンサーリンク