fdisk -l
hoạt động nếu bạn vượt qua toàn bộ tên thiết bị đĩa (ví dụ fdisk -l /dev/block/mmcblk1
:); những gì không hoạt động là tự động phát hiện các thiết bị khối (rõ ràng vì Android đặt các tệp thiết bị trong /dev/block
thư mục, nhưng fdisk
hy vọng sẽ thấy các tệp đó trực tiếp trong /dev
). Do đó, một tùy chọn là thu thập danh sách toàn bộ thiết bị đĩa ( /dev/block/mmcblk0
,, /dev/block/mmcblk1
) và xem xét các bảng phân vùng của chúng bằng cách sử dụng . Các thiết bị toàn bộ đĩa được liệt kê trước các phân vùng tương ứng.fdisk -l <device>
/proc/partitions
Các blkid
tiện ích không nhìn vào bảng phân vùng ở tất cả - nó sẽ mở ra tất cả các thiết bị khối được biết đến với hệ thống và phát hiện các loại hệ thống tập tin từ các dữ liệu thực tế trên các thiết bị; do đó blkid
sẽ không hiển thị thông tin chính xác cho phân vùng trao đổi cho đến khi phân vùng đó được khởi tạo bởi mkswap
. Điều này có nghĩa blkid
là vô ích đối với nhiệm vụ hiện tại của bạn (tìm phân vùng nào sẽ được chuyển đến mkswap
).
mount
thường hiển thị các thiết bị bên dưới /dev/block/vold
, được đặt tên theo số chính và số phụ của chúng. Để có được tên thiết bị thông thường, bạn có thể nhìn vào /proc/partitions
để tìm một hàng chứa các số giống nhau trong hai cột đầu tiên. Sau đó, bạn có thể xóa phần này khỏi phần cuối của tên thiết bị, thêm vào lúc bắt đầu và chuyển tên kết quả để xem bảng phân vùng của thiết bị tương ứng.p<number>
/dev/block/
fdisk -l
Xin lưu ý rằng nếu bạn nhìn vào fdisk -l
đầu ra cho đèn flash eMMC bên trong, bạn có thể tìm thấy rất nhiều phân vùng với các loại lạ, đặc biệt là trên các thiết bị dựa trên Qualcomm. Ví dụ: xem bảng phân vùng cho 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
Mã loại phân vùng thậm chí còn sai một cách nguy hiểm, bởi vì /dev/block/mmcblk0p1
, được khai báo Win95 FAT32 (LBA)
, thực sự chứa một số dữ liệu hệ thống (bao gồm cả vị trí và băm MD5 của các phần ROM khác nhau); tuy nhiên, /dev/block/mmcblk0p28
đó là bộ lưu trữ dữ liệu nội bộ có định dạng FAT16, có một loại trông hoàn toàn không có thật. Trong trường hợp này, nhà sản xuất đã không sử dụng lại 0x82
mã loại (trao đổi Linux) cho mục đích riêng của họ, nhưng tôi không chắc chắn rằng các xung đột đó không bao giờ xảy ra, vì vậy bạn không nên mù quáng sử dụng bất kỳ phân vùng nào trông giống như trao đổi - trước tiên hãy kiểm tra xem kích thước thiết bị và bố cục phân vùng là những gì bạn muốn thấy trên thẻ SD của mình.
/proc/mtd
không bao giờ hữu ích cho việc tìm phân vùng trao đổi trên thẻ SD (trình điều khiển MTD được sử dụng để truy cập các chip flash thô được gắn trực tiếp, chúng không thể hoạt động với thẻ SD bên ngoài).
/proc/swaps
?