Computer >> 컴퓨터 >  >> 문제 해결 >> Android

Magisk로 루팅된 Xiaomi Mi A2에서 OTA 업데이트를 쉽게 받는 방법

루팅된 Xiaomi Mi A2에 OTA 업데이트를 적용하는 것은 기기의 루팅을 해제하고 모든 단계를 거쳐 다시 루팅하는 것을 포함할 수 있기 때문에 엄청난 골칫거리가 될 수 있습니다. 다행히 OTA 업데이트를 지원하는 Magisk를 설치하는 방법이 있습니다.

따라서 기기를 루팅 해제하지 않고 OTA 업데이트를 적용할 수 있으면서 Xiaomi Mi A2를 루팅하려면 아래의 간단한 가이드를 주의 깊게 따르십시오.

요구사항:

  • ADB 및 Fastboot(Appual의 Windows에 ADB 설치 방법 참조)
  • MiFlash 도구

먼저 부트로더의 잠금을 해제해야 합니다. 그러나 매우 조심해야 하며 또한 Xiaomi 부트로더 잠금 해제 프로그램이 최근에 매우 느려졌다는 사실도 알고 있어야 합니다. 소요될 수 있습니다. 부트로더 잠금 해제 코드를 수신합니다. 또한 ARB(롤백 방지 보호 메커니즘) 도 알고 있어야 합니다. Xiaomi 장치에서.

기기의 부트로더가 이미 잠금 해제되어 있다면 좋습니다! 계속할 수 있습니다.

설정> 시스템> 휴대폰 정보> 개발자 모드가 잠금 해제될 때까지 '빌드 번호'를 7번 탭하세요.

이제 설정> 개발자 옵션으로 이동하여 OEM 잠금 해제를 활성화합니다.

이제 장치를 종료하고 볼륨 작게 + 전원 버튼을 길게 누릅니다. Fastboot 메뉴에 들어가면 버튼에서 손을 뗍니다.

USB를 통해 Xiaomi Mi A2를 PC에 연결하고 ADB 터미널을 실행합니다(기본 ADB 폴더에서 Shift 키를 누른 상태에서 마우스 오른쪽 버튼을 클릭하고 '여기서 명령 창 열기' 선택).

ADB 터미널에서 다음 명령을 입력합니다. fastboot oem Unlock

휴대전화가 재부팅되고 모든 데이터가 삭제됩니다. 부트로더를 잠금 해제하는 동안.

Magisk 설치

최신 버전의 Magisk Manager APK를 휴대전화에 다운로드하여 설치하세요.

이제 다음 다운로드에서 패치된 boot.img를 다운로드하십시오. 또는 boot.img 다운로드 목록 아래에서 원본 boot.img를 직접 패치하는 방법을 보여드리겠습니다.

패치된 boot.img를 다운로드할 때 현재 사용 중인 것과 동일한 빌드 번호가 포함되어 있는지 완전히 확인해야 합니다. 따라서 진행하기 전에 설정> 전화 정보에서 빌드 번호를 확인하고 Magisk가 제대로 작동하지 않을 수 있으므로 전화의 메모리에 직접 파일을 플래시하지 마십시오. 지침에 명시된 대로 매우 신중하고 정확하게 따르세요.

  패치된 boot.img를 PC의 ADB 폴더에 다운로드해야 합니다.

  • patched_boot 9.6.4.0(2018년 7월 업데이트) – Magisk 17.1로 패치됨
  • patched_boot 9.6.6.0(2018년 8월 업데이트) – Magisk 17.1로 패치됨
  • patched_boot 9.6.8.0(2018년 9월 업데이트) – Magisk 17.1로 패치됨

실수로 잘못된 boot.img를 플래시한 경우 아래 목록에서 원본 boot.img를 플래시할 수 있습니다.

  • 원본 boot.img 9.6.4.0(2018년 7월 업데이트) – fastboot ROM에서 가져옴
  • 원본 boot.img 9.6.6.0(2018년 8월 업데이트) – OTA 업데이트에서 가져옴
  • 원본 boot.img 9.6.8.0(2018년 9월 업데이트) – OTA 업데이트에서 가져옴

수동 boot.img 패치를 수행하는 경우 원본 boot.img가 필요합니다. daisy의 공식 fastboot ROM zip 파일에서 찾을 수 있습니다. . 그러나 다운로드한 ROM 버전의 빌드 번호가 휴대폰에 있는 것과 동일한지 확인하십시오. 따라서 휴대전화와 동일한 빌드 번호로 원래 boot.img를 다운로드하거나 버전을 업데이트/다운그레이드하십시오.

원본 boot.img(공식 fastboot ROM zip에서 추출)를 얻은 후 , 휴대전화의 외부 메모리 에 복사해야 합니다. (SD 카드).

