見出し画像

Legion Y700の復旧、アップデート、ROM焼き(GSI)のなどのまとめ

5chで色々話題になったりしているのでマニュアルのような物を記しておきます。BLUやROM焼きなどの作業は自己責任となりますのでクレームは受け付けません。自分で対処する力を必須とします。正直この機種自体があまり話題になる事があまりない感じなので模索する日々だと思う奴です。

【追記】
4月以降にブリックした場合は復旧が上手くできないかもしれません。
記事はあくまで2022年版のモデルに関する記事になります。


Bootloader Unlock

Legion Y700はBootloader Unlockをしないと操作ができない事が大半になります。LenovoのサイトからBootloader Unlockの申請を行ないsn.img(Bootloader Unlockを行なうファイル)をダウンロードする必要があります。Googleで検索をしてもらえばBootloader Unlockのやり方を解説している所が見つかるでしょう…

Bootloader Unlockとは?

Androidは決まった領域以外を変更させないようにするためにシステムを保護するという意味合いでロックをかけています。それを解除する事でバージョンの上げ下げ、ZUI以外のAndroidの使用などの操作が可能になります。しかし自由度は大きく広がる反面、本体を壊す可能性やシステムが脆弱になる可能性があります。Bootloader Unlockはメーカーによっては公式で行える物、非公式な方法で行なう物に分かれる事があります。
ロックを外すと起動時にBootloader Unlockをしている警告画面やアイコンが表示されたりします。

【追記】CriticalパーティションのUnlockを行なう方法を書きました。復旧やGSIを焼いたりなどの操作を行なう頻度が高い方はそちらのUnlockを行なう事を推奨します。

【更に追記】ZUI14の状態でBLUを行なうとCriticalパーティションのアンロックがされるようになったようです。

ショップROMから本家ZUIに戻す場合

AliExpressなどで購入をした物は他のLegionから移植を行なった疑似グローバル仕様なROMが焼かれています。Y700はグローバルでの販売をしていないので本来はGoogleが入っていないZUIとなっています。本家側に戻したい場合は以下のファイルをインストールし、QFILというツールを使う事で初期化が可能になります。「EDLドライバー」「QFIL」「QFILのROM」を導入して操作を行なってください。QFILを使ったROM焼きはEDLモード(エマージェンシーダウンロードモード)で起動をさせる必要があります。Y700のEDLモードの起動は複数のパターンが存在します。

基本的な設定について
https://smartasw.com/archives/15575

  • ADBからEDLで再起動をするコマンドを送る

  • ボタンコンボ(ボタン同時押し)による起動

  • EDL V2ケーブルを接続し、強制EDLモードで起動(認識をする気配がない場合はEDL V2ケーブルを挿した状態で全ボタンを長押しで認識される)

  • 背面を剥がしてテストポイントをショートさせてEDLを起動(非推奨)

の4パターンになります。コマンドの方法は通常で起動する事が前提となります。EDLケーブルはAmazonで安く売られているケーブルはEDLで認識しません(ケーブルがV1のため)背面を剥がしてテストポイントのショートは最終手段またはEDL V2ケーブルがない場合になります。
購入方法は少々面倒ですが、EDL V2ケーブルを使った方が今後の為にもなるのでそちらを推奨します。(最近の機種はそれじゃないとEDLに入れない物が増えています)

QFILで復旧が上手くできない場合

QFILを使用しても復旧が上手くできない場合があります。その場合は「Configuration」→「FireHose Configuration」からErase All Before Download(すべて消去後にダウンロード)にチェックをし、すべてのパーティションを消した状態で焼くようにすると戻る可能性があります。
画面の点灯がしないボタンを押しても認識がしないなどの状態だった場合EDLに入っている場合があります。デバイスマネージャーから接続を確認してみましょう。

QFILで復旧したが画面が点かない

EDLに入ったままかもしれません。全ボタンを長押ししていればEDLが切断され、通常起動をするはずです。

本家ZUIでOTAができない

