Computer >> Máy Tính >  >> Xử lý sự cố >> Android

Cách dễ dàng nhận cập nhật OTA trên Xiaomi Mi A2 đã Root bằng Magisk

Việc áp dụng các bản cập nhật OTA cho Xiaomi Mi A2 đã root có thể là một vấn đề lớn vì nó có thể liên quan đến việc hủy root thiết bị của bạn và thực hiện tất cả các bước để root lại thiết bị. May mắn thay, có một phương pháp để cài đặt Magisk hỗ trợ cập nhật OTA.

Vì vậy, nếu bạn muốn root Xiaomi Mi A2 trong khi có thể áp dụng các bản cập nhật OTA mà không cần gỡ root thiết bị của mình, hãy làm theo hướng dẫn đơn giản của chúng tôi bên dưới một cách cẩn thận.

Yêu cầu:

  • ADB và Fastboot (Xem hướng dẫn của Appual Cách cài đặt ADB trên Windows)
  • Công cụ MiFlash

Trước tiên, bạn cần phải mở khóa bộ nạp khởi động của mình - nhưng bạn cần phải hết sức cẩn thận và cũng lưu ý rằng chương trình mở khóa bộ nạp khởi động của Xiaomi gần đây đã trở nên rất chậm. Có thể mất tuần để nhận mã mở khóa bộ nạp khởi động. Bạn cũng nên biết về ARB ( Cơ chế bảo vệ chống khôi phục) trong các thiết bị Xiaomi.

Nếu bộ nạp khởi động của thiết bị của bạn đã được mở khóa, thật tuyệt! Chúng ta có thể tiếp tục.

Đi tới Cài đặt> Hệ thống> Giới thiệu về điện thoại> nhấn vào ‘Số bản dựng’ 7 lần cho đến khi Chế độ nhà phát triển được mở khóa.

Bây giờ, hãy đi tới Cài đặt> Tùy chọn nhà phát triển> bật Mở khóa OEM.

Bây giờ, hãy tắt thiết bị của bạn và giữ nút Giảm âm lượng + nút nguồn. Nhả các nút khi bạn vào menu Fastboot.

Kết nối Xiaomi Mi A2 với PC của bạn qua USB và khởi chạy thiết bị đầu cuối ADB ( giữ Shift + nhấp chuột phải trong thư mục ADB chính của bạn và chọn ‘Mở cửa sổ lệnh tại đây’).

Trong thiết bị đầu cuối của ADB, hãy nhập lệnh sau: fastboot oem unlock

Thao tác này sẽ khởi động lại điện thoại của bạn và xóa tất cả dữ liệu của bạn trong khi mở khóa bộ nạp khởi động của bạn.

Cài đặt Magisk

Tải xuống và cài đặt phiên bản APK Magisk Manager mới nhất trên điện thoại của bạn.

Bây giờ, hãy tải xuống boot.img đã vá từ các bản tải xuống sau - cách khác, chúng tôi sẽ hướng dẫn bạn cách tự vá một boot.img gốc bên dưới danh sách các bản tải xuống boot.img.

Khi tải xuống boot.img đã vá, bạn phải hoàn toàn chắc chắn rằng nó chứa cùng số bản dựng mà bạn đang sử dụng. Vì vậy, hãy kiểm tra Số bản dựng của bạn trong Cài đặt> Giới thiệu về điện thoại trước khi tiếp tục và không flash tệp trực tiếp trên bộ nhớ của điện thoại vì Magisk sẽ không hoạt động bình thường. Thực hiện theo các hướng dẫn của chúng tôi rất cẩn thận và chính xác như chúng được viết.

Bạn nên tải xuống boot.img đã vá vào thư mục ADB trên PC của mình.

  • p patch_boot 9.6.4.0 (bản cập nhật tháng 7 năm 2018) - được vá bằng Magisk 17.1
  • p patch_boot 9.6.6.0 (bản cập nhật tháng 8 năm 2018) - được vá bằng Magisk 17.1
  • p patch_boot 9.6.8.0 (bản cập nhật tháng 9 năm 2018) - được vá bằng Magisk 17.1

