คุณสามารถแก้ไขปัญหานี้ด้วยความช่วยเหลือของรากและจำลอง terminal (เช่นAndroid Emulator สถานี (หรือหรือใช้adb shell). ไบนารีที่จะทำผลงานที่เรียกว่าfsckและมักจะตั้งอยู่ทั้งใน/system/xbinหรือ/system/bin. บางครั้งคุณจำเป็นต้องมีพิเศษแตกต่างจากมัน ซึ่งอาจจะเรียกว่าfsck.exfatหรือไม่ชอบดังนั้นก่อนอื่นเรามาตรวจสอบให้แน่ใจว่าเราหาไบนารี่ที่ถูกต้อง:
cd /system/xbin
ls fsc*
/system/binถ้าไม่ได้พบกับการทำซ้ำ ฉันจะถือว่าที่นี่มันถูกพบในสถานที่แรกและถูกเรียกเพียงfsck(ปรับดังต่อไปนี้ตามลำดับหากไม่ได้เป็นกรณี)
ดังที่fsckมาจาก "Linux core" เราสามารถศึกษาman pageของมันสำหรับไวยากรณ์ แม้ว่าอาจมีบางตัวเลือกที่ไม่ทำงานบน Android แต่ตัวเลือกพื้นฐานที่สุดควรจะเป็น ดูหน้า man ที่เชื่อมโยงเพื่อดูรายละเอียด (หรือเรียกใช้ Linux VM และใช้man fsckในกรณีที่หน้าหายไป) - ฉันจะยึดติดกับพื้นฐานที่นี่:
ก่อนอื่นเราต้องหาอุปกรณ์ที่ SD card ของคุณผูกไว้ หากติดตั้งแล้วmountคำสั่งจะช่วยเรา:
mount
เพียงแค่นั้น: ตรวจสอบผลลัพธ์และดูว่าการ์ด SD ของคุณอยู่ที่ใด ปกติแล้วนี่จะเป็นสิ่งที่ใช้voldแต่ก็แตกต่างกันระหว่างอุปกรณ์ การส่งออกอาจรวมถึงสิ่งที่ต้องการ/dev/block/vold/179:17 on /mnt/storage/sdcard- ในกรณีที่ส่วนแรกของคำพูดของฉันเป็นอุปกรณ์ของเรา ในการซ่อมแซม "ไดรฟ์" คุณต้องยกเลิกการต่อเชื่อมก่อน สิ่งนี้สามารถทำได้ผ่านเมนูการตั้งค่าหรือในขณะที่เราอยู่ในเทอร์มินัลโดยการออก
umount /dev/block/vold/179:17
ตอนนี้เราสามารถไปงานซ่อมได้ ไวยากรณ์พื้นฐานคือ:
fsck [options] [-t fstype] <filesystem> [fsoptions]
ดังนั้นก่อนอื่นเราลองใช้วิธีที่ง่ายที่สุดและหวังว่าจะสรุปfsckทุกสิ่ง:
fsck -C -r /dev/block/vold/179:17
ซึ่งโดยทั่วไปหมายถึง: แสดงความคืบหน้า (-C) และมักจะขอให้ผู้ใช้ซ่อมแซม (-r) /dev/block/vold/179:17ข้อผิดพลาดใด หากวิธีนี้ใช้ไม่ได้ผลให้ตรวจสอบกับหน้า man ที่เชื่อมโยงเพื่อดูตัวเลือกเพิ่มเติม
suและการเรียกใช้/system/bin/fsck.exfat?