รีบูตเป็น Bootloader - Android คืออะไร โหมด Fastboot บน Android - มันคืออะไร? วิธีออกจากโหมด Fastboot

คุณเคยสงสัยหรือไม่ว่า fastboot หรือ ADB ทำงานอย่างไร? หรือเหตุใดจึงแทบเป็นไปไม่ได้เลยที่จะเปลี่ยนสมาร์ทโฟนที่ใช้ Android ให้เป็นก้อนอิฐ หรือบางทีคุณอาจอยากรู้มานานแล้วว่าความมหัศจรรย์ของเฟรมเวิร์ก Xposed อยู่ที่ไหน และเหตุใดสคริปต์สำหรับบูต /system/etc/init.d จึงจำเป็น? แล้วคอนโซลการกู้คืนล่ะ? นี่เป็นส่วนหนึ่งของ Android หรือเป็นอะไรในตัวเองและเหตุใดการกู้คืนปกติจึงไม่เหมาะสำหรับการติดตั้งเฟิร์มแวร์ของบุคคลที่สาม คุณจะพบคำตอบสำหรับคำถามเหล่านี้และคำถามอื่น ๆ อีกมากมายในบทความนี้

ระบบปฏิบัติการ Android ทำงานอย่างไร

คุณสามารถเรียนรู้เกี่ยวกับความสามารถที่ซ่อนอยู่ของระบบซอฟต์แวร์ได้โดยการทำความเข้าใจหลักการทำงาน ในบางกรณีอาจทำได้ยากเนื่องจากรหัสระบบอาจปิดอยู่ แต่ในกรณีของ Android เราสามารถศึกษาระบบทั้งหมดทั้งภายในและภายนอกได้ ในบทความนี้ฉันจะไม่พูดถึงความแตกต่างทั้งหมดของ Android และจะเน้นเฉพาะวิธีที่ระบบปฏิบัติการเริ่มต้นและเหตุการณ์ใดที่เกิดขึ้นในช่วงเวลาระหว่างการกดปุ่มเปิดปิดและรูปลักษณ์ของเดสก์ท็อป

ในระหว่างนี้ ผมจะอธิบายสิ่งที่เราสามารถเปลี่ยนแปลงได้ในเหตุการณ์ต่อเนื่องนี้ และวิธีที่นักพัฒนาเฟิร์มแวร์แบบกำหนดเองใช้ความสามารถเหล่านี้เพื่อปรับใช้สิ่งต่างๆ เช่น การปรับแต่งพารามิเตอร์ระบบปฏิบัติการ การขยายพื้นที่จัดเก็บข้อมูลแอปพลิเคชัน การเชื่อมต่อการสลับ การปรับแต่งต่างๆ และอื่นๆ อีกมากมาย ข้อมูลทั้งหมดนี้สามารถใช้เพื่อสร้างเฟิร์มแวร์ของคุณเองและทำการแฮ็กและแก้ไขต่างๆ

ขั้นตอนแรก. ABOOT และตารางพาร์ติชัน

ทุกอย่างเริ่มต้นด้วย bootloader หลัก หลังจากเปิดเครื่อง ระบบจะรันโค้ด Bootloader ที่จัดเก็บไว้ในหน่วยความจำถาวรของอุปกรณ์ จากนั้นจะถ่ายโอนการควบคุมไปยัง aboot bootloader ที่มีการรองรับโปรโตคอล fastboot ในตัว แต่ผู้ผลิตชิปมือถือหรือสมาร์ทโฟน/แท็บเล็ตมีสิทธิ์เลือก bootloader อื่น ๆ ที่เขาเลือก ตัวอย่างเช่น Rockchip ใช้ bootloader ของตัวเองซึ่งไม่รองรับ fastboot และต้องใช้เครื่องมือที่เป็นกรรมสิทธิ์ในการแฟลชและจัดการ

ในทางกลับกันโปรโตคอล fastboot คือระบบสำหรับจัดการ bootloader จากพีซีซึ่งช่วยให้คุณดำเนินการต่างๆ เช่นการปลดล็อค bootloader การแฟลชเคอร์เนลใหม่และการกู้คืนการติดตั้งเฟิร์มแวร์และอื่น ๆ อีกมากมาย เหตุผลของ fastboot คือสามารถกู้คืนสมาร์ทโฟนให้กลับสู่สถานะดั้งเดิมได้ในสถานการณ์ที่วิธีการอื่นทั้งหมดล้มเหลว Fastboot จะยังคงอยู่แม้ว่าคุณจะลบพาร์ติชั่นหน่วยความจำ NAND ทั้งหมดที่มี Android และการกู้คืนจากสมาร์ทโฟนของคุณก็ตาม

เมื่อได้รับการควบคุมแล้ว aboot จะตรวจสอบตารางพาร์ติชันและถ่ายโอนการควบคุมไปยังเคอร์เนลที่แฟลชไปยังพาร์ติชันชื่อ boot หลังจากนั้นเคอร์เนลจะแยกอิมเมจ RAM จากพาร์ติชันเดียวกันลงในหน่วยความจำและเริ่มโหลด Android หรือคอนโซลการกู้คืน หน่วยความจำ NAND ในอุปกรณ์ Android แบ่งออกเป็นหกส่วนที่จำเป็นตามเงื่อนไข:

  • boot - มีเคอร์เนลและดิสก์ RAM ซึ่งโดยปกติจะมีขนาดประมาณ 16 MB
  • การกู้คืน - คอนโซลการกู้คืนประกอบด้วยเคอร์เนลชุดแอปพลิเคชันคอนโซลและไฟล์การตั้งค่าขนาด 16 MB
  • ระบบ - มี Android ในอุปกรณ์สมัยใหม่ขนาดอย่างน้อย 1 GB
  • แคช - ออกแบบมาเพื่อจัดเก็บข้อมูลแคชซึ่งใช้เพื่อบันทึกเฟิร์มแวร์ระหว่างการอัพเดต OTA และดังนั้นจึงมีขนาดใกล้เคียงกับขนาดของพาร์ติชันระบบ
  • ข้อมูลผู้ใช้ - ประกอบด้วยการตั้งค่าแอปพลิเคชันและข้อมูลผู้ใช้พื้นที่หน่วยความจำ NAND ที่เหลือทั้งหมดจะถูกจัดสรร
  • เบ็ดเตล็ด - มีการตั้งค่าสถานะที่กำหนดว่าระบบควรบูตในโหมดใด: Android หรือการกู้คืน

นอกเหนือจากนั้นอาจมีส่วนอื่น ๆ ด้วย แต่มาร์กอัปทั่วไปจะถูกกำหนดในขั้นตอนการออกแบบของสมาร์ทโฟนและในกรณีของการบูตจะถูกเย็บลงในโค้ด bootloader ซึ่งหมายความว่า: 1) ไม่สามารถฆ่าตารางพาร์ติชันได้เนื่องจากสามารถกู้คืนได้เสมอโดยใช้คำสั่งรูปแบบ fastboot oem; 2) หากต้องการเปลี่ยนตารางพาร์ติชัน คุณจะต้องปลดล็อกและรีเฟรช bootloader ด้วยพารามิเตอร์ใหม่ อย่างไรก็ตาม มีข้อยกเว้นสำหรับกฎนี้ ตัวอย่างเช่น bootloader ของ Rockchip เดียวกันจะจัดเก็บข้อมูลเกี่ยวกับพาร์ติชันไว้ในบล็อกแรกของหน่วยความจำ NAND ดังนั้นจึงไม่จำเป็นต้องเปลี่ยนการแฟลช bootloader

ส่วนเบ็ดเตล็ดมีความน่าสนใจเป็นพิเศษ มีข้อสันนิษฐานว่าเดิมถูกสร้างขึ้นเพื่อจัดเก็บการตั้งค่าต่าง ๆ โดยไม่ขึ้นอยู่กับระบบหลัก แต่ในขณะนี้ใช้เพื่อจุดประสงค์เดียวเท่านั้น: เพื่อระบุให้ bootloader ทราบว่าควรโหลดพาร์ติชันใดของระบบ - บูตหรือกู้คืน โดยเฉพาะอย่างยิ่งคุณสมบัตินี้ถูกใช้โดยแอปพลิเคชัน ROM Manager เพื่อรีบูตระบบโดยอัตโนมัติเป็นการกู้คืนด้วยการติดตั้งเฟิร์มแวร์อัตโนมัติ บนพื้นฐานของมัน กลไกการบูตคู่ของ Ubuntu Touch ถูกสร้างขึ้นซึ่งจะแฟลช bootloader ของ Ubuntu เข้าสู่การกู้คืนและช่วยให้คุณควบคุมระบบที่จะบูตในครั้งต่อไป ลบพาร์ติชั่นเบ็ดเตล็ด - โหลด Android เติมข้อมูล - โหลดการกู้คืน... นั่นคือ Ubuntu Touch

ขั้นตอนที่สอง ส่วนการบูต