Trong trường hợp bạn vô tình flash nhầm boot.img, bạn có thể flash boot.img gốc từ danh sách bên dưới:

  • original boot.img 9.6.4.0 (bản cập nhật tháng 7 năm 2018) - lấy từ ROM fastboot
  • original boot.img 9.6.6.0 (bản cập nhật tháng 8 năm 2018) - lấy từ bản cập nhật OTA
  • original boot.img 9.6.8.0 (bản cập nhật tháng 9 năm 2018) - lấy từ bản cập nhật OTA

Xin lưu ý rằng nếu thực hiện bản vá boot.img thủ công, bạn sẽ cần boot.img gốc của mình - bạn có thể tìm thấy nó bên trong tệp zip ROM fastboot chính thức cho daisy . Nhưng hãy đảm bảo rằng phiên bản ROM đã tải xuống có cùng Số bản dựng như trên điện thoại của bạn. Vì vậy, hãy tải xuống boot.img gốc có cùng Số bản dựng như điện thoại của bạn hoặc cập nhật / hạ cấp phiên bản của bạn.

Sau khi bạn có boot.img gốc ( được trích xuất từ ​​zip ROM fastboot chính thức) , bạn cần sao chép nó vào bộ nhớ ngoài của điện thoại (Thẻ SD).

Bây giờ, hãy mở ứng dụng Trình quản lý Magisk và nó sẽ hỏi bạn có muốn cài đặt Magisk hay không - chấp nhận cài đặt, sau đó chọn “Patch Boot Image File” và chọn tệp boot.img mà bạn đã chuyển qua.

Quá trình này sẽ mất khoảng 1 phút để hoàn thành, vì vậy hãy đóng nó khi hoàn tất. Trong bộ nhớ điện thoại của bạn trong phần Tải xuống , bạn sẽ tìm thấy một tệp có tên “p patch_boot.img”, tệp này bạn cần chuyển sang PC của mình. Đặt nó bên trong thư mục ADB chính của bạn.

Bây giờ, hãy khởi động lại thiết bị của bạn ở Chế độ khởi động nhanh ( hãy nhớ, Nguồn + Giảm âm lượng) và khởi chạy một thiết bị đầu cuối ADB trên PC của bạn.

Trong thiết bị đầu cuối ADB, nhập lệnh sau: fastboot boot p patch_boot.img

Điện thoại của bạn bây giờ sẽ khởi động bình thường. Khi bạn quay lại hệ thống Android, hãy mở ứng dụng Trình quản lý Magisk và nó sẽ yêu cầu một lần nữa cài đặt Magisk. Hãy tiếp tục và chọn Cài đặt> Cài đặt trực tiếp và khởi động lại khi hoàn tất.

Bây giờ, để đề phòng cho các bản cập nhật OTA trong tương lai, hãy đi tới Cài đặt> Hệ thống> Tùy chọn nhà phát triển> tắt Cập nhật hệ thống tự động. Bạn chỉ nên chọn cài đặt các bản cập nhật OTA theo cách thủ công . Không bao giờ cho phép OTA tự động trên thiết bị Android đã root.

Cách áp dụng các bản cập nhật OTA trong tương lai

Xin lưu ý rằng các bản cập nhật OTA sẽ chỉ hoạt động nếu tất cả các phân vùng trên thiết bị đều không bị ảnh hưởng! Magisk có thể khôi phục boot.img ban đầu của bạn, nhưng nếu bạn sửa đổi phân vùng / system theo bất kỳ cách nào, chẳng hạn như chỉnh sửa thủ công build.prop, OTA sẽ từ chối cài đặt.

Bạn có thể thử áp dụng các bản cập nhật OTA mà không cần flash toàn bộ ROM fastboot gốc nếu bạn chỉ flash các phân vùng đã sửa đổi, chẳng hạn như chỉ flash phân vùng / system từ ROM fastboot gốc, sử dụng tệp .img thích hợp từ ROM gốc .zip tệp.

Vì vậy, khi có bản cập nhật OTA mới mà bạn muốn cài đặt, bạn cần khởi chạy Trình quản lý Magisk và nhấn “Gỡ cài đặt> Khôi phục hình ảnh”, nhưng chưa khởi động lại thiết bị.