Magiskでrootにしている事でOTAができない状態になっているかもしれません。一回元のboot.imgに戻した後にOTAが可能になるはずです。

ZUIでローカルアップデートをする場合

内部ストレージにアップデートのzipファイルを直下に配置後に「update.zip」にリネームしてから「Settings→About tablet→System Update」の順で開き、右上の「…」をタップをして「Use the install package update」を選択する事でアップデートが実行されます。アップデートがFull ROMであればバージョンをZUI13からZUI14に跳ね上げる事も可能です。

Full ROMをfastbootで焼く場合

FastbootEnhanceを使う事でfastboot上でFull ROMを焼く事ができます。

ZUIを任意のバージョンに上げ下げをする場合

本来はネットに接続し、OTAから段階的にアップデートになりますが任意のバージョンに上げる、下げるが可能です。私のGitHubPagesからY700のFastboot ROMをダウンロードし、Flashをする事で任意のバージョンに変更可能です。文鎮になる可能性もあるという話があるので、上記のQFILの環境を整えたうえで使用を推奨します。また、ADBとFastboot環境を必ず最新にしてください。(自己責任です)

QFILでの復旧後にFastbootROMを焼いたらブラックアウトをして動作がしなくなった

上記にあったQFILの「Erase All Before Download」でパーティションの情報も含めて初期化したのが理由です。ZUIはバージョンによってパーティション構成が異なります。「Erase All Before Download」を有効で初期化をした場合はOTAでアップデートを行ない、パーティションの構成を変更させてください。この状態に陥った場合は「EDL V2ケーブル」が必要になります。
EDL V2ケーブルで接続をし、全ボタンを長押しでEDLの認識がされます。

シリアルナンバーが変ってしまった

Erase All Before Downloadを行なってfpinfoを初期化してしまった影響です。こちらからfpinfo_restore.binをダウンロードし、バイナリエディタでファイルを編集します。「XXXXXXXX」の文字列を所持をしているY700のシリアルに書き換えて保存をした後にQFILで「Tools→Partition Manager」の順で開いて「fpinfo」の項目を探します。それを右クリックし、「Manage Partition Data」を開きます。「Load Image」で編集をした「fpinfo_restore.bin」を焼く事でシリアルが戻ります。

画面の自動回転がONにも関わらず画面の回転が一切できなくなった

画面の自動回転がONになっているにも関わらず一切回転がしなくなる症状が起きる事があります。これは「/persist/sensors/sns.reg」に問題が起きている事が原因になります。ここからpersist.imgをダウンロードし、そのまま焼いてください。そうする事で回転機能が復活するはずです。

fastboot flash persist_aまたはb

ZUI以外のAndroidなROMを使用する場合

Y700のAndroidことZUIはGoogleに非対応かつ日本語対応がされていないなど普段使いでは困る事があるかもしれません。「UIにクセがあるZUIはちょっと…」と思う方はGSIを使ってピュアなAndroidを使用することが可能です。

GSIとは?

Generic System Image(ジェネリックシステムイメージ)の略になります。本来はメーカー側のアップデート配信を楽にするための機能です。今までのAndroidにROM焼く作業を行なう場合は、そのデバイスに合わせた物を作るまたは公開がされていないと原則的にピュアなAndroidを使う事ができませんでした。
ですが、今販売されている機種ではGSIを使う事で機種を問わずに様々なAndroidを使う事が可能になっています。

GSIの配布先

GSIは様々なところで配布されています。
GitHubにGSIの公開先がまとめられています。

GSIは「非公式で開発されている物」「公式で開発されている物」が存在します。動作は未確認ですが、MIUIやZenUI、FlymeOS、OxygenOSと言ったメーカーのROMをGSIで移植した物も存在します。

ZUI上でGSIを使う場合

GSIはZUIのファイルを流用する事で起動をしています。これがなかなかに難儀になるのですが、ZUIのバージョンを一定の物をベースにさせないとLenovoの機種で使える機能(Phh Treble Settings内のLenovo features)が動作しない問題が発生します。ZUI13の最終バージョンとなる「v13.1.578」をベースにする事を推奨します。