이제 Magisk Manager 앱을 열면 Magisk를 설치할 것인지 묻는 메시지가 표시됩니다. 설치를 수락한 다음 "Patch Boot Image File"을 선택하고 전송한 boot.img 파일을 선택합니다.

프로세스를 완료하는 데 약 1분이 소요되므로 완료되면 닫습니다. 다운로드 의 휴대전화 메모리 디렉토리에서 "patched_boot.img"라는 파일을 찾아야 합니다. 이 파일을 PC로 전송해야 합니다. 메인 ADB 폴더 안에 넣으세요.

이제 장치를 Fastboot 모드로 재부팅하십시오(전원 + 볼륨 낮추기) PC에서 ADB 터미널을 실행합니다.

ADB 터미널에서 다음 명령을 입력합니다. fastboot boot patched_boot.img

이제 휴대전화가 정상적으로 부팅됩니다. Android 시스템으로 돌아오면 Magisk Manager 앱을 열면 Magisk를 설치하라는 메시지가 다시 표시됩니다. 설치> 직접 설치를 선택하고 완료되면 재부팅하십시오.

이제 향후 OTA 업데이트에 대한 예방책으로 설정> 시스템> 개발자 옵션으로 이동하여 자동 시스템 업데이트를 비활성화합니다. OTA 업데이트를 수동으로 설치하도록 선택해야 합니다. . 루팅된 Android 기기에서 자동 OTA를 허용하지 마세요.

향후 OTA 업데이트 적용 방법

  OTA 업데이트는 기기의 모든 파티션이 변경되지 않은 경우에만 작동한다는 점에 유의하십시오! Magisk는 원래 boot.img를 복원할 수 있지만 build.prop을 수동으로 편집하는 등 어떤 방식으로든 /system 파티션을 수정하면 OTA가 설치를 거부합니다.

원본 ROM .zip의 적절한 .img 파일을 사용하여 원본 fastboot ROM에서 /system 파티션만 플래싱하는 것과 같이 수정된 파티션만 플래싱하는 경우 전체 원본 fastboot ROM을 플래싱할 필요 없이 OTA 업데이트를 적용할 수 있습니다. 파일.

따라서 설치하려는 새 OTA 업데이트를 사용할 수 있게 되면 Magisk Manager를 시작하고 "제거> 이미지 복원"을 탭해야 하지만 아직 장치를 재부팅하지 마십시오.

Magisk를 종료하고 기기의 설정> 시스템> 시스템 업데이트로 이동하여 OTA 업데이트를 설치합니다. 업데이트가 다운로드되면 2단계 업데이트가 시작됩니다. 커피 한 잔을 마시며 Madalin Stunt Cars 2의 간단한 게임을 즐기거나 Impossible Quiz(행운을 빕니다!)에서 최선을 다하는 것이 좋습니다.

업데이트 단계가 완료되면 다시 시작할지 묻는 메시지가 표시됩니다. 기기를 다시 시작하지 마세요 . Magisk Manager를 다시 실행한 다음 설치> 설치> 비활성 슬롯에 설치(OTA 이후)를 탭한 후 재부팅을 진행하면 됩니다.

Xiaomi Mi A2가 재부팅된 후에도 Magisk가 포함된 업데이트된 Android 버전은 그대로 유지되어야 합니다.

문제 해결

참고:이러한 작업을 진행하기 전에 데이터 암호화 문제의 위험이 있으므로 기기에 있는 모든 화면 보안(화면 잠금, PIN, 비밀번호, 지문 등)을 비활성화해야 합니다. 먼저 백업을 생성하는 것이 좋습니다.

이 가이드를 주의 깊게 따르지 않으면 몇 가지 문제가 발생할 수 있습니다.

새 버전이 발견되면 업데이터는 장치의 모든 파티션이 변경되지 않았는지 확인합니다. 수정된 파티션이 있는 경우 OTA 업데이터가 설치를 진행하지 않습니다.

일반적으로 사용자 모딩에 의해 일반적으로 수정되는 두 개의 파티션은 부팅 파티션(Magisk 및 TWRP가 설치된 위치)과 시스템 파티션(구성 파일 변경, 시스템 앱 추가 또는 제거 등)

Magisk 모듈을 사용해서만 수정된 시스템 파티션은 사실상 건드리지 않습니다. Magisk는 /data 파티션의 파일에 /system에 대한 모든 변경 사항을 등록한 다음 이러한 변경 사항이 실제로 /system에 적용되었다고 믿도록 Android를 속이기 때문입니다.

대신 부트 파티션이 실제로 수정되지만 이 가이드에 따라 Magisk를 설치하면 Magisk가 그대로 유지된 부트 파티션의 복사본을 저장하고 OTA 업데이트를 적용하기 전에 복원하면 업데이트가 작동합니다.

