रूटेड Xiaomi Mi A2 पर OTA अपडेट लागू करना एक बड़ा सिरदर्द हो सकता है, क्योंकि इसमें आपके डिवाइस को अनरूट करना और फिर से रूट करने के सभी चरणों से गुजरना शामिल हो सकता है। सौभाग्य से, Magisk को इंस्टॉल करने का एक तरीका है जो OTA अपडेट को सपोर्ट करता है।
इसलिए यदि आप Xiaomi Mi A2 को रूट करना चाहते हैं और OTA अपडेट लागू करने में सक्षम होना चाहते हैं बिना अपने डिवाइस को अनरूट किए, तो नीचे दिए गए हमारे सरल गाइड का ध्यानपूर्वक पालन करें।
आवश्यकताएं:
- ADB और Fastboot (Appual's गाइड देखें How to Install ADB on Windows)
- MiFlash Tool
सबसे पहले आपके पास अनलॉक बूटलोडर होना चाहिए - लेकिन आपको बहुत सावधान रहने की आवश्यकता है, और यह भी जान लें कि Xiaomi बूटलोडर अनलॉक प्रोग्राम हाल ही में बहुत धीमा हो गया है। अनलॉक कोड प्राप्त करने में हफ्तों लग सकते हैं। आपको Xiaomi डिवाइस में ARB (एंटी-रोलबैक प्रोटेक्शन मैकेनिज्म) के बारे में भी पता होना चाहिए।
यदि आपके डिवाइस का बूटलोडर पहले से अनलॉक है, तो बढ़िया! हम जारी रख सकते हैं।
Settings > System > About Phone > 'Build Number' पर 7 बार टैप करें जब तक Developer Mode अनलॉक न हो जाए।
अब Settings > Developer Options > OEM Unlocking इनेबल करें पर जाएं।
अब अपने डिवाइस को बंद करें, और Volume Down + पावर बटन दबाए रखें। फास्टबूट मेनू में प्रवेश करते ही बटन छोड़ दें।
अपने Xiaomi Mi A2 को USB के माध्यम से अपने PC से कनेक्ट करें, और ADB टर्मिनल लॉन्च करें (मुख्य ADB फोल्डर में Shift + राइट क्लिक दबाए रखें, और 'Open a command window here' चुनें)।
ADB टर्मिनल में, यह कमांड टाइप करें: fastboot oem unlock
यह आपके फोन को रीबूट करेगा और आपके बूटलोडर को अनलॉक करते समय आपके सभी डेटा को मिटा देगा।
Magisk इंस्टॉल करना
अपने फोन पर Magisk Manager APK का नवीनतम संस्करण डाउनलोड और इंस्टॉल करें।
अब निम्नलिखित डाउनलोड से एक पैच्ड boot.img डाउनलोड करें - वैकल्पिक रूप से, हम आपको सूची के नीचे मूल boot.img को स्वयं पैच करने का तरीका दिखाएंगे।
पैच्ड boot.img डाउनलोड करते समय, आपको पूरी तरह से सुनिश्चित होना होगा कि इसमें वही बिल्ड नंबर है जिस पर आप हैं। इसलिए Settings > About Phone में अपना बिल्ड नंबर जांचें इससे पहले आगे बढ़ने से, और फाइल को सीधे फोन की मेमोरी पर फ्लैश न करें, क्योंकि Magisk ठीक से काम नहीं करेगा। हमारे निर्देशों का बहुत सावधानी से और ठीक वैसे ही पालन करें जैसे वे लिखे गए हैं।
आपको पैच्ड boot.img को अपने PC पर ADB फोल्डर में डाउनलोड करना चाहिए।
- patched_boot 9.6.4.0 (2018 जुलाई अपडेट) - Magisk 17.1 के साथ पैच्ड
- patched_boot 9.6.6.0 (2018 अगस्त अपडेट) - Magisk 17.1 के साथ पैच्ड
- patched_boot 9.6.8.0 (2018 सितंबर अपडेट) - Magisk 17.1 के साथ पैच्ड
यदि आप गलती से गलत boot.img फ्लैश कर देते हैं, तो आप नीचे दी गई सूची से एक मूल boot.img फ्लैश कर सकते हैं:
- original boot.img 9.6.4.0 (2018 जुलाई अपडेट) - फास्टबूट ROM से लिया गया
- original boot.img 9.6.6.0 (2018 अगस्त अपडेट) - OTA अपडेट से लिया गया
- original boot.img 9.6.8.0 (2018 सितंबर अपडेट) - OTA अपडेट से लिया गया
कृपया ध्यान रखें कि यदि मैन्युअल boot.img पैच कर रहे हैं, तो आपको अपना मूल boot.img चाहिए - आप इसे daisy के लिए आधिकारिक फास्टबूट ROM zip फाइल के अंदर पा सकते हैं। लेकिन सुनिश्चित करें कि डाउनलोड किए गए ROM वर्जन का वही बिल्ड नंबर है जो आपके फोन पर है। तो या तो अपने फोन के समान बिल्ड नंबर के साथ मूल boot.img डाउनलोड करें, या अपने वर्जन को अपग्रेड/डाउनग्रेड करें।
मूल boot.img प्राप्त करने के बाद (आधिकारिक फास्टबूट ROM zip से निकाला गया), आपको इसे अपने फोन की एक्सटर्नल मेमोरी (SD कार्ड) पर कॉपी करना होगा।
अब Magisk Manager ऐप खोलें, और यह पूछेगा कि क्या आप Magisk इंस्टॉल करना चाहते हैं - इंस्टॉलेशन स्वीकार करें, फिर "Patch Boot Image File" और आपके द्वारा ट्रांसफर की गई boot.img फाइल चुनें।
प्रक्रिया को पूरा होने में लगभग 1 मिनट लगना चाहिए, जब यह हो जाए तो इसे बंद करें। आपके फोन मेमोरी में Download डायरेक्टरी में, आपको "patched_boot.img" नाम की एक फाइल मिलनी चाहिए, जिसे आपको अपने PC पर ट्रांसफर करना होगा। इसे अपने मुख्य ADB फोल्डर के अंदर रखें।
अब अपने डिवाइस को फास्टबूट मोड में रीबूट करें (याद रखें, पावर + वॉल्यूम डाउन) और अपने PC पर ADB टर्मिनल लॉन्च करें।
ADB टर्मिनल में, निम्नलिखित कमांड टाइप करें: fastboot boot patched_boot.img
आपका फोन अब सामान्य रूप से बूट होना चाहिए। जब आप Android सिस्टम में वापस आ जाएं, तो Magisk Manager ऐप खोलें और यह एक बार फिर Magisk इंस्टॉल करने के लिए कहेगा। आगे बढ़ें और Install > Direct Install चुनें, और जब यह हो जाए तो रीबूट करें।
अब भविष्य के OTA अपडेट के लिए सावधानी के तौर पर, Settings > System > Developer Options > Automatic system updates डिसेबल करें पर जाएं। आपको OTA अपडेट केवल मैन्युअली इंस्टॉल करना चाहिए। रूटेड Android डिवाइस पर कभी भी ऑटोमैटिक OTA की अनुमति न दें।
भविष्य के OTA अपडेट कैसे लागू करें
कृपया ध्यान रखें कि OTA अपडेट केवल तभी काम करेंगे यदि डिवाइस पर सभी पार्टीशन अनछुए हैं! Magisk आपके मूल boot.img को रिस्टोर करने में सक्षम है, लेकिन यदि आपने किसी भी तरह से /system पार्टीशन को संशोधित किया है, जैसे मैन्युअली build.prop संपादित करना, तो OTA इंस्टॉल करने से इनकार कर देगा।
आप मूल फास्टबूट ROM का पूरा फ्लैश किए बिना OTA अपडेट लागू करने का प्रयास कर सकते हैं यदि आप केवल संशोधित पार्टीशन फ्लैश करते हैं, जैसे मूल फास्टबूट ROM से केवल /system पार्टीशन फ्लैश करना, मूल ROM .zip फाइल से उचित .img फाइल का उपयोग करके।
तो जब एक नया OTA अपडेट उपलब्ध होता है जिसे आप इंस्टॉल करना चाहते हैं, तो आपको Magisk Manager लॉन्च करना होगा और "Uninstall > Restore Images" पर टैप करना होगा, लेकिन डिवाइस को अभी रीबूट न करें।
Magisk बंद करें और अपने डिवाइस के Settings > System > System update में जाएं, और OTA अपडेट इंस्टॉल करें। जब अपडेट डाउनलोड हो जाए, तो यह दो-चरणीय अपडेट शुरू करेगा। हम कॉफी का एक बर्तन चढ़ाने, और शायद Madalin Stunt Cars 2 का एक त्वरित गेम खेलने, या The Impossible Quiz में अपना सर्वश्रेष्ठ प्रयास करने की सलाह देते हैं (शुभकामनाएं!)
अपडेट चरण पूरे होने के बाद, यह रीस्टार्ट करने के लिए कहेगा। अपने डिवाइस को रीस्टार्ट न करें। Magisk Manager को एक बार फिर लॉन्च करें, फिर Install > Install > Install to Inactive Slot (After OTA) पर टैप करें, और उसके बाद ही आप रीबूट करने के लिए आगे बढ़ सकते हैं।
आपके Xiaomi Mi A2 के रीबूट होने के बाद, आपके पास अपडेटेड Android वर्जन के साथ Magisk अभी भी इंटैक्ट होना चाहिए।
समस्या निवारण
नोट: इनमें से किसी भी ऑपरेशन के साथ आगे बढ़ने से पहले, आपको अपने डिवाइस पर किसी भी स्क्रीन सुरक्षा को अक्षम करना होगा (स्क्रीन लॉक, PIN, पासवर्ड, फिंगरप्रिंट, आदि) क्योंकि आप अपने डेटा के साथ एन्क्रिप्शन मुद्दों का जोखिम उठाते हैं। पहले बैकअप बनाना अत्यधिक अनुशंसित है।
यदि आपने इस गाइड का सावधानीपूर्वक पालन नहीं किया, तो आपको कुछ समस्याओं का सामना करना पड़ सकता है।
जब एक नया वर्जन मिलता है, तो अपडेटर जांचेगा कि डिवाइस पर सभी पार्टीशन अनछुए हैं। यदि कोई पार्टीशन है जिसे संशोधित किया गया है, तो OTA अपडेटर इंस्टॉलेशन के साथ आगे नहीं बढ़ेगा;
आमतौर पर, उपयोगकर्ता मॉडिंग द्वारा आमतौर पर संशोधित दो पार्टीशन बूट पार्टीशन (वह जगह जहां Magisk और TWRP इंस्टॉल हैं) और सिस्टम पार्टीशन (जब आप एक कॉन्फिग फाइल बदलते हैं, सिस्टम ऐप जोड़ते या हटाते हैं, आदि) हैं
केवल Magisk मॉड्यूल का उपयोग करके संशोधित एक सिस्टम पार्टीशन प्रभावी रूप से अनछुआ है, क्योंकि Magisk /system में सभी परिवर्तनों को /data पार्टीशन में एक फाइल में रजिस्टर करता है और फिर Android को यह विश्वास दिलाता है कि वे परिवर्तन वास्तव में /system पर लागू होते हैं;
बूट पार्टीशन इसके बजाय वास्तव में संशोधित है, लेकिन यदि आप इस गाइड का पालन करके Magisk इंस्टॉल करते हैं, तो Magisk अनछुए बूट पार्टीशन की एक कॉपी सेव करेगा, और OTA अपडेट लागू करने से पहले इसे रिस्टोर करने से अपडेट काम करेगा।
अब, यदि आपने इस गाइड का पालन करके Magisk इंस्टॉल नहीं किया और आपने इसे अन्य तरीकों से इंस्टॉल किया, तो Magisk आपको अलर्ट कर सकता है कि जब आप OTA अपडेट लागू करने का प्रयास करते हैं तो यह मूल 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 से निकाले गए system.img को ढूंढ सकते हैं (उसके अंदर हर दूसरी .img फाइल के साथ):
- 9.6.8.0 (सितंबर 2018) OTA अपडेट डंप .img फाइलों के रूप में
- 9.6.6.0 (अगस्त 2018) OTA अपडेट डंप .img फाइलों के रूप में
यदि आप स्वयं system.img प्राप्त करना चाहते हैं, तो आप इसे फास्टबूट इमेज के अंदर पा सकते हैं लेकिन आमतौर पर वे OTA अपडेट की तरह मासिक अपडेट नहीं होते हैं। लेकिन आप इस थ्रेड में मिले OTA अपडेट zip से सीधे system.img निकाल सकते हैं, यहां मिले Python स्क्रिप्ट का उपयोग करके।
Debian/Ubuntu और डेरिवेटिव में Python स्क्रिप्ट काम करने के लिए, आपको "extract_android_ota_payload.py" और "update_metadata_pb2.py" दोनों डाउनलोड करने होंगे, उन्हें एक्जीक्यूशन प्रॉपर्टी दें, और फिर पैकेज "python-protobuf" इंस्टॉल करें। इसके बाद आप payload.bin फाइल को अनपैक करने के लिए यह कमांड दे सकते हैं (जिसे आपको OTA अपडेट zip से निकालना होगा):
./extract_android_ota_payload.py /path/to/payload.bin
यह वर्तमान डायरेक्टरी में payload.bin के अंदर सभी .img फाइलें निकाल देगा, जिसमें system.img शामिल है
मुझे नहीं पता कि Windows में कैसे आगे बढ़ना है, शायद आपको केवल नवीनतम Python2 रिलीज़ इंस्टॉल करने की आवश्यकता है और स्क्रिप्ट काम करेगी।
अंतिम उपाय के रूप में, आप उपलब्ध नवीनतम फास्टबूट इमेज के साथ MiFlash से सीधे फ्लैश कर सकते हैं (भले ही आपके वर्तमान वर्जन से पुराना हो)। "flash_all.bat" स्क्रिप्ट का उपयोग करें लेकिन पहले अपने डेटा का बैकअप लें, क्योंकि फोन पूरी तरह से रीसेट हो जाएगा।
यदि आप बैकअप न लेने का जोखिम नहीं लेना चाहते हैं, तो फ्लैश करते समय स्क्रिप्ट "flash_all_except_storage.bat" का उपयोग करें, ताकि आप अपना सारा डेटा रख सकें, लेकिन चेतावनी दी जाती है कि कभी-कभी आप एन्क्रिप्शन समस्याओं के कारण डेटा तक पहुंच नहीं पाएंगे।
फ्लैश के ठीक बाद, आप इस गाइड के बिंदु 5 या 6 से शुरू कर सकते हैं।
फास्टबूट के माध्यम से बिल्ड वर्जन डाउनग्रेड करना कोई समस्या नहीं होनी चाहिए, जब तक Android मुख्य वर्जन समान रहता है (फिलहाल Oreo 8.1)।
Mi A2 jasmine के लिए पैच्ड और मूल बूट फाइलें (daisy Mi A2 Lite के लिए नहीं, आप daisy के लिए फाइलें इस गाइड के पहले सेक्शन में पा सकते हैं)।
- patched_boot 9.6.9.0 (जुलाई अपडेट) - Magisk 17.1 के साथ पैच्ड
- patched_boot 9.6.10.0 (अगस्त अपडेट) - Magisk 17.1 के साथ पैच्ड
- original boot.img 9.6.9.0 (जुलाई अपडेट) - फास्टबूट ROM से लिया गया
- original boot.img 9.6.10.0 (अगस्त अपडेट) - फास्टबूट ROM से लिया गया