หากส่วนเบ็ดเตล็ดไม่มีการตั้งค่าสถานะการบูตการกู้คืน ให้ทำการบูตเพื่อถ่ายโอนการควบคุมไปยังโค้ดที่อยู่ในส่วนการบูต นี่ไม่มีอะไรมากไปกว่าเคอร์เนล Linux; โดยจะอยู่ที่จุดเริ่มต้นของส่วน และตามด้วยอิมเมจดิสก์ RAM ที่อัดแน่นโดยใช้ตัวเก็บถาวร cpio และ gzip ซึ่งมีไดเร็กทอรีที่จำเป็นสำหรับการทำงานของ Android ระบบการเริ่มต้นเริ่มต้น และเครื่องมืออื่น ๆ ไม่มีระบบไฟล์บนพาร์ติชันสำหรับเริ่มระบบ เคอร์เนลและดิสก์ RAM จะต่อกัน เนื้อหาของดิสก์ RAM คือ:

  • ข้อมูล - ไดเร็กทอรีสำหรับติดตั้งพาร์ติชันที่มีชื่อเดียวกัน
  • dev - ไฟล์อุปกรณ์;
  • proc - procfs ติดตั้งอยู่ที่นี่
  • res - ชุดรูปภาพสำหรับเครื่องชาร์จ (ดูด้านล่าง)
  • sbin - ชุดยูทิลิตี้ยูทิลิตี้และ daemons (เช่น adbd)
  • sys - sysfs ติดตั้งอยู่ที่นี่
  • ระบบ - ไดเร็กทอรีสำหรับติดตั้งพาร์ติชันระบบ
  • เครื่องชาร์จ - แอปพลิเคชันสำหรับแสดงกระบวนการชาร์จ
  • build.prop - การตั้งค่าระบบ
  • init - ระบบการเริ่มต้น;
  • init.rc - การตั้งค่าระบบการเริ่มต้น
  • ueventd.rc - การตั้งค่าของ uventd daemon ที่รวมอยู่ใน init

นี่คือโครงกระดูกของระบบ: ชุดของไดเร็กทอรีสำหรับเชื่อมต่อระบบไฟล์จากพาร์ติชันหน่วยความจำ NAND และระบบการเริ่มต้นที่จะจัดการส่วนที่เหลือของการบูทระบบ องค์ประกอบหลักที่นี่คือแอปพลิเคชัน init และการกำหนดค่า init.rc ซึ่งฉันจะพูดถึงรายละเอียดในภายหลัง ในระหว่างนี้ ฉันอยากจะดึงความสนใจของคุณไปที่ไฟล์ charger และ ueventd.rc รวมถึงไดเร็กทอรี sbin, proc และ sys

ไฟล์เครื่องชาร์จเป็นแอปพลิเคชั่นขนาดเล็กที่มีหน้าที่แสดงไอคอนแบตเตอรี่เท่านั้น ไม่เกี่ยวข้องกับ Android และใช้เมื่ออุปกรณ์เชื่อมต่อกับเครื่องชาร์จในสถานะปิด ในกรณีนี้ Android จะไม่โหลด และระบบจะโหลดเคอร์เนล เชื่อมต่อดิสก์ RAM และสตาร์ทเครื่องชาร์จ ส่วนหลังจะแสดงไอคอนแบตเตอรี รูปภาพซึ่งในสถานะที่เป็นไปได้ทั้งหมดจะถูกจัดเก็บไว้ในไฟล์ PNG ธรรมดาภายในไดเร็กทอรี res

ไฟล์ ueventd.rc เป็นการกำหนดค่าที่กำหนดว่าควรสร้างไฟล์อุปกรณ์ใดในไดเร็กทอรี sys ระหว่างการบูตระบบ ในระบบที่ใช้เคอร์เนล Linux การเข้าถึงฮาร์ดแวร์จะดำเนินการผ่านไฟล์พิเศษภายในไดเรกทอรี dev และ ueventd daemon ซึ่งเป็นส่วนหนึ่งของ init มีหน้าที่รับผิดชอบในการสร้างใน Android ในสถานการณ์ปกติ จะทำงานในโหมดอัตโนมัติ โดยยอมรับคำสั่งเพื่อสร้างไฟล์จากเคอร์เนล แต่บางไฟล์จำเป็นต้องสร้างแยกกัน มีการระบุไว้ใน ueventd.rc

ไดเร็กทอรี sbin ในสต็อก Android มักจะไม่มีอะไรนอกจาก adbd นั่นคือ ADB daemon ซึ่งรับผิดชอบในการดีบักระบบจากพีซี โดยจะทำงานในช่วงเริ่มต้นของการบูตระบบปฏิบัติการ และช่วยให้คุณสามารถระบุปัญหาที่อาจเกิดขึ้นได้ในระหว่างขั้นตอนการเริ่มต้นระบบปฏิบัติการ ในเฟิร์มแวร์แบบกำหนดเอง คุณจะพบไฟล์อื่นๆ จำนวนมากในไดเร็กทอรีนี้ เช่น mke2fs ซึ่งอาจจำเป็นต้องใช้หากจำเป็นต้องฟอร์แมตพาร์ติชันใหม่เป็น ext3/4 นอกจากนี้ modders มักจะวาง BusyBox ไว้ที่นั่น ซึ่งคุณสามารถเรียกใช้คำสั่ง Linux ได้หลายร้อยคำสั่ง

ไดเร็กทอรี proc เป็นไดเร็กทอรีมาตรฐานสำหรับ Linux ในขั้นตอนถัดไปของการบูต init จะเชื่อมต่อกับมัน procfs ซึ่งเป็นระบบไฟล์เสมือนที่ให้การเข้าถึงข้อมูลเกี่ยวกับกระบวนการทั้งหมดบนระบบ ระบบจะเชื่อมต่อ sysfs กับไดเร็กทอรี sys ซึ่งเปิดการเข้าถึงข้อมูลเกี่ยวกับฮาร์ดแวร์และการตั้งค่า การใช้ sysfs คุณสามารถทำให้อุปกรณ์เข้าสู่โหมดสลีปหรือเปลี่ยนอัลกอริธึมการประหยัดพลังงานที่ใช้ได้

ไฟล์ build.prop ได้รับการออกแบบมาเพื่อจัดเก็บการตั้งค่า Android ระดับต่ำ หลังจากนั้นระบบจะรีเซ็ตการตั้งค่าเหล่านี้และเขียนทับด้วยค่าจากไฟล์ system/build.prop ที่ไม่สามารถเข้าถึงได้ในปัจจุบัน


ประเด็นจากข้อความ

  • Fastboot จะยังคงอยู่แม้ว่าคุณจะลบเนื้อหาของส่วนหน่วยความจำ NAND ทั้งหมดออกจากสมาร์ทโฟนของคุณจากการทดลองก็ตาม
  • ส่วนการกู้คืนเป็นแบบพึ่งพาตนเองได้อย่างสมบูรณ์และมีระบบปฏิบัติการขนาดเล็กที่ไม่เกี่ยวข้องกับ Android เลย
  • ด้วยการแก้ไขไฟล์ fstab เล็กน้อย เราสามารถบังคับให้ init บูตระบบจากการ์ดหน่วยความจำได้

ขั้นตอนที่สอง ทางเลือก ส่วนการกู้คืน

หากตั้งค่าสถานะการบูตการกู้คืนในส่วนเบ็ดเตล็ดหรือผู้ใช้เปิดสมาร์ทโฟนโดยกดปุ่มลดระดับเสียงค้างไว้ Aboot จะถ่ายโอนการควบคุมไปยังรหัสที่อยู่จุดเริ่มต้นของส่วนการกู้คืน เช่นเดียวกับพาร์ติชั่นสำหรับบูต มันมีเคอร์เนลและดิสก์ RAM ซึ่งถูกแตกไฟล์ลงในหน่วยความจำและกลายเป็นรูทของระบบไฟล์ อย่างไรก็ตามเนื้อหาของดิสก์ RAM จะแตกต่างกันบ้างที่นี่

ต่างจากพาร์ติชันสำหรับเริ่มระบบซึ่งทำหน้าที่เป็นตัวเชื่อมโยงการเปลี่ยนแปลงระหว่างขั้นตอนต่างๆ ของการโหลดระบบปฏิบัติการ พาร์ติชันการกู้คืนเป็นแบบพอเพียงอย่างสมบูรณ์ และมีระบบปฏิบัติการขนาดเล็กที่ไม่เชื่อมต่อกับ Android เลย การกู้คืนมีคอร์ของตัวเอง ชุดแอปพลิเคชัน (คำสั่ง) ของตัวเอง และอินเทอร์เฟซของตัวเองที่อนุญาตให้ผู้ใช้เปิดใช้งานฟังก์ชั่นบริการ

ในการกู้คืนมาตรฐาน (สต็อก) มักจะมีเพียงสามฟังก์ชันดังกล่าว: การติดตั้งเฟิร์มแวร์ที่เซ็นชื่อด้วยรหัสของผู้ผลิตสมาร์ทโฟน การล้างข้อมูลและการรีบูต การกู้คืนข้อมูลโดยบุคคลที่สามที่ได้รับการปรับเปลี่ยน เช่น ClockworkMod และ TWRP มีฟังก์ชันต่างๆ มากมาย พวกเขาสามารถฟอร์แมตระบบไฟล์ ติดตั้งเฟิร์มแวร์ที่เซ็นชื่อด้วยคีย์ใดๆ (อ่าน: กำหนดเอง) ติดตั้งระบบไฟล์บนพาร์ติชันอื่นๆ (เพื่อวัตถุประสงค์ในการดีบัก OS) และรวมถึงการรองรับสคริปต์ ซึ่งช่วยให้คุณทำให้กระบวนการเฟิร์มแวร์เป็นอัตโนมัติและฟังก์ชันอื่น ๆ อีกมากมาย