fastboot flash system c:/XXXXXX/XXXX_gsi.img
fastboot --disable-verity --disable-verification flash vbmeta c:/XXXXXX/XXXX_vbmeta.img
fastboot -w (初期化、任意)

起動しないときは初期化かリカバリ上でfactory resetを行なってください。

3GBを越える容量のGSIを使う場合

GSIは一般的に1GB~2GBあたりの容量になりますが、3GB以上な物が存在する事もあります。

fastboot flash system c:/XXXXXX/XXXX_gsi.img
FAILED (remote: 'Not enough space to resize partition')

と表示される事があります。この場合は、productのパーティションを消す事で3GB越えのGSIを焼く事ができるようになります。

fastboot delete-logical-partition product_aまたはb

相性の悪いGSIの場合だと起動ループが起きる事があるのでFastboot ROMで戻せるようにしておきましょう。

GSIがFAILED (remote: 'Partition not found')で焼けない

リカバリーからfastbootdにした状態で焼いてください。

GSI環境でrootを使う

GSIを普通に焼いた場合、通常ではrootになっていません。(GSIにSUが入っているなら単体で可)Fastoot ROMからboot.imgをY700にコピーし、Magiskでパッチを行なったboot.imgを生成し、

fastboot flash boot c:/XXXXXX/XXXX_patched_boot.img

という風にMagiskをパッチしたboot.imgを焼いてください。

GSI環境のY700でイヤホンが認識しない場合

使用するGSIでイヤホンが認識しない場合があります。
その場合は、「設定>Phh Treble Settings」を開き

  1. Qualcomm featuresのUse alternative audio policy(代替のオーディオポリシーを使用する)にチェック

  2. Misc featuresのUse alternative way to detect headsets(代替のヘッドセット検出を使用する)にチェック

で解決します。

ZUI14以降ででDSU Loaderを使用する場合

Android 11から開発者向けオプション内に「DSU Loader」の項目が存在します。BLUを行なっていれば、Google公式のAndroidなどの様々なGSIが試せるのですが、ZUI14以降の環境では本体からmicroSDを抜かないとエラーになる仕様になりました。ZUI14以降でDSU Loaderを使用する時は、必ずmicroSDを抜いた状態で行なってください。

イヤホンの不具合回避を行なってもイヤホンが検出しないまたはしなくなった

/system内部を変更する類いのモジュールの影響かと思われます。OverlayFSのモジュールを入れる事で共存が可能になる場合があります。

こちらの記事にあるグラフィックドライバのモジュール等の設定を行なう場合もOverlayFSのモジュールを入れてください。

GSI環境のY700で顔認証が使えない場合

Magiskのモジュール(biometric config)をインストールすると顔認証機能が使えるようになります。モジュールの配布先に障壁があるだろうと思ったので勝手にミラーしておきます。

追記: それぞれのモジュールを入れるのが面倒なので、統合したバージョンを公開しました。某氏が公開していたモジュールの統合版です。自動輝度調整とキーマッピング、顔認証の3項目が有効になります。

側面のスライド型スイッチを有効活用したい

こちらのモジュールをインストールし、キーマッピングを割り当てると有効活用が可能になります。OnePlusのようにAlertSliderを疑似的に再現する事も可能です。同時に自動輝度調整と顔認証の問題も修正されます。

GSIを焼いた後に文字入力ができない

使うGSIによって内蔵されているGboard(文字入力)が表示されない不具合が発生する場合があります。これは/dataを一回wipeで表示をさせる事が可能になります。GSIによってはデバイス名の「Lenovo TB-9707F」表示がされていたのに「Phh-Treble Devices」になってしまう物もあります。

Phh Settingsの項目を非表示にしたい場合

設定にあるとそれの項目で浮いてしまうのが嫌と思う人向けです。以下のコマンドで非表示にできます。

