Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Android

Cách trích xuất và flash firmware stock Huawei

Đối với người dùng Android nâng cao sở hữu thiết bị Huawei, có những trường hợp bạn chỉ muốn flash các tệp cụ thể từ gói cập nhật OTA. Ví dụ: thiết bị bị brick, và bạn biết chắc rằng flash các tệp cụ thể từ gói cập nhật (thay vì toàn bộ ROM) sẽ giúp khôi phục thiết bị.

Trong hướng dẫn này, chúng tôi sẽ chỉ cách trích xuất và flash các tệp cụ thể từ gói firmware cập nhật Huawei. Chúng tôi cung cấp 3 phương pháp: Huawei Update Extractor cho Windows, script SplitUpdate cho Linux/Mac, và script thay thế cho Linux với thêm tính năng.

Yêu cầu

  • Firmware Update.zip
  • Huawei Update Extractor (chỉ Windows)
  • Script Perl SplitUpdate (Nguồn) (Linux/Mac/Windows)
  • Script thay thế (giải nén vào cùng thư mục 'splitupdate' thay vì output/, bao gồm script mount cho Linux)

Trước hết, xác định phiên bản firmware Huawei hiện tại. Vào Cài đặt > Hệ thống > Về điện thoại, sao chép Build Number.

Ví dụ: BLA-L29 8.0.0.132(C636)

Điều này chuyển thành: BLA-L29C636B132. Vì bạn sẽ thay "8.0.0." bằng C636, và thêm B trước 132.

Lưu ý về Nougat và Oreo

Các phân vùng đã thay đổi ở Oreo. Phân vùng boot được tách thành 'ramdisk' và 'kernel'. Phân vùng recovery được tách thành recovery_ramdisk, recovery_vendor, và recovery_vbmeta – cũng chia sẻ kernel partition với ramdisk.

Vì vậy, bạn có thể muốn flash ramdisk và recovery_ramdisk – ramdisk là nơi flash Magisk/SuperSU, recovery_ramdisk là nơi flash TWRP.

Giả sử firmware là BLA-L29C636B132. Truy cập cơ sở dữ liệu firmware Pro-Teammt, nhập firmware đầy đủ vào công cụ tìm kiếm, tìm model của bạn. Tìm hàng chỉ "FullOTA-MF" và nhấn nút "Update" trên hàng đó để tải file update.zip đầy đủ. Mở trong trình quản lý nén, trích xuất file "Update.app" ra máy tính.

Phương pháp Huawei Update Extractor (chỉ Windows)

  1. Tải Huawei Update Extractor, giải nén và chạy HuaweiUpdateExtractor.exe.
  2. Vào tab Settings, bỏ chọn 'Verify header checksum'.
  3. Quay lại tab Extract, nhấn nút ... để chọn file update.app vừa trích xuất.
  4. Màn hình sẽ hiển thị tất cả tệp trong update.app. Click chuột phải vào tệp bất kỳ, chọn 'Extract Selected' để chọn nơi lưu.
  5. Sử dụng fastboot để flash các tệp đã trích xuất, ví dụ vào ramdisk.

Đặt các tệp cần flash vào thư mục ADB chính, mở terminal ADB. Cho thiết bị vào fastboot mode: adb reboot bootloader. Flash tệp bằng fastboot, ví dụ flash vào ramdisk: fastboot flash ramdisk xxxxx.img. Trên Nougat, trích xuất 'BOOT' từ update.app và flash: fastboot flash boot boot.img.

Phương pháp Script Perl (Linux và Mac)

  1. Tải splitupdate.zip và giải nén.
  2. Vào thư mục 'split' vừa giải nén, mở terminal, chạy:
    chmod +x splitupdate chmod +x crc
  3. Lấy full OTA update .zip như hướng dẫn Windows, trích xuất update.app vào thư mục 'Split', mở terminal khác, chạy:
    ./splitupdate UPDATE.APP file_to_extract
  4. Nếu ghi 'file_to_extract' hoặc bất kỳ thứ gì có/không có trong UPDATE.APP, nó sẽ liệt kê tất cả images.
  5. ./splitupdate UPDATE.APP sẽ trích xuất tất cả tệp trong update.app – xuất ra thư mục 'output' mới tạo. Lọc không hoàn hảo.
  6. Sử dụng ./splitupdate UPDATE.APP RAMDISK để trích xuất tất cả images có RAMDISK trong tên, bạn sẽ nhận được RAMDISK.img và RECOVERY_RAMDISK.img.

Phương pháp Script thay thế

  1. Cấp quyền thực thi các tệp trong thư mục script thay thế:
    chmod +x simg2img chmod +x mount.sh
  2. Nếu dùng mount.sh, chỉnh sửa script thay YOUR_SUDO_PASSWORD_HERE bằng mật khẩu thực. Hoặc xóa 'echo YOUR_SUDO_PASSWORD_HERE | ' và nhập mật khẩu thủ công khi chạy script.
  3. Trích xuất system.img hoặc tệp khác, dùng ./mount.sh SYSTEM.
  4. Sẽ chuyển đổi SYSTEM.img thành SYSTEM.raw và mount vào 'split_folder/SYSTEM/' như loop device, cũng chmod 777 mọi thứ trong SYSTEM/.