ตัวอย่างเช่น การใช้สคริปต์ คุณสามารถตรวจสอบให้แน่ใจว่าหลังจากการบูท การกู้คืนจะค้นหาเฟิร์มแวร์ที่จำเป็นในการ์ดหน่วยความจำโดยอัตโนมัติ ติดตั้งและรีบูตใน Android ROM Manager, เครื่องมือแฟลชอัตโนมัติใช้คุณสมบัตินี้ รวมถึงกลไกการอัพเดตอัตโนมัติสำหรับ CyanogenMod และเฟิร์มแวร์อื่น ๆ

การกู้คืนแบบกำหนดเองยังรองรับสคริปต์สำรองที่อยู่ในไดเร็กทอรี /system/addon.d/ ก่อนที่จะแฟลช การกู้คืนจะตรวจสอบสคริปต์และดำเนินการก่อนที่จะแฟลชเฟิร์มแวร์ ด้วยสคริปต์ดังกล่าว gapps จะไม่หายไปหลังจากติดตั้งเฟิร์มแวร์เวอร์ชันใหม่

คำสั่ง fastboot

ในการเข้าถึง fastboot คุณต้องติดตั้ง Android SDK เชื่อมต่อสมาร์ทโฟนของคุณกับพีซีโดยใช้สายเคเบิลแล้วเปิดใช้งานโดยกดปุ่มระดับเสียงทั้งสองค้างไว้ หลังจากนี้ คุณควรไปที่ไดเร็กทอรีย่อย platform-tools ภายใน SDK และรันคำสั่ง

อุปกรณ์ Fastboot

ชื่ออุปกรณ์จะแสดงบนหน้าจอ คำสั่งอื่นๆ ที่มีอยู่:

  • ปลดล็อค fatsboot oem- ปลดล็อค bootloader บน Nexus;
  • อัพเดตไฟล์.zip- การติดตั้งเฟิร์มแวร์
  • แฟลชบูต boot.img- กระพริบอิมเมจพาร์ติชันสำหรับบูต;
  • การกู้คืนแฟลช recovery.img- กระพริบอิมเมจพาร์ติชันการกู้คืน
  • ระบบแฟลช system.img- กระพริบอิมเมจระบบ
  • รูปแบบโอเอ็ม- การฟื้นฟูตารางพาร์ติชั่นที่ถูกทำลาย

ขั้นตอนที่สาม การเริ่มต้น

ดังนั้นเมื่อได้รับการควบคุมแล้วเคอร์เนลจะเชื่อมต่อดิสก์ RAM และหลังจากเริ่มต้นระบบย่อยและไดรเวอร์ทั้งหมดแล้วให้เริ่มกระบวนการเริ่มต้นซึ่งจะเริ่มการเริ่มต้นของ Android อย่างที่ผมบอกไปแล้วว่า init มีไฟล์คอนฟิกูเรชัน init.rc ซึ่งกระบวนการจะเรียนรู้ว่าจะต้องทำอะไรเพื่อนำระบบขึ้นมา ในสมาร์ทโฟนสมัยใหม่ การกำหนดค่านี้มีความยาวหลายร้อยบรรทัดที่น่าประทับใจ และยังมาพร้อมกับตัวอย่างการกำหนดค่าย่อยหลายรายการที่เชื่อมต่อกับการกำหนดค่าหลักโดยใช้คำสั่งนำเข้า อย่างไรก็ตาม รูปแบบของมันค่อนข้างเรียบง่ายและเป็นชุดคำสั่งที่แบ่งออกเป็นบล็อก

แต่ละบล็อกจะกำหนดขั้นตอนการโหลดหรือการดำเนินการตามคำพูดของนักพัฒนา Android บล็อกจะถูกแยกออกจากกันด้วยคำสั่ง on ตามด้วยชื่อของการดำเนินการ เช่น ในการเริ่มต้นหรือหลัง fs บล็อกคำสั่งจะถูกดำเนินการก็ต่อเมื่อทริกเกอร์ที่มีชื่อเดียวกันเริ่มทำงาน ขณะที่บูท init จะเปิดใช้งานทริกเกอร์ Early-init, Init, Early-fs, fs, Post-fs, Early-Boot และ Boot ตามลำดับ ซึ่งจะเรียกใช้บล็อกคำสั่งที่เกี่ยวข้อง


หากไฟล์การกำหนดค่าดึงการกำหนดค่าเพิ่มเติมหลายรายการในตอนเริ่มต้น (และเกือบจะเป็นเช่นนั้นเสมอ) บล็อคคำสั่งที่มีชื่อเดียวกันภายในจะถูกรวมเข้ากับการกำหนดค่าหลัก ดังนั้นเมื่อทริกเกอร์เริ่มทำงาน init จะ รันคำสั่งจากบล็อกที่สอดคล้องกันของไฟล์ทั้งหมด สิ่งนี้ทำเพื่อความสะดวกในการสร้างไฟล์การกำหนดค่าสำหรับอุปกรณ์หลายเครื่อง เมื่อการกำหนดค่าหลักประกอบด้วยคำสั่งทั่วไปสำหรับอุปกรณ์ทั้งหมด และคำสั่งเฉพาะสำหรับแต่ละอุปกรณ์จะถูกเขียนเป็นไฟล์แยกกัน

การกำหนดค่าเพิ่มเติมที่โดดเด่นที่สุดมีชื่อว่า initrc.device_name.rc โดยที่ชื่ออุปกรณ์จะถูกกำหนดโดยอัตโนมัติตามเนื้อหาของตัวแปรระบบ ro.hardware นี่คือไฟล์การกำหนดค่าเฉพาะแพลตฟอร์มที่มีบล็อกคำสั่งเฉพาะอุปกรณ์ นอกจากคำสั่งที่รับผิดชอบในการปรับแต่งเคอร์เนลแล้ว ยังมีคำสั่งดังนี้:

Mount_all ./fstab.device_name

หมายความว่าตอนนี้ init ควรเมานต์ระบบไฟล์ทั้งหมดที่แสดงอยู่ในไฟล์ ./fstab.device_name ซึ่งมีโครงสร้างดังต่อไปนี้:

Device_name (พาร์ติชัน) mount_point file_system fs_options ตัวเลือกอื่น ๆ

โดยปกติจะมีคำแนะนำสำหรับการติดตั้งระบบไฟล์จากพาร์ติชัน NAND ภายในไปยังไดเร็กทอรี /system (OS), /data (การตั้งค่าแอปพลิเคชัน) และ /cache (ข้อมูลแคช) อย่างไรก็ตาม ด้วยการแก้ไขไฟล์นี้เล็กน้อย เราสามารถบังคับให้ init บูตระบบจากการ์ดหน่วยความจำได้ ในการดำเนินการนี้เพียงแบ่งการ์ดหน่วยความจำออกเป็นสามส่วน 4 ส่วน: 1 GB / ext4, 2 GB / ext4, 1 GB / ext4 และพื้นที่ fat32 ที่เหลือ ถัดไป คุณต้องกำหนดชื่อของพาร์ติชันการ์ดหน่วยความจำในไดเร็กทอรี /dev (จะแตกต่างกันไปตามอุปกรณ์ต่างๆ) และแทนที่ด้วยชื่ออุปกรณ์ดั้งเดิมในไฟล์ fstab


ที่ส่วนท้ายของบล็อก boot init มักจะพบคำสั่งเริ่มต้น class_start ซึ่งจะแจ้งให้คุณทราบว่าคุณควรเริ่มบริการทั้งหมดที่แสดงอยู่ในการกำหนดค่าที่เกี่ยวข้องกับคลาสเริ่มต้น คำอธิบายของบริการเริ่มต้นด้วยคำสั่งบริการ ตามด้วยชื่อของบริการและคำสั่งที่ต้องดำเนินการเพื่อเริ่มต้น ต่างจากคำสั่งที่ระบุไว้ในบล็อก บริการจะต้องทำงานตลอดเวลา ดังนั้น init จะหยุดทำงานอยู่เบื้องหลังและตรวจสอบสิ่งนี้ตลอดอายุการใช้งานของสมาร์ทโฟน

Modern Android มีบริการมากมาย แต่บริการสองรายการมีสถานะพิเศษและกำหนดวงจรชีวิตทั้งหมดของระบบ

คำสั่ง init.rc

กระบวนการเริ่มต้นมีชุดคำสั่งในตัว ซึ่งหลายชุดเป็นไปตามชุดคำสั่ง Linux มาตรฐาน สิ่งที่น่าสังเกตมากที่สุด:

  • ดำเนินการ /path/to/command- รันคำสั่งภายนอก
  • อินเทอร์เฟซ ifup- ยกอินเทอร์เฟซเครือข่าย
  • class_start class_name- เริ่มบริการที่อยู่ในคลาสที่ระบุ
  • class_stop class_name- หยุดบริการ
  • insmod /path/to/module- โหลดโมดูลเคอร์เนล
  • เมานต์ไดเร็กทอรีอุปกรณ์ FS- เชื่อมต่อระบบไฟล์
  • ค่าชื่อ setprop- ตั้งค่าตัวแปรระบบ
  • เริ่ม service_name- เริ่มบริการที่ระบุ
  • ชื่อทริกเกอร์- เปิดใช้งานทริกเกอร์ (ดำเนินการบล็อกคำสั่งที่ระบุ)
  • เขียนบรรทัด /path/to/file- เขียนบรรทัดลงในไฟล์

ขั้นตอนที่สี่ ไซโกตและ app_process