이제 이 가이드에 따라 Magisk를 설치하지 않고 다른 방법으로 설치한 경우 OTA 업데이트를 적용하려고 할 때 Magisk에서 원래 boot.img(부팅 파티션)를 복원할 수 없다는 경고를 표시할 수 있습니다. 피>

이 문제를 해결하려면 다음 명령을 사용하여 이 가이드의 6번 항목에서 가져온 기본(원본, 수정되지 않은, 손대지 않은) boot.img를 직접 플래시할 수 있습니다.

fastboot getvar current-slot

fastboot flash boot_? boot.img

첫 번째 명령은 현재 사용 중인 슬롯이 무엇인지 알려줍니다(a 또는 b ), 두 번째 명령은 원래 부팅을 전화기로 플래시하지만 "?"를 변경해야 합니다. a 명령에서 또는 b (즉, 첫 번째 명령이 제공한 현재 슬롯).

boot.img 파일 버전은 현재 휴대전화에서 실행 중인 Android 빌드 버전과 일치해야 합니다.

OTA 업데이트가 여전히 적용을 거부한다면 아마도 /system 파티션에서 직접 무언가를 변경했을 것입니다(예를 들어 이를 수행하기 위해 Magisk 모듈을 사용하지 않고 build.prop에서 무언가를 변경한 경우).
이 경우 다음 명령을 사용하여 전화기의 원래 system.img를 플래시하려면:

fastboot getvar current-slot

fastboot flash system_? system.img

이전과 마찬가지로 첫 번째 명령은 "?" 대신 사용할 올바른 슬롯을 알려줍니다. 두 번째 명령에서.
여기에서 OTA 업데이트 zip(그 안에 있는 다른 모든 .img 파일과 함께)에서 추출된 system.img를 찾을 수 있습니다.

  • 9.6.8.0(2018년 9월) OTA 업데이트 덤프를 .img 파일로
  • 9.6.6.0(2018년 8월) .img 파일로 OTA 업데이트 덤프

system.img를 직접 얻으려면 fastboot 이미지에서 찾을 수 있지만 일반적으로 OTA 업데이트처럼 매월 업데이트되지 않습니다. 그러나 여기에 있는 Python 스크립트를 사용하여 이 스레드에 있는 OTA 업데이트 zip에서 직접 system.img를 추출할 수 있습니다.

Python 스크립트가 Debian/Ubuntu 및 파생 제품에서 작동하도록 하려면 "extract_android_ota_payload.py"와 "update_metadata_pb2.py"를 모두 다운로드하고 실행 속성을 부여한 다음 "python-protobuf" 패키지를 설치해야 합니다. 그런 다음 이 명령을 사용하여 payload.bin 파일의 압축을 풀 수 있습니다(OTA 업데이트 zip에서 추출해야 함).

./extract_android_ota_payload.py /path/to/payload.bin

이렇게 하면 system.img를 포함하여 payload.bin 내의 모든 .img 파일이 현재 디렉토리에서 추출됩니다.
Windows에서 진행하는 방법을 모르겠습니다. 아마도 최신 Python2 릴리스만 설치하면 될 것입니다. 스크립트가 작동합니다.

최후의 수단으로 사용 가능한 최신 fastboot 이미지(현재 버전보다 오래된 경우에도)를 MiFlash로 직접 플래시할 수 있습니다. "flash_all.bat 사용 " 스크립트를 사용하지만 전화가 완전히 재설정되기 때문에 데이터를 백업하기 전에.

백업을 하지 않는 위험을 감수하고 싶지 않다면 "flash_all_except_storage.bat 스크립트를 사용하세요. "가 깜박이면 모든 데이터가 유지되지만 암호화 문제로 인해 더 이상 데이터에 액세스할 수 없는 경우가 있다는 경고를 받습니다.

플래시 직후 5번 또는 6번 지점에서 가이드를 따라갈 수 있습니다.

Android 기본 버전(현재 Oreo 8.1)이 동일하게 유지되는 한 fastboot를 통해 빌드 버전을 다운그레이드하는 데 문제가 없습니다.

Mi A2 jasmine 패치 및 원본 부팅 파일 (Mi A2 Lite 데이지에는 사용 불가 , 이 가이드의 첫 번째 섹션에서 데이지 파일을 찾을 수 있습니다.

  • patched_boot 9.6.9.0(7월 업데이트) – Magisk 17.1로 패치됨
  • patched_boot 9.6.10.0(8월 업데이트) – Magisk 17.1로 패치됨
  • 원본 boot.img 9.6.9.0(7월 업데이트) – fastboot ROM에서 가져옴
  • 원본 boot.img 9.6.10.0(8월 업데이트) – fastboot ROM에서 가져옴