Đóng Magisk và đi tới Cài đặt> Hệ thống> Cập nhật hệ thống của thiết bị và cài đặt bản cập nhật OTA. Khi bản cập nhật đã được tải xuống, nó sẽ bắt đầu cập nhật hai giai đoạn. Chúng tôi khuyên bạn nên uống một tách cà phê và có thể thưởng thức trò chơi nhanh Madalin Stunt Cars 2 hoặc thử sức với The Impossible Quiz ( chúc may mắn!)

Sau khi các giai đoạn cập nhật hoàn tất, nó sẽ yêu cầu khởi động lại. Không khởi động lại thiết bị của bạn . Khởi chạy Trình quản lý Magisk một lần nữa, sau đó nhấn Cài đặt> Cài đặt> Cài đặt vào Vị trí không hoạt động (Sau OTA), và chỉ khi đó bạn mới có thể thực hiện Khởi động lại.

Sau khi Xiaomi Mi A2 của bạn đã khởi động lại, bạn sẽ có phiên bản Android cập nhật với Magisk vẫn không hoạt động.

Khắc phục sự cố

Lưu ý:Trước khi tiếp tục bất kỳ thao tác nào trong số này, bạn cần phải tắt mọi bảo mật màn hình mà bạn có trên thiết bị của mình (khóa màn hình, mã PIN, mật khẩu, vân tay, v.v.) vì bạn có nguy cơ gặp sự cố mã hóa với dữ liệu của mình. Bạn nên tạo bản sao lưu trước.

Nếu bạn không làm theo hướng dẫn này một cách tỉ mỉ, bạn có thể gặp phải một số vấn đề.

Khi tìm thấy phiên bản mới, trình cập nhật sẽ kiểm tra xem tất cả các phân vùng trên thiết bị có bị ảnh hưởng hay không. Nếu có một phân vùng đã được sửa đổi, trình cập nhật OTA sẽ không tiến hành cài đặt;

Thông thường, hai phân vùng thường được sửa đổi bởi người dùng sửa đổi là phân vùng khởi động (đó là nơi Magisk và TWRP được cài đặt) và phân vùng hệ thống (khi bạn thay đổi tệp cấu hình, thêm hoặc xóa ứng dụng hệ thống, v.v.)

Một phân vùng hệ thống được sửa đổi chỉ bằng cách sử dụng mô-đun Magisk sẽ không bị ảnh hưởng bởi Magisk đăng ký tất cả các thay đổi đối với / system trong một tệp trong phân vùng / data và sau đó đánh lừa Android tin rằng những thay đổi đó thực sự được áp dụng cho / system;

Thay vào đó, phân vùng khởi động thực sự được sửa đổi, nhưng nếu bạn cài đặt Magisk theo hướng dẫn này, Magisk sẽ lưu một bản sao của phân vùng khởi động chưa được chạm và khôi phục nó trước khi áp dụng bản cập nhật OTA sẽ làm cho bản cập nhật hoạt động.

Bây giờ, nếu bạn không làm theo hướng dẫn này để cài đặt Magisk và bạn đã cài đặt nó theo các cách khác, Magisk có thể cảnh báo bạn rằng nó không thể khôi phục boot.img ban đầu (phân vùng khởi động) khi bạn cố gắng áp dụng bản cập nhật OTA.

Để khắc phục điều này, bạn có thể flash trực tiếp boot.img vani (gốc, chưa sửa đổi, chưa được chỉnh sửa) được lấy từ điểm 6 của hướng dẫn này, sử dụng các lệnh sau:

fastboot getvar current-slot

fastboot flash boot_? boot.img

Lệnh đầu tiên sẽ cho bạn biết vị trí hiện tại đang được sử dụng là gì ( a hoặc b ), lệnh thứ hai sẽ flash khởi động ban đầu vào điện thoại, nhưng bạn phải thay đổi dấu “?” trong lệnh với a hoặc b (tức là vị trí hiện tại mà lệnh đầu tiên cung cấp).

Hãy nhớ rằng phiên bản tệp boot.img phải tương ứng với phiên bản xây dựng Android hiện đang chạy trong điện thoại của bạn.