ในขั้นตอนหนึ่งของการโหลด init จะพบบล็อกลักษณะนี้เมื่อสิ้นสุดการกำหนดค่า:

บริการ zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class default socket zygote stream 660 root system onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart รีสตาร์ทสื่อ onrestart รีสตาร์ท netd

นี่คือคำอธิบายของบริการ Zygote ซึ่งเป็นส่วนประกอบสำคัญของระบบ Android ที่รับผิดชอบในการเริ่มต้น การเริ่มบริการของระบบ การเริ่มและการหยุดแอปพลิเคชันของผู้ใช้ และงานอื่นๆ อีกมากมาย Zygote เปิดตัวโดยใช้แอปพลิเคชันขนาดเล็ก /system/bin/app_process ซึ่งมองเห็นได้ชัดเจนในส่วนด้านบนของการกำหนดค่า งาน app_proccess คือการเปิดใช้เครื่องเสมือน Dalvik ซึ่งมีโค้ดอยู่ใน /system/lib/libandroid_runtime.so ไลบรารีที่ใช้ร่วมกัน จากนั้นเรียกใช้ Zygote ที่ด้านบนสุด

เมื่อทั้งหมดนี้เสร็จสิ้นและ Zygote อยู่ในการควบคุมแล้ว มันจะเริ่มสร้างรันไทม์แอปพลิเคชัน Java โดยการโหลดคลาส Java ของเฟรมเวิร์กทั้งหมด (ปัจจุบันมีมากกว่า 2,000 คลาส) จากนั้นจะเริ่ม system_server ซึ่งรวมถึงบริการระบบระดับสูง (เขียนด้วย Java) ส่วนใหญ่รวมถึง Window Manager, Status Bar, Package Manager และที่สำคัญที่สุดคือ Activity Manager ซึ่งในอนาคตจะรับผิดชอบในการรับจุดเริ่มต้นและจุดสิ้นสุด แอปพลิเคชันสัญญาณ

หลังจากนี้ Zygote จะเปิดซ็อกเก็ต /dev/socket/zygote และเข้าสู่โหมดสลีปเพื่อรอข้อมูล ในเวลานี้ ตัวจัดการกิจกรรมที่เปิดตัวก่อนหน้านี้จะส่ง Intent.CATEGORY_HOME ออกอากาศเพื่อค้นหาแอปพลิเคชันที่รับผิดชอบในการสร้างเดสก์ท็อปและตั้งชื่อให้กับ Zygote ผ่านทางซ็อกเก็ต ในทางกลับกัน จะแยกและรันแอปพลิเคชันที่ด้านบนของเครื่องเสมือน เอาล่ะ เรามีเดสก์ท็อปบนหน้าจอของเรา ซึ่งพบโดย Activity Manager และเปิดตัวโดย Zygote และแถบสถานะที่เปิดตัวโดย system_server ซึ่งเป็นส่วนหนึ่งของบริการแถบสถานะ หลังจากแตะที่ไอคอนเดสก์ท็อปจะส่งเจตนาพร้อมชื่อของแอปพลิเคชันนี้ Activity Manager จะได้รับมันและส่งคำสั่งเพื่อเริ่มแอปพลิเคชันไปยัง Zygote daemon

ข้อมูล

ในคำศัพท์เฉพาะของ Linux ดิสก์ RAM คือฮาร์ดดิสก์เสมือนชนิดหนึ่งที่มีอยู่ใน RAM เท่านั้น ในช่วงต้นของกระบวนการบูต เคอร์เนลจะแยกเนื้อหาดิสก์ออกจากอิมเมจและเมานต์เป็นระบบไฟล์รูท (rootfs)

ในระหว่างกระบวนการบูต Android จะแสดงหน้าจอบูตที่แตกต่างกันสามหน้าจอ: หน้าจอแรกปรากฏขึ้นทันทีหลังจากกดปุ่มเปิดปิดและกะพริบไปที่เคอร์เนล Linux ส่วนหน้าจอที่สองจะแสดงในช่วงเริ่มต้นของการเริ่มต้นและบันทึกไว้ในไฟล์ /initlogo.rle (แทบจะไม่ ใช้วันนี้) ไฟล์สุดท้ายเปิดตัวโดยใช้แอปพลิเคชัน bootanimation และมีอยู่ในไฟล์ /system/media/bootanimation.zip

นอกเหนือจากทริกเกอร์มาตรฐานแล้ว init ยังให้คุณกำหนดทริกเกอร์ของคุณเอง ซึ่งสามารถทริกเกอร์ได้จากเหตุการณ์ต่างๆ เช่น การเชื่อมต่ออุปกรณ์เข้ากับ USB การเปลี่ยนสถานะของสมาร์ทโฟน หรือการเปลี่ยนสถานะของตัวแปรระบบ

เหนือสิ่งอื่นใด ตัวจัดการกิจกรรมยังฆ่าแอปพลิเคชันพื้นหลังเมื่อมีหน่วยความจำไม่เพียงพอ ค่าเกณฑ์หน่วยความจำว่างมีอยู่ในไฟล์ /sys/module/lowmemorykiller/parameters/minfree

ทั้งหมดนี้อาจดูสับสนเล็กน้อย แต่สิ่งที่สำคัญที่สุดคือการจำสามสิ่งง่ายๆ:

ในหลาย ๆ ด้าน Android แตกต่างจากระบบปฏิบัติการอื่นมากและยากที่จะเข้าใจทันที อย่างไรก็ตาม หากคุณเข้าใจว่าทุกอย่างทำงานอย่างไร ความเป็นไปได้ก็ไม่มีที่สิ้นสุด ระบบปฏิบัติการของ Google ต่างจาก iOS และ Windows Phone ตรงที่มีสถาปัตยกรรมที่ยืดหยุ่นมากซึ่งช่วยให้คุณเปลี่ยนพฤติกรรมได้อย่างจริงจังโดยไม่ต้องเขียนโค้ด ในกรณีส่วนใหญ่ การแก้ไขการกำหนดค่าและสคริปต์ที่จำเป็นก็เพียงพอแล้ว

ไม่ใช่ทุกคนที่มีอุปกรณ์เคลื่อนที่ในรูปแบบของสมาร์ทโฟนหรือแท็บเล็ตที่ใช้ระบบปฏิบัติการซีรีส์ หุ่นยนต์รู้ว่าในระบบปฏิบัติการเวอร์ชันใดก็ตามจะมีสิ่งนี้เช่น บูตโหลดเดอร์- ตอนนี้มันคืออะไรจะมีการพูดคุยกัน จากความเข้าใจในแก่นแท้ของปัญหา จะสามารถค้นหาการดำเนินการใดที่สามารถทำได้เมื่อทำการปลดล็อค

Bootloader: มันคืออะไร?

มาเริ่มกันเลยเพื่อพูดด้วยพื้นฐาน ระบบ Bootloader Android แทบไม่ต่างจากที่มีอยู่ในเทอร์มินัลคอมพิวเตอร์ใด ๆ ไม่ว่าจะเป็นพีซีหรือ Mac กล่าวง่ายๆ ก็คือ Bootloader เป็นเครื่องมือบูตระบบปฏิบัติการในตัว

หากเราใช้เป็นตัวอย่างเทอร์มินัลคอมพิวเตอร์ที่มีระบบปฏิบัติการที่ติดตั้งไว้หลายระบบ (เช่น Windows และ Linux) bootloader หลังจากเปิดเครื่องที่อยู่กับที่หรือแล็ปท็อปจะเสนอทางเลือกให้ผู้ใช้เข้าสู่ระบบและหลังจากการยืนยันโหลดระบบปฏิบัติการหนึ่งหรืออื่น .

หลักการบูตระบบปฏิบัติการ

เช่นเดียวกับในระบบที่อยู่กับที่ Bootloader ในอุปกรณ์เคลื่อนที่จะเข้าถึงไฟล์การเริ่มต้นในลักษณะเดียวกับที่ Windows ทำเมื่อโหลดพารามิเตอร์จากไฟล์ boot.ini

หากคุณใส่ใจกับข้อมูลดังกล่าว ก็ไม่ใช่เรื่องยากที่จะสรุปได้ว่าในระบบ Android คุณสามารถเปลี่ยนได้อย่างง่ายดายไม่เพียงแต่วิธีการบูตเท่านั้น แต่ยังรวมถึงระบบปฏิบัติการที่โหลดไว้ด้วย ไม่ว่าจะด้วยตนเองหรือโดยอัตโนมัติ อย่างไรก็ตาม มีเพียงไม่กี่คนที่รู้ว่าเครื่องมือนี้โหลดเฉพาะระบบที่เขียนขึ้นสำหรับสมาร์ทโฟนหรือแท็บเล็ตรุ่นเฉพาะเท่านั้น

Bootloader: จะปลดล็อคได้อย่างไรและทำไมจึงจำเป็น?

สำหรับความเป็นไปได้ที่แนะนำในการปลดล็อค bootloader เรื่องนี้ไม่ได้จำกัดอยู่เพียงการกู้คืนข้อมูลเท่านั้น

