Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> สมาร์ทโฟน >> สมาร์ทโฟน

สิ่งที่ต้องรู้เกี่ยวกับ Systemless Root บน Android

ก่อน Android Marshmallow การ Root แบบดั้งเดิม ทำได้โดยแก้ไขไฟล์ในพาร์ติชัน "/system" ทำให้ Superuser (กระบวนการจัดการ Root access) รันตอนบูทพร้อมสิทธิ์เต็มๆ

เมื่อ Android Marshmallow ปล่อยออกมา Google เพิ่มความปลอดภัย ทำให้ Root แบบดั้งเดิมไม่ทำงานแล้ว นำทางสู่ "Systemless Root" ที่ไม่ต้องแก้ไขโฟลเดอร์ "/system" แต่ใช้ Boot Image ที่ปรับแต่ง เพื่อเปิดกระบวนการ Superuser

มาดูข้อดีและข้อเสียของ Systemless Root เทียบกับ Root แบบดั้งเดิม

ข้อดีของ Systemless Root

ข้อดีหลัก: ทำให้รับ OTA (Over-the-air) Updates ได้ง่ายขึ้นมาก

Root แบบดั้งเดิม ทำให้รับ OTA ไม่ได้ เพราะแก้ไข "/system" ห่างจากสเปคของผู้ผลิต ทำให้บางผู้ผลิตบล็อก OTA เมื่อตรวจพบ Root (เพราะอาจทำให้อุปกรณ์บริค/Brick)

หาก Root แบบดั้งเดิม ต้อง Re-flash พาร์ติชัน "/system" ต้นฉบับก่อนจึงจะติดตั้ง OTA ได้ สำหรับ Systemless Root ต้อง Re-flash แค่ Boot Image ซึ่งง่ายกว่ามาก

Systemless Root ยังป้องกัน "Soft-brick" หาก Kernel ไม่รองรับ (กรณี Root Marshmallow แบบดั้งเดิม) หาก Kernel ไม่รองรับ อุปกรณ์จะไม่ Root แต่บูทปกติได้

เพิ่มเติม: Unroot ง่ายขึ้นมาก Factory Reset แค่ครั้งเดียวพอ

ข้อเสีย

ข้อเสียทั่วไปของการ Root (ไม่ว่าวิธีไหน) บางบริการ เช่น Android Pay จะไม่ทำงาน เพราะตรวจสอบ Root และบล็อกหากพบ Root access เปิดอยู่

Android Pay เคยทำงานบน Systemless Root แต่ไม่ได้เป็นเจตนา และตอนนี้ Patched แล้ว ตรวจพบ Systemless Root ด้วย

ไม่มีแผน繞道 (Workaround) สำหรับข้อจำกัดนี้ หากสำคัญ ควรไม่ Root

ข้อเสียเฉพาะ Systemless Root: ไม่ทำงาน หากอุปกรณ์มี Locked Bootloader หากเป็นเช่นนั้น ต้องหาวิธี Root อื่น ไม่มี Workaround ทั่วไปตอนนี้

ควรใช้วิธีไหน?

ไม่ต้องตัดสินใจเอง ขึ้นอยู่กับรุ่นอุปกรณ์และ Android version

  • Systemless Root: รองรับ Android 6.0 (Marshmallow) ขึ้นไปเท่านั้น
  • Lollipop หรือเก่ากว่า: ต้องใช้ Root แบบดั้งเดิม
  • Marshmallow ขึ้นไป: Systemless เป็นวิธีเดียวที่เป็นไปได้ตอนนี้

หากติดตั้ง SuperSU zip บนสมาร์ทโฟน จะตัดสินใจวิธี Root อัตโนมัติตามสเปคอุปกรณ์

แต่หากอยาก Re-root ด้วย Systemless ใหม่ ต้อง Unroot เต็มรูปแบบ และ Re-flash "/system" ต้นฉบับก่อน เนื่องจากทั้ง 2 วิธีไม่เข้ากันได้