Nếu bản cập nhật OTA vẫn từ chối áp dụng, có thể bạn đã thay đổi thứ gì đó trực tiếp trong phân vùng / system (ví dụ:bạn đã thay đổi thứ gì đó trong build.prop mà không sử dụng mô-đun Magisk để thực hiện việc này).
Trong trường hợp này, bạn có để flash system.img gốc trong điện thoại bằng các lệnh sau:

fastboot getvar current-slot

fastboot flash system_? system.img

và như trước đây, lệnh đầu tiên sẽ cho bạn biết vị trí phù hợp để sử dụng thay vì “?” trong lệnh thứ hai.
Tại đây, bạn có thể tìm thấy system.img được trích xuất từ ​​zip cập nhật OTA (cùng với mọi tệp .img khác bên trong đó):

  • 9.6.8.0 (tháng 9 năm 2018) Kết xuất cập nhật OTA dưới dạng tệp .img
  • 9.6.6.0 (Tháng 8 năm 2018) Kết xuất cập nhật OTA dưới dạng tệp .img

Nếu bạn muốn tự mình lấy system.img, bạn có thể tìm thấy nó bên trong các hình ảnh fastboot nhưng thường chúng không được cập nhật hàng tháng như các bản cập nhật OTA. Nhưng bạn có thể giải nén system.img trực tiếp từ các khóa nén cập nhật OTA được tìm thấy trong chuỗi này, bằng cách sử dụng các tập lệnh Python có tại đây.

Để làm cho các tập lệnh Python hoạt động trong Debian / Ubuntu và các dẫn xuất, bạn phải tải xuống cả “extract_android_ota_payload.py” và “update_metadata_pb2.py”, cung cấp cho chúng thuộc tính thực thi và sau đó cài đặt gói “python-protobuf”. Sau đó, bạn có thể đưa ra lệnh này để giải nén tệp payload.bin (bạn phải giải nén từ zip cập nhật OTA):

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

Thao tác này sẽ giải nén trong thư mục hiện tại tất cả các tệp .img bên trong payload.bin, bao gồm cả system.img.
Tôi không biết cách tiến hành trong Windows, có lẽ bạn chỉ cần cài đặt bản phát hành Python2 mới nhất và tập lệnh sẽ hoạt động.

Phương án cuối cùng là bạn có thể flash trực tiếp bằng MiFlash hình ảnh khởi động nhanh mới nhất hiện có (ngay cả khi cũ hơn phiên bản hiện tại của bạn). Sử dụng “ flash_all.bat ”Nhưng trước khi sao lưu dữ liệu của bạn, vì điện thoại sẽ được đặt lại hoàn toàn.

Nếu bạn không muốn gặp rủi ro khi không thực hiện sao lưu, hãy sử dụng tập lệnh “ flash_all_except_storage.bat ”Khi nhấp nháy, vì vậy bạn sẽ giữ được tất cả dữ liệu của mình, nhưng được cảnh báo rằng đôi khi bạn sẽ không thể truy cập dữ liệu nữa do sự cố mã hóa.

Ngay sau đèn flash, bạn có thể bắt đầu làm theo hướng dẫn từ điểm 5 hoặc 6.

Sẽ không có vấn đề gì khi hạ cấp phiên bản xây dựng thông qua fastboot, miễn là phiên bản chính của Android vẫn giữ nguyên (Oreo 8.1 vào thời điểm hiện tại).

Các tệp khởi động gốc và được vá cho Mi A2 jasmine (không sử dụng với Mi A2 Lite daisy , bạn có thể tìm thấy các tệp cho daisy trong phần đầu tiên của hướng dẫn này).

  • p patch_boot 9.6.9.0 (bản cập nhật tháng 7) - được vá bằng Magisk 17.1
  • p patch_boot 9.6.10.0 (bản cập nhật tháng 8) - được vá bằng Magisk 17.1
  • original boot.img 9.6.9.0 (bản cập nhật tháng 7) - lấy từ ROM fastboot
  • original boot.img 9.6.10.0 (bản cập nhật tháng 8) - lấy từ ROM fastboot