เชื่อกันว่าในกรณีนี้ผู้ใช้จะสามารถเข้าถึงแกนหลักของระบบได้ ซึ่งไม่สามารถทำได้ตามค่าเริ่มต้น จะอธิบาย Bootloader ในสถานการณ์เช่นนี้ได้อย่างไร? สิ่งนี้จะชัดเจนหากคุณดูว่าไม่มีสิ่งที่เรียกว่า สิทธิ์ของผู้ใช้ระดับสูง- ปรากฎว่าหลังจากยกเลิกการปิดกั้นแล้วพวกเขาก็ไม่จำเป็นต้องใช้ในระดับใดเลย ไม่เช่นนั้นคุณมักจะต้องติดตั้งเฟิร์มแวร์และแอพพลิเคชั่นพิเศษ ถ้า เฟิร์มแวร์ที่กำหนดเองพูดง่ายๆ ก็คือ "งุ่มง่าม" แล้วทั้งระบบก็สามารถล้มเหลวได้

ผู้ผลิตอุปกรณ์พกพาทุกรายจัดให้มีการทำงานร่วมกับส่วนประกอบเช่น Bootloader จะปลดล็อคได้อย่างไร? โดยปกติจะทำโดยใช้ยูทิลิตี้พิเศษที่ติดตั้งบนพีซีเมื่อเชื่อมต่อกับอุปกรณ์พกพาผ่านอินเทอร์เฟซ USB โปรดทราบว่าในกรณีนี้ไม่จำเป็นต้องใช้สิทธิ์ superuser

สำหรับอุปกรณ์ส่วนใหญ่รวมถึงตัวอย่างเช่นอุปกรณ์ Sony และ HTC มีการใช้ยูทิลิตี้นี้โดยนัยและสำหรับ Sony คุณจะต้องใช้ไดรเวอร์ Sony Fastboot พิเศษเพิ่มเติมและยังอ้างถึงส่วน Unlocker พิเศษบนเว็บไซต์อย่างเป็นทางการ อย่างที่คุณเห็นขั้นตอนนี้แม้จะเป็นไปได้ แต่ก็ค่อนข้างซับซ้อน

วิธีปลดล็อค Bootloader โดยละเอียด

  • วิธีปลดล็อค bootloader - HTC
  • วิธีปลดล็อค bootloader - Nexus
  • วิธีปลดล็อค bootloader - Sony
  • วิธีปลดล็อค bootloader - Xiaomi
  • วิธีปลดล็อค bootloader - Huawei
  • วิธีปลดล็อค bootloader - LG

การกู้คืนข้อมูล

ในทางกลับกันในโหมดการทำงานมาตรฐานการกู้คืน Bootloader หลังจากรีเซ็ตการตั้งค่าเป็นการตั้งค่าจากโรงงานนั้นค่อนข้างง่าย คุณไม่จำเป็นต้องทำเช่นนี้

คุณเพียงแค่ต้องรีเซ็ตการตั้งค่าบนอุปกรณ์เองและหลังจากรีบูตระบบจะเสนอให้เลือกตัวเลือก: ใช้การตั้งค่าใหม่บนอุปกรณ์หรือกู้คืนการตั้งค่าโปรแกรมและไฟล์โดยใช้บัญชีบริการของ Google ในกรณีนี้ คุณจะต้องป้อนที่อยู่ Gmail ของคุณด้วยรหัสผ่าน และเชื่อมต่ออินเทอร์เน็ตด้วย เช่น ด้วยการเชื่อมต่อ Wi-Fi ที่ใช้งานได้

การติดตั้งระบบปฏิบัติการอื่น

หากเราพูดถึงความเป็นไปได้ในการติดตั้งระบบปฏิบัติการอื่น ปัญหานี้ค่อนข้างซับซ้อนแม้ว่าเราจะสามารถแก้ไขได้ก็ตาม ความจริงก็คือผู้ผลิตบางรายอ้างว่าหลังจาก Android จะไม่มีระบบอื่นสำหรับอุปกรณ์นี้ เป็นเพียงการแสดงความสามารถในการประชาสัมพันธ์ที่ออกแบบมาเพื่อโฆษณาระบบที่ติดตั้ง

แต่ชาวจีนได้พิสูจน์แล้วด้วยอุปกรณ์ HTC "ซ้าย" ที่ทั้ง Android และ Windows Phone สามารถอยู่ร่วมกันได้อย่างง่ายดายบนอุปกรณ์เครื่องเดียว ยิ่งไปกว่านั้น โมเดลดังกล่าวส่วนใหญ่จะมาพร้อมกับ Bootloader ที่ปลดล็อคแล้ว ในกรณีนี้คืออะไร? นี่เป็นเครื่องมือที่ช่วยให้คุณไม่เพียง แต่เลือกระบบปฏิบัติการที่สามารถบู๊ตได้เท่านั้น แต่ยังสามารถติดตั้งระบบปฏิบัติการอื่นได้ด้วยการเปลี่ยนพารามิเตอร์ในระดับระบบ

กล่าวอีกนัยหนึ่งผู้ใช้สามารถทำได้โดยไม่ต้องใช้เฟิร์มแวร์หรือโปรแกรมเพิ่มเติมเพื่อปรับการทำงานของระบบปฏิบัติการที่ติดตั้งให้เหมาะสมที่สุด นอกจากนี้! สิ่งนี้ไม่ต้องการยูทิลิตี้พิเศษเช่นเครื่องมือเพิ่มประสิทธิภาพซึ่งมีอยู่มากมายในปัจจุบันจนผู้ใช้เองไม่เข้าใจว่าจะเลือกโปรแกรมและแอพพลิเคชั่นจำนวนมากนี้อย่างไร

สิ่งที่คุณควรใส่ใจแยกจากกัน?

แต่เมื่อพูดถึงเฟิร์มแวร์แบบกำหนดเองซึ่งค่อนข้างได้รับความนิยมในหมู่เจ้าของอุปกรณ์พกพาจำนวนมาก คุณจะต้องใช้ความระมัดระวังอย่างมากกับพวกเขา แน่นอนว่าเฟิร์มแวร์อัจฉริยะหรือการอัปเดตระบบปฏิบัติการจะไม่ทำอันตรายใด ๆ ในทางกลับกันจะปรับปรุงการทำงานของอุปกรณ์เท่านั้น แต่เมื่อคุณติดตั้งสิ่งที่ไม่เป็นทางการและยังไม่ได้ทดสอบ (เช่นรุ่นเบต้าของคอมพิวเตอร์) คาดว่าจะเกิดปัญหา แน่นอนว่าไม่มี bootloader ใดที่จะช่วยได้

อย่างไรก็ตาม มีเพียงไม่กี่คนที่รู้ว่าเวอร์ชันดังกล่าวสามารถสร้างความเครียดให้กับส่วนประกอบฮาร์ดแวร์มากเกินไป ซึ่งในทางกลับกัน อาจทำให้ใช้งานไม่ได้โดยสมบูรณ์ แต่การเปลี่ยนโปรเซสเซอร์ในสมาร์ทโฟนเครื่องเดียวกันนั้นยังห่างไกลจากสิ่งที่ง่ายที่สุด

นอกจากนี้การปลดล็อค bootloader ในอุปกรณ์แบรนด์ที่เปิดตัวอย่างเป็นทางการหมายถึงการสูญเสียการรับประกันโดยอัตโนมัติและความเป็นไปได้ในการให้บริการฟรี ดังนั้นคุณจะต้องคิดร้อยครั้งก่อนที่จะดำเนินการและดำเนินการดังกล่าว

ท้ายที่สุด ยังคงต้องเสริมว่าโดยทั่วไปแล้วปัญหาในการติดตั้งระบบปฏิบัติการอื่นบนอุปกรณ์ Android นั้นค่อนข้างขัดแย้งกัน ใช่ แน่นอนว่าระบบจะทำงานได้ ไม่ว่าผู้ผลิตจะพูดอะไรก็ตาม แต่มันจะทำงานอย่างไรนั้นเป็นอีกคำถามหนึ่ง โดยเฉพาะอย่างยิ่งเมื่อผู้ใช้ส่วนใหญ่มักจะติดตั้งเวอร์ชันน้ำหนักเบาบางประเภทที่มีแหล่งที่มาที่ไม่รู้จัก แต่เปล่าประโยชน์ อย่างที่พวกเขาพูดกันว่าคุณสามารถทำผิดพลาดได้มากจนไม่ทำบาป และในกรณีที่มีการเปลี่ยนแปลงดังกล่าว ตามมาตรฐานสากลในปัจจุบัน ผู้ผลิตเองจะไม่รับผิดชอบต่อการทำงานที่ถูกต้องของอุปกรณ์มือถือ ดังนั้นการตัดสินใจเรื่องความได้เปรียบจะต้องกระทำโดยเจ้าของอุปกรณ์เอง แต่อย่าล้อเล่นกับเรื่องแบบนี้จะดีกว่า

เพื่อให้สามารถปรับแต่งระบบปฏิบัติการและพารามิเตอร์ฮาร์ดแวร์ได้ บางครั้งผู้ใช้อุปกรณ์เคลื่อนที่ที่ใช้ Android จะทำการรูทอุปกรณ์ของตนและทำการเปลี่ยนแปลงด้วย แต่นี่ไม่ใช่วิธีทั้งหมดที่มีในการเข้าถึงการตั้งค่าอุปกรณ์และระบบเพิ่มเติม คุณสามารถดูภายใต้ "ประทุน" ของอุปกรณ์โดยใช้โหมดที่เรียกว่าโหมด Fastboot

โหมด Fastboot คืออะไร