pm disable me.phh.treble.app/.TopLevelSettingsActivity

再表示をさせる場合は以下のコマンド

pm enable me.phh.treble.app/.TopLevelSettingsActivity

タスクバーではなくナビゲーションバーを使用したい場合

Android 12.1以降はタブレットでGSIを使用すると強制的にタスクバー表示になります。Y700は8インチなタブレットなのでタスクバーの需要は感じない方もいるはずです。これは画面の最小幅を調整する事でナビゲーションバーを使用する設定に変更ができます。最小幅の数値が設定できる場合は「599dp」を入力、コマンドで設定を行なう場合は以下のコマンド

adb shell wm density 427

Bootloaderの再ロック

【注意】ZUI14から最新バージョンでないと再ロック時にZUIが起動しなくなるトラップが入りました。再ロックを行なう場合はZUIを最新版にアップデートした状態で行なってください。

fastboot flashing lock

を実行でBootloaderをLock状態に戻せます。Criticalパーティションもアンロックしている場合は

fastboot flashing lock_critical

を実行しておいてください。

Bootloaderの再ロック時にOEM Unlockの設定を許可にしていない状態になってしまった場合

QFILでの復旧、再ロック時に誤ってOEM Unlockを許可していない状態にしてしまいBLUができず詰んでしまう事があります。この場合はY700をEDLで接続し、QFILで「Tools→Partition Manager」の順で開いて「frp」の項目を探します。それを右クリックし、「Manage Partition Data」を開きます。「Load Image」で「frp.bin」を選択する事でファイルが焼かれ、再起動後にOEM Unlockを許可している状態となります。

frp.binのダウンロード

sn.imgの再ダウンロード

申請済み、またはショップROMが焼かれた物ならば以下のURLでダウンロード可能です。

http://cdn.zui.lenovomm.com/developer/tabletboot/XXXXX/sn.img

「XXXXX」の箇所はY700のシリアルを入力します。sn.imgはシンプルでバイナリエディタで開く事でシリアルがそのまま記されています。もしかしたらシリアルの文字列を書き換えるだけでそのまま使えるかもしれません。

sn.imgの申請をしないですぐにBLUをする場合

危険な作業となります。必ずバックアップをしっかりと取った状態で行なってください。Y700をEDLで接続し、QFILで「Tools→Partition Manager」の順で開いて「fpinfo」を探し、右クリックでデータを保存します。QFILのディレクトリにbinファイルがあるのでバイナリエディタでシリアルの記述されている文字列を探します。その文字列を「HAHAHAHA」に書き換えてQFILでそのファイルを焼きます。Bootloader上にあるシリアルが先ほどのHAHAHAHAに変っているかを確認後にこちらのsn.imgをダウンロードし、BLUの作業がそのままやれると思います。作業後は元のfpinfoを焼き直して戻してください。

WidevineがL3になってしまった

どうやらZUI v14.0.255に上げる事でL1に戻す事が可能なようです。
ZUI v14.0.255でL1に戻した後はバージョンを下げてもL1が維持されます。

ZUI14でGoogleを使う(公式)

ZUI v14.0.255にアップデートをする事でGoogleの機能がひっそりと入っています。「Settings→Apps management」の順で開き右上の「…」をタップし、「Google Basic Services」の項目を開いて機能を有効化する事でGoogleの項目がSettingsに加わります。GooglePlayなどは入らないので各自でインストールしてください。


テキストだけでまとめましたが、ROM焼きをやる方ならそれで察してくださいと言っておきます。魔が差した勢いでこの機種を購入し.imgを抜いてみたりと色々やってみましたが疲れました。あとは某コミュニティとかの人らに任せます。この機種は本当に情報量が少ない、デバイスツリー(カスタムROMやカスタムリカバリーを作る時に必要)もないので純粋なカスタムROMすらありません。Firehoseが出ているのが唯一の救いか。

この記事が気に入ったらサポートをしてみませんか?