fdisk -l
ทำงานหากคุณส่งชื่ออุปกรณ์ดิสก์ทั้งหมดอย่างชัดเจน (เช่นfdisk -l /dev/block/mmcblk1
); สิ่งที่ใช้งานไม่ได้คือการค้นพบอุปกรณ์บล็อกโดยอัตโนมัติ (เห็นได้ชัดว่า Android วางไฟล์บล็อกอุปกรณ์ไว้ใต้/dev/block
ไดเรกทอรี แต่fdisk
คาดว่าจะเห็นไฟล์เหล่านั้นโดยตรง/dev
) ดังนั้นทางเลือกหนึ่งคือการรวบรวมรายชื่อของอุปกรณ์ทั้งดิสก์ (คน/dev/block/mmcblk0
, /dev/block/mmcblk1
, ... ) และดูที่ตารางพาร์ทิชันของตนโดยใช้ อุปกรณ์ดิสก์ทั้งหมดเหล่านี้มีการระบุไว้ก่อนหน้าพาร์ติชันที่สอดคล้องกันfdisk -l <device>
/proc/partitions
blkid
ยูทิลิตี้ไม่ได้ดูตารางพาร์ทิชันที่ทั้งหมด - เปิดอุปกรณ์ป้องกันทุกคนที่รู้จักโดยระบบและตรวจสอบชนิดของระบบแฟ้มจากข้อมูลที่เกิดขึ้นจริงบนอุปกรณ์เหล่านั้น ดังนั้นจึงblkid
จะไม่แสดงข้อมูลที่ถูกต้องสำหรับพาร์ทิชัน swap mkswap
จนกว่าพาร์ทิชันที่ถูกเตรียมโดย ซึ่งหมายความว่าblkid
ไม่มีประโยชน์สำหรับงานปัจจุบันของคุณ (การค้นหาพาร์ติชันที่ควรส่งผ่านไปmkswap
)
mount
มักจะแสดงอุปกรณ์ภายใต้/dev/block/vold
ซึ่งตั้งชื่อตามหมายเลขหลักและรอง ในการรับชื่ออุปกรณ์ตามปกติคุณสามารถค้นหา/proc/partitions
เพื่อค้นหาแถวที่มีหมายเลขเดียวกันในสองคอลัมน์แรก จากนั้นคุณสามารถนำชิ้นส่วนออกจากส่วนท้ายของชื่ออุปกรณ์เพิ่มเมื่อเริ่มต้นและส่งชื่อผลลัพธ์ไปยังเพื่อดูตารางพาร์ติชันของอุปกรณ์ที่เกี่ยวข้องp<number>
/dev/block/
fdisk -l
ระวังว่าถ้าคุณดูfdisk -l
เอาต์พุตสำหรับแฟลช eMMC ภายในคุณอาจพบพาร์ติชันที่มีประเภทแปลก ๆ มากมายโดยเฉพาะบนอุปกรณ์ที่ใช้ Qualcomm เช่นดูตารางพาร์ติชันสำหรับ Samsung Galaxy W (GT-I8150):
# fdisk -lu /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 3959 MB, 3959422976 bytes
1 heads, 16 sectors/track, 483328 cylinders, total 7733248 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 212991 106495+ c Win95 FAT32 (LBA)
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 * 212992 213991 500 4d Unknown
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 213992 221183 3596 46 Unknown
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 221184 7733247 3756032 5 Extended
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 229376 239615 5120 47 Unknown
/dev/block/mmcblk0p6 245760 285759 20000 49 Unknown
/dev/block/mmcblk0p7 286720 292863 3072 58 Unknown
/dev/block/mmcblk0p8 294912 306175 5632 48 Unknown
/dev/block/mmcblk0p9 311296 324271 6488 50 Unknown
/dev/block/mmcblk0p10 327680 333823 3072 4a Unknown
/dev/block/mmcblk0p11 335872 342015 3072 4b Unknown
/dev/block/mmcblk0p12 344064 360447 8192 90 Unknown
/dev/block/mmcblk0p13 360448 375807 7680 91 Unknown
/dev/block/mmcblk0p14 376832 387071 5120 92 Unknown
/dev/block/mmcblk0p15 393216 1488895 547840 93 Unknown
/dev/block/mmcblk0p16 1490944 1613823 61440 94 Unknown
/dev/block/mmcblk0p17 1613824 3887103 1136640 95 Unknown
/dev/block/mmcblk0p18 3891200 3993599 51200 96 Unknown
/dev/block/mmcblk0p19 3997696 3998695 500 97 Unknown
/dev/block/mmcblk0p20 4005888 4013079 3596 98 Unknown
/dev/block/mmcblk0p21 4014080 4024319 5120 99 Unknown
/dev/block/mmcblk0p22 4030464 4070463 20000 9a Unknown
/dev/block/mmcblk0p23 4071424 4081663 5120 9b Unknown
/dev/block/mmcblk0p24 4087808 4101807 7000 9c Unknown
/dev/block/mmcblk0p25 4104192 4114431 5120 9d Unknown
/dev/block/mmcblk0p26 4120576 4130815 5120 9e Unknown
/dev/block/mmcblk0p27 4136960 4147199 5120 9f BSD/OS
/dev/block/mmcblk0p28 4153344 7733247 1789952 a0 Thinkpad hibernation
รหัสประเภทของพาร์ติชันนั้นมีความผิดพลาดที่อันตรายเนื่องจาก/dev/block/mmcblk0p1
มีการประกาศว่าWin95 FAT32 (LBA)
จริง ๆ แล้วมีข้อมูลระบบบางส่วน (รวมถึงตำแหน่งและ MD5 แฮชของส่วน ROM ต่างๆ) อย่างไรก็ตาม/dev/block/mmcblk0p28
ซึ่งเป็นรูปแบบ FAT16“ การจัดเก็บข้อมูลภายใน” มีรูปแบบที่ดูปลอมอย่างสมบูรณ์ ในกรณีนี้ผู้ผลิตไม่ได้ใช้0x82
รหัสประเภทการสลับ (Linux สลับ) เพื่อวัตถุประสงค์ของตนเอง แต่ฉันไม่แน่ใจว่าการชนดังกล่าวไม่เคยเกิดขึ้นดังนั้นคุณไม่ควรลองใช้พาร์ติชันใด ๆ ขนาดอุปกรณ์และการจัดวางพาร์ติชั่นเป็นสิ่งที่คุณคาดว่าจะเห็นในการ์ด SD ของคุณ
/proc/mtd
ไม่เคยมีประโยชน์สำหรับการหาพาร์ติชัน swap บนการ์ด SD (ไดรเวอร์ MTD ถูกใช้เพื่อเข้าถึงชิปแฟลชดิบที่แนบมาโดยตรงพวกเขาไม่สามารถทำงานกับการ์ด SD ภายนอกได้)
/proc/swaps
บ้างไหม?