โหมด Fastboot หมายถึงอะไร และเกี่ยวข้องกับการปรับแต่งแบบละเอียดอย่างไร ในแล็ปท็อปบางรุ่น มันทำหน้าที่เพิ่มความเร็วการบูตระบบให้สูงสุด โดยข้าม BIOS และการดีบักแอปพลิเคชัน ในอุปกรณ์พกพา จุดประสงค์ค่อนข้างแตกต่างออกไป บนสมาร์ทโฟนและแท็บเล็ต Android โหมดนี้จำเป็นเพื่อให้สามารถเข้าถึงและควบคุมส่วนประกอบระบบของอุปกรณ์โดยใช้คอมพิวเตอร์เป็นหลัก

การใช้ความสามารถของโหมด Fastboot ผู้เชี่ยวชาญศูนย์บริการและผู้ใช้ที่มีประสบการณ์สามารถติดตั้งซอฟต์แวร์ แฟลชอุปกรณ์ กู้คืนแอปพลิเคชัน สำรองข้อมูลและกู้คืน และเปลี่ยนการตั้งค่าระบบที่ซ่อนอยู่ นักพัฒนามักหันไปใช้ "การโหลดอย่างรวดเร็ว" เพื่อใช้สำหรับการทดสอบซอฟต์แวร์และวัตถุประสงค์อื่น ๆ

หลังจากอธิบายวัตถุประสงค์ของโหมดแล้ว ดูเหมือนว่าเรายังไม่ได้ตอบคำถามที่ว่าโหมด Fastboot คืออะไร ดังนั้น fastboot ใน Android จึงเป็นส่วนประกอบซอฟต์แวร์แยกต่างหากที่ไม่ขึ้นอยู่กับระบบปฏิบัติการที่ใช้งานในระดับฮาร์ดแวร์และลงทะเบียนในชิปหน่วยความจำ ความเป็นอิสระนี้ทำให้อุปกรณ์สามารถบู๊ตได้แม้ว่าจะเกิดปัญหาร้ายแรงกับระบบปฏิบัติการก็ตาม รหัสโปรแกรมโหมด Fastboot อยู่ในพื้นที่หน่วยความจำที่ได้รับการปกป้องจากการอ่านและการเขียน ซึ่งป้องกันไม่ให้เกิดความเสียหาย

โหมด Fastboot เปิดใช้งานในกรณีใดบ้าง

สภาพแวดล้อม Fastboot สามารถเปิดใช้งานได้ด้วยตนเองผ่านเมนูมาตรฐานหรือโดยการกดปุ่มเปิดปิดและปุ่มลดระดับเสียงบนอุปกรณ์ที่ปิดอยู่พร้อมกัน แต่ในบางกรณีโหมดจะเริ่มต้นเองและนี่ไม่ใช่สิ่งที่ดีนัก สาเหตุของการโหลดที่เกิดขึ้นเองอาจเกิดจากการกะพริบไม่สำเร็จ การแทนที่สภาพแวดล้อมการกู้คืนมาตรฐานด้วยสภาพแวดล้อมที่แก้ไข การได้รับสิทธิ์ผู้ใช้ขั้นสูง ระบบล้มเหลว และความเสียหายต่อไฟล์ Android OS

วิธีออกจากโหมด Fastboot

การเปิดใช้งานโหมดนี้จะแสดงด้วยรูปภาพของหุ่นยนต์ที่เปิดอยู่และข้อความบนหน้าจอโทรศัพท์โหมด Fastboot

หากคุณไม่เคยทำการเปลี่ยนแปลงใด ๆ กับการกำหนดค่าของ Gadget มาก่อน บางทีสาเหตุของการเปลี่ยนไปใช้ "การบูตอย่างรวดเร็ว" อาจเป็นข้อผิดพลาดชั่วคราว ลองรีสตาร์ทสมาร์ทโฟนของคุณ หากแม้หลังจากการรีสตาร์ทโทรศัพท์แจ้งว่า fastboot และไม่เปลี่ยนเป็นโหมดการทำงานปกติ นี่อาจบ่งบอกถึงปัญหาที่ลึกซึ้งยิ่งขึ้น เป็นไปได้ว่าปัญหาจะร้ายแรงมากจนต้องรีเฟรชอุปกรณ์ที่ศูนย์บริการ แต่จนกว่าจะเป็นเช่นนั้นคุณควรลองออกจาก fastboot ด้วยตัวเอง

มีสองวิธีหลักในการทำเช่นนี้: ผ่านทางโทรศัพท์และการใช้คอมพิวเตอร์ หากการรีบูตตามปกติไม่ช่วยให้ปิดอุปกรณ์ จากนั้นกดปุ่มเปิดปิดและปุ่มลดระดับเสียงค้างไว้พร้อมกันจนกระทั่ง (ประมาณ 10 วินาที) เมนูเลือกโหมดการบูตปรากฏขึ้นบนหน้าจอ หรือโทรศัพท์บู๊ตในโหมดปกติ ในเมนูนี้ เลือกตัวเลือกการบูตปกติ และรอให้อุปกรณ์บูตในโหมดปกติ

ในบางกรณี การถอดแบตเตอรี่ออกจะช่วยออกจากโหมดการแก้ไขข้อบกพร่อง หากถอดออกได้แน่นอน

บางครั้งผู้ใช้ต้องจัดการกับการโหลดในโหมด fastboot หลังจากที่รับอุปกรณ์จากศูนย์บริการแล้ว ซึ่งมักจะเกิดขึ้นหลังจากนั้น สาเหตุที่เป็นไปได้คือฟังก์ชั่นโหมด fastboot ถูกเปิดใช้งานทิ้งไว้ในการตั้งค่า หากเป็นกรณีนี้ ให้ปิดใช้งานโหมด Fasboot ไปที่การตั้งค่า จากนั้นในส่วน "จอแสดงผล" หรือ "การเข้าถึง" ให้ค้นหารายการ "Fast boot" แล้วยกเลิกการเลือก

จะออกจากโหมด Fastboot โดยใช้คอมพิวเตอร์ได้อย่างไร ติดตั้งแอปพลิเคชันบนพีซีของคุณ เชื่อมต่อโทรศัพท์ของคุณเข้ากับคอมพิวเตอร์ เปิดใช้งานการแก้ไขจุดบกพร่อง USB เรียกใช้บรรทัดคำสั่งในฐานะผู้ดูแลระบบ และเรียกใช้คำสั่ง รีบูตอย่างรวดเร็ว- นี่เป็นวิธีง่ายๆ แต่มีประสิทธิภาพมากในการปิดการใช้งาน fastboot

หากวิธีนี้ไม่สามารถแก้ปัญหาได้ ให้รีเซ็ตอุปกรณ์เป็นการตั้งค่าจากโรงงาน หลังจากคัดลอกข้อมูลสำคัญทั้งหมดแล้ว ให้ถอดซิมการ์ดและการ์ดหน่วยความจำออกจากโทรศัพท์ บูตเข้าสู่โหมดการกู้คืน ค้นหาตัวเลือกในเมนู ล้างข้อมูล / ตั้งค่าตามโรงงานและทำการย้อนกลับโดยใช้มัน

นอกจากนี้ คุณยังสามารถล้างเนื้อหาที่เก็บข้อมูลได้โดยการเลือกตัวเลือก เช็ดพาร์ทิชันแคช.

วิธีทำให้โทรศัพท์ของคุณเข้าสู่โหมด Fastboot

โหมด Fastboot เป็นโหมดบริการที่คุณมักจะต้องใช้หากคุณต้องการเปลี่ยนการกำหนดค่าอุปกรณ์ผ่านพีซีเช่นติดตั้งเฟิร์มแวร์ที่ดัดแปลงหรือรับสิทธิ์รูทโดยไม่ต้องใช้โปรแกรมบุคคลที่สาม การบูตในโหมดเร็วอาจจำเป็นเพื่อให้สามารถเข้าถึงโฟลเดอร์ระบบ Android ได้อย่างสมบูรณ์และกู้คืนระบบปฏิบัติการ (เป็นทางเลือกแทนเครื่องมือโหมดการกู้คืน)

วิธีการเข้าสู่โหมด Fastboot อาจแตกต่างกันไปตามอุปกรณ์ ในสมาร์ทโฟน Asus คุณต้องกดปุ่มเปิดปิดและเพิ่มระดับเสียงค้างไว้ใน Nexus และ HTC - ปุ่มเปิดปิดและลดระดับเสียงใน Sony โหมด fastboot จะโหลดหากคุณกดปุ่มเพิ่มระดับเสียงค้างไว้และเชื่อมต่ออุปกรณ์กับ พีซีผ่าน USB

แต่ยังมีวิธีโหลดเข้าสู่ fastboot ที่เป็นสากลซึ่งทำงานเท่าเทียมกันบนอุปกรณ์มือถือ Android ทั้งหมด ดาวน์โหลดและติดตั้งโปรแกรมบนคอมพิวเตอร์ของคุณ Adb รัน- จากนั้นเปิดใช้งานการแก้ไขข้อบกพร่อง USB ในการตั้งค่าโทรศัพท์เชื่อมต่ออุปกรณ์กับพีซีและเมื่อเปิดตัว Adb Run ให้เลือกจากเมนู รีบูต - รีบูต Bootloader.

แกดเจ็ตจะรีบูตในโหมด Fastboot

ตัวเลือกของบรรณาธิการ

โหมด Fastboot ใน Android: เราทำ [การจัดการกับอุปกรณ์] ในระดับระบบ

บางครั้งผู้ใช้โทรศัพท์หรือแท็บเล็ต Android พบกับโหมด Fastboot โดยไม่เข้าใจว่ามันคืออะไร

เมื่อพวกเขาเปิดอุปกรณ์ พวกเขาจะเห็นหน้าจอที่มีภาพเคลื่อนไหวและรายการข้อมูลบางส่วนซึ่งชวนให้นึกถึงความล้มเหลวของระบบมากกว่า

โดยปกติ, การรีบูตเครื่องเป็นประจำไม่สามารถแก้ปัญหานี้ได้และเป็นการดีกว่าที่จะทำตามคำแนะนำทีละขั้นตอนแทนที่จะพยายามคิดออกด้วยตัวเอง ท้ายที่สุดแล้วมันเป็นหนึ่งในระบบและผู้ใช้ที่ไม่ชำนาญในเรื่องดังกล่าวอาจทำอันตรายต่ออุปกรณ์ของเขาเองโดยไม่ได้ตั้งใจ

ต่อจากนั้นคุณจะต้องติดต่อใช้บริการทำให้เสียเวลาและเงิน แต่สิ่งนี้สามารถหลีกเลี่ยงได้ง่ายหากคุณเข้าใจปัญหาโดยไม่ต้องรีบร้อนโดยไม่จำเป็น

ด้านล่างนี้คุณจะพบรายละเอียดว่ามันคืออะไร เหตุใดกระบวนการจึงเกิดขึ้น และควรดำเนินการอย่างไรเมื่อปรากฏขึ้น

สารบัญ:

มันคืออะไร

ในระบบปฏิบัติการ Android ให้การเข้าถึงสมาร์ทโฟนหรือแท็บเล็ตอย่างเต็มรูปแบบเพื่อควบคุมผ่านคอมพิวเตอร์ วิธีนี้ช่วยให้:

  • ติดตั้งแอพพลิเคชั่น
  • กำหนดค่าพารามิเตอร์ต่างๆ
  • แฟลชอุปกรณ์;
  • กระจายสิทธิ์การเข้าถึง

Fastboot ไม่ได้เป็นส่วนหนึ่งของระบบปฏิบัติการเฉพาะระบบเดียว แต่มักจะพบได้ในสภาพแวดล้อม Android SDK เพราะหากไม่มีมันจะไม่สามารถสร้างการสื่อสารระหว่างพีซีและอุปกรณ์ได้อย่างสมบูรณ์

ในกรณีนี้เราหมายถึงการถ่ายโอนข้อมูลที่ยากคือการตั้งค่าอุปกรณ์

เป็นที่น่าสังเกตว่ามันเริ่มต้นเร็วกว่าระบบปฏิบัติการเอง สิ่งนี้ชี้ให้เห็นว่าโหมดนี้สามารถใช้งานได้แม้ว่าจะยังไม่ได้ติดตั้งในอุปกรณ์ของคุณก็ตาม

ทำไมมันถึงเกิดขึ้น

การมีโหมดดังกล่าวมีประโยชน์มาก แต่จะทำอย่างไรเมื่อคุณไม่จำเป็นต้องกำหนดค่าสมาร์ทโฟนด้วยวิธีนี้ แต่จู่ๆ หน้าต่างก็ปรากฏขึ้น

เหตุผลในการปรากฏตัว อาจแตกต่างกัน:

  • ข้อผิดพลาดเมื่อกระพริบอุปกรณ์
  • การกดปุ่มโดยไม่ตั้งใจ – การเปิดสมาร์ทโฟนและเพิ่มระดับเสียงในเวลาเดียวกัน
  • การได้รับสิทธิ์ผู้ใช้รูท
  • ระบบล่ม.

ในกรณีเหล่านี้ ไอคอน Android จะปรากฏบนหน้าจออุปกรณ์ รวมถึงข้อมูลระบบสำหรับอุปกรณ์ของคุณ

ขั้นแรกหากเกิด Fastboot คุณควรตรวจสอบว่าไฟล์.

ปุ่มเพิ่มและลดระดับเสียงใช้งานได้ - โดยปุ่มแรกเราจะเลื่อนดูรายการต่างๆ ที่แสดงบนหน้าจอ และในปุ่มที่สองเราจะเลือก (เช่น การใช้ปุ่ม เข้าบนพีซี)

ดังนั้นเราจึงไปถึงจารึก "บูตปกติ"และเลือกด้วยปุ่มลดระดับเสียง

หากหลังจากนั้นสมาร์ทโฟนเปิดขึ้นอย่างเงียบ ๆ อย่างน้อยที่สุดก็แสดงว่าไม่มีปัญหาใด ๆ และความล้มเหลวของระบบก็ไม่ใช่สาเหตุเช่นกัน บางครั้งมันเกิดขึ้นเนื่องจากการเชื่อมต่อกับคอมพิวเตอร์

การซิงโครไนซ์เกิดขึ้น คุณดำเนินการที่จำเป็นทั้งหมด: ติดตั้งแอปพลิเคชันใหม่ อัปโหลดรูปภาพหรือดาวน์โหลดภาพยนตร์ จากนั้นเมื่อตัดการเชื่อมต่อจากพีซี คุณจะเห็นว่ามันไม่หายไป

เนื่องจากศูนย์บริการอาจไม่ได้ปิดใช้งานฟังก์ชันนี้ คุณสามารถจัดการกับสิ่งนี้ได้ด้วยตัวเอง:

  • หลังจากที่ Gadget โหลดตามปกติแล้วให้ไปที่มัน "การตั้งค่า";
  • จากนั้นเลือกแท็บ "หน้าจอ";
  • เมื่อพบรายการในนั้นแล้ว ให้ยกเลิกการเลือก

ดังนั้นโหมด fastboot จะถูกปิดใช้งานและเมื่อเปิดใช้งานจะไม่รบกวนผู้ใช้อีกต่อไป

จะทำอย่างไรในกรณีที่ระบบล้มเหลว

ถ้าจะเปลี่ยนไป. "บูตปกติ"ถูกบล็อกหรือแย่กว่านั้นคือมีเพียงข้อความเดียวเท่านั้นที่ปรากฏบนหน้าจอ "โหมดประมวลผลไว"และไม่มีบทสรุปของพารามิเตอร์ด้วยเหตุผลบางอย่างระบบของ Gadget ล้มเหลวและมีสองตัวเลือกในการแก้ไขทุกอย่าง

ตัวเลือกที่ 1

คุณสามารถลองกู้คืนระบบและทำให้สมาร์ทโฟนกลับสู่สภาพการทำงานอีกครั้งได้ตลอดเวลา

สำคัญ! ในระหว่างการกู้คืน ข้อมูลทั้งหมดที่จัดเก็บไว้ในสมาร์ทโฟนจะถูกฟอร์แมต ดังนั้นจึงควรป้องกันตัวเองและถอดการ์ดหน่วยความจำออกก่อน

ขั้นแรก คุณต้องกดปุ่มเปิดปิดและเพิ่มระดับเสียงค้างไว้พร้อมกัน ในเมนูที่ปรากฏขึ้น ให้ค้นหารายการ – ล้างข้อมูล/รีเซ็ตเป็นค่าจากโรงงาน

จากนั้นเลือกและรอจนกว่าการตั้งค่าทั้งหมดจะย้อนกลับ กระบวนการนี้อาจใช้เวลาตั้งแต่หนึ่งถึงหลายนาที

แกดเจ็ตจะรีบูตและคุณจะสามารถใช้เพื่อวัตถุประสงค์ของคุณเองได้อีกครั้ง

แต่แอปพลิเคชันและบุ๊กมาร์กที่ติดตั้งในเบราว์เซอร์จะต้องได้รับการกู้คืนอีกครั้งเนื่องจากขั้นตอนดังกล่าวจะกลับสู่การตั้งค่าจากโรงงาน

ตัวเลือกที่ 2

คุณควรใช้ตัวเลือกนี้เป็นทางเลือกสุดท้ายเมื่อวิธีที่อธิบายไว้ข้างต้นไม่ได้ผลอย่างแน่นอน

หากโหมดที่ปรากฏขึ้นเมื่อคุณเปิดเครื่องไม่มีพารามิเตอร์หากการรีบูตอุปกรณ์ไม่ได้ทำอะไรเลยและคุณไม่สามารถเรียกมันได้คุณต้องทำสิ่งต่อไปนี้:

  • ถอดแบตเตอรี่ออก
  • ใส่กลับเข้าไป;
  • กดปุ่มเปิด/ปิดค้างไว้อย่างน้อย 30 วินาที

การกลับมาของโหมด Fastboot จะทำให้ชัดเจนว่าถึงเวลาที่ต้องดำเนินการที่รุนแรงยิ่งขึ้น

คุณจะต้องรีบูทอุปกรณ์แต่ผ่านคอมพิวเตอร์

บันทึก!หากต้องการทำงานกับสมาร์ทโฟนที่ระบบขัดข้อง คุณจะต้องมีไดรเวอร์ที่เหมาะสม

ไม่ยากขนาดนั้น

เพียงใช้เครื่องมือค้นหาและจากไซต์ที่แนะนำหลายชุดที่เสนอให้ดาวน์โหลด "ฟืน" ให้ลองเลือกไซต์ที่เป็นทางการเพื่อกำจัดเหตุการณ์ไม่พึงประสงค์ที่เกี่ยวข้องกับการแนะนำของไวรัส ฯลฯ

1 แตกไฟล์ดาวน์โหลด "ฟืน";

2 ข้อมูลจากไฟล์เก็บถาวร ใส่ไว้ในโฟลเดอร์;

3 หลังจากนั้น เชื่อมต่ออุปกรณ์กับพีซีผ่านสาย USB;

4 คุณจะต้องใช้เวลารอคอย ในขณะที่คอมพิวเตอร์จดจำสมาร์ทโฟนได้หลังจากนั้นเขาจะเสนอให้ติดตั้งไดรเวอร์เพื่อเริ่มทำงานกับอุปกรณ์

5 เนื่องจากเราได้ดาวน์โหลดไว้ล่วงหน้าแล้ว เลือก “ติดตั้งจากตำแหน่งที่ระบุ”;

6 เลือกโฟลเดอร์ที่คุณวางไว้แล้วคลิก เข้า.

หลังจากติดตั้งไดรเวอร์สำเร็จแล้ว เรามาทำงานกับอุปกรณ์ผ่านทางบรรทัดคำสั่งกันดีกว่า.

  • ไปที่เมนู "เริ่ม";
  • ในบรรทัดการดำเนินการที่เราเขียน "คำสั่ง";

วิธีนี้ซึ่งรวมถึงการใช้พีซี มีประสิทธิภาพมากที่สุด- แต่ก็ยังควรหันไปใช้เมื่อการดำเนินการกู้คืนที่เล็กลงและง่ายกว่าอาจจะไม่ได้ผล

วิธีเข้าสู่การตั้งค่า

หากจำเป็น ทุกอย่างจะขึ้นอยู่กับรุ่นของสมาร์ทโฟนที่คุณใช้เท่านั้น

แต่ถึงอย่างนี้คุณจะต้องมีคอมพิวเตอร์และ อย่าลืมปิดอุปกรณ์ก่อนที่จะเริ่ม

หลังจากใช้งานโหมดนี้แล้ว เพื่อไม่ให้รบกวนคุณเป็นประจำ ควรปิดการใช้งานอีกครั้งในการตั้งค่า

ต้องการแฟลช Android โดยใช้ FastBoot แต่ไม่รู้ทำอย่างไร บทความนี้ให้คำแนะนำโดยละเอียดเกี่ยวกับการใช้ยูทิลิตี้ FastBoot และวิธีใช้เพื่อแฟลชอุปกรณ์ Android

คู่มือนี้จะอธิบายวิธีใช้ FastBoot อย่างครบถ้วน! หากคุณไม่ทราบวิธีติดตั้งการอัปเดตที่เก็บถาวรคุณต้องมีบทความ - Clockwordmod - มันคืออะไร คำแนะนำสำหรับการกู้คืน CWM พร้อมรูปภาพ

การดาวน์โหลดและติดตั้ง FastBoot

ก่อนที่จะแฟลช Android โดยใช้ FastBoot คุณต้องดาวน์โหลดและติดตั้งลงในคอมพิวเตอร์ที่ต้องการ

1. คุณสามารถดาวน์โหลดยูทิลิตี้ FastBoot ได้ด้วยโปรแกรม Android SDK อย่างเป็นทางการ (หนัก)

ทำไม ADB RUN ถึงดีกว่า

ปล่อย

หากคุณดาวน์โหลด Fastboot แยกต่างหาก

หลังจากที่คุณดาวน์โหลดและติดตั้ง FastBoot แล้ว ให้เปิด " บรรทัดคำสั่ง »

และ vve ป้อนคำสั่งเพื่อไปยังโฟลเดอร์ด้วยยูทิลิตี้ Fastboot (หากคุณติดตั้ง FastBoot แยกกัน)

ซีดี/
ซีดี adb

หากคุณดาวน์โหลด ADB RUN

หากคุณเลือกโปรแกรม ADB RUN ให้เปิดใช้งานและเลือก Manual -> ADB จากเมนู

ไฟล์ที่ต้องแฟลชจะต้องอยู่ในโฟลเดอร์เดียวกันกับยูทิลิตี้ Fastboot

คำแนะนำสำหรับคำสั่งเกี่ยวกับวิธีการแฟลช Android โดยใช้ FastBoot

การเขียนคำสั่งและไฟล์เฟิร์มแวร์ตามที่ระบุไว้เป็นสิ่งสำคัญมาก!

หากคำสั่งของคุณถูกกำหนดไว้

แคชแฟลช fastboot NazvaniAFiLe.img

จากนั้นคุณต้องเขียนแบบนั้นทุกประการ แต่ไม่ใช่วิธีอื่น กล่าวอีกนัยหนึ่ง กรณีของตัวอักษรมีความสำคัญ ไม่เช่นนั้นคุณจะได้รับข้อผิดพลาด ไม่สามารถโหลด 'รูปภาพ' - ไม่มีไฟล์ดังกล่าว

รีบูตคำสั่งเข้าสู่โหมดเฟิร์มแวร์ (bootloader)

fastboot รีบูต-bootloader

คำสั่ง "เห็น" พีซี Android ของคุณ

สร้างนิสัยในการตรวจสอบก่อนที่จะทำอะไรใน Fastboot หากการเชื่อมต่อระหว่างคอมพิวเตอร์และ Android ของคุณคือ:

ตรวจสอบว่าพีซีของคุณสามารถดู Android ของคุณหรือไม่

อุปกรณ์ fastboot

ดำเนินการคำสั่งนี้เมื่ออุปกรณ์อยู่ในโหมดเฟิร์มแวร์อยู่แล้ว (bootloader)

คำสั่งปลดล็อคและล็อค Nexus Bootloader

ปลดล็อค bootloader สำหรับ Nexus

ปลดล็อค fastboot oem

ล็อค bootloader สำหรับ Nexus

ล็อค fastboot oem

คำสั่งเพื่อค้นหาเวอร์ชันของ bootloader

แสดงหมายเลขเวอร์ชันของ bootloader ที่ติดตั้งบน Android

fastboot getvar เวอร์ชัน-bootloader

คำสั่งการจัดรูปแบบพาร์ติชัน

ก่อนที่จะแฟลชพาร์ติชั่นใด ๆ ใน Android คุณต้องฟอร์แมตพาร์ติชั่นก่อนเพื่อที่จะไม่มีปัญหาในการใช้งาน

fastboot ลบ Imya_razdela - ลบพาร์ติชั่น: บูต, วิทยุ, การกู้คืน, ระบบ, ข้อมูลผู้ใช้และอื่น ๆ

ลบพาร์ติชันแคช

fastboot ลบแคช

ลบส่วนข้อมูล

fastboot ลบข้อมูลผู้ใช้

ลบพาร์ติชันระบบ

ระบบลบ fastboot

ลบพาร์ติชันการกู้คืน

การกู้คืนการลบ fastboot

คำสั่งสำหรับการแฟลชพาร์ติชัน

หลังจากที่คุณฟอร์แมตพาร์ติชันแล้ว คุณสามารถเริ่มแฟลชเฟิร์มแวร์ได้

แฟลช fastboot Imya_razdela imya_file.img - เฟิร์มแวร์ของพาร์ติชันที่เลือก: บูต, วิทยุ, การกู้คืน, ระบบ, ข้อมูลผู้ใช้และอื่น ๆ

แฟลชพาร์ติชันระบบ (ระบบ)

ระบบแฟลช fastboot imya.img

แฟลชพาร์ติชันแคช

แคชแฟลช fastboot imya.img

แฟลชส่วนข้อมูล

fastboot แฟลชข้อมูลผู้ใช้ imya.img

แฟลชพาร์ติชันการกู้คืน

การกู้คืนแฟลช fastboot imya.img

การตั้งค่าภาพเคลื่อนไหวในการเปิดเครื่อง (พาร์ติชันเฟิร์มแวร์พร้อมภาพเคลื่อนไหว)

แฟลช fastboot Splash1 Splash.img

แฟลชพาร์ติชั่นทั้งหมด (บูต กู้คืน และระบบ)

fastboot flashall

แทน imya.img- คุณต้องป้อนชื่อไฟล์ที่คุณต้องการแฟลช

คำสั่งให้ติดตั้ง update.zip

กะพริบไฟล์อัปเดตบน Android ในรูปแบบ update.zip หรือไฟล์ ZIP พร้อมรูปภาพ IMG ของส่วนต่างๆ

ชื่อไฟล์อัพเดต fastboot.zip

สำหรับอุปกรณ์โซนี่

กำลังตรวจสอบการเชื่อมต่อของอุปกรณ์ Sony หากคำตอบคืออุปกรณ์ 0.3 แสดงว่าเชื่อมต่อแล้ว

fastboot.exe -i 0x0fce เวอร์ชัน getvar

ปลดล็อคโปรแกรมโหลดบูต

fastboot.exe -i 0x0fce oem ปลดล็อค 0xReceived_Key

ข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับการปลดล็อค Bootloader Sony - วิธีปลดล็อค Bootloader Sony

กำลังรอข้อผิดพลาดของอุปกรณ์

หากคุณมีข้อความต่อไปนี้ในหน้าต่างคำสั่งเป็นเวลานาน: กำลังรออุปกรณ์- วิธี:

  • ไม่ได้ติดตั้งไดรเวอร์หรือติดตั้งไม่ถูกต้อง - ติดตั้งใหม่หรือติดตั้ง
  • อุปกรณ์ Android ไม่ได้อยู่ในโหมด Bootloader - แปล
  • การเชื่อมต่อกับพอร์ต USB ไม่ถูกต้อง - ใช้พอร์ต USB 2.0 ด้านหลังของคอมพิวเตอร์ อย่าใช้ฮับ USB

แบ่งปัน