Có rất nhiều thảo luận về các phân vùng Android có thể được tìm thấy với Google. Đôi khi tôi có thể tìm thấy các tài liệu tham khảo về GPT trong tài liệu cho bộ xử lý di động hoặc trên Nhà phát triển XDA (nơi tôi đã biết rằng một số thiết bị nhất định sử dụng GPT làm sơ đồ của chúng). Bên cạnh đó, không có nhiều thảo luận về những gì thiết bị Android sử dụng để lưu trữ thông tin phân vùng. Có một số trường hợp ngoại lệ: Tôi biết một số thiết bị sử dụng phương pháp dựa trên dòng lệnh của hệ thống con MTD, giống như một số thiết bị trước đây của HTC và tôi biết rằng các thiết bị Qualcomm dường như sử dụng Bảng phân vùng GUID.
Nếu các phân vùng của thiết bị được đại diện bởi các nút thiết bị bắt đầu bằng mtd
hoặc mtdblock
, thì Linux sẽ nhận thông tin phân vùng từ các đối số khởi động. Nếu các phân vùng được đại diện bởi các nút thiết bị bắt đầu bằng mmcblk
, thì sơ đồ phân vùng không rõ ràng. Nó có thể đang sử dụng Bảng phân vùng GUID, nhưng vấn đề là bảng sẽ phải bắt đầu ở khu vực đầu tiên, cũng là nơi tất cả các bộ tải khởi động giai đoạn đầu tiên nằm trong kinh nghiệm của tôi.
Giống như thông tin phân vùng trên các thiết bị có nút bắt đầu phân vùng mtd
có thể được tìm thấy trong /proc/mtd
, trên các thiết bị có nút thiết bị bắt đầu mmcblk
, thông tin tương tự có thể (thường) có thể được tìm thấy tại /proc/emmc
. Tại sao eMMC, một loại thiết bị lưu trữ, được coi như một giải pháp thay thế cho MTD, là giao diện để truy cập bộ lưu trữ flash, tôi không biết. Nhưng này trang trên GitHub dường như ngụ ý rằng các thông tin phân vùng cho các thiết bị /proc/emmc
không được thu thập một bảng như GPT.
Cùng một trang đó dường như cũng nói rằng các hạt nhân được khởi động bởi U-Boot phơi bày các phân vùng theo một cách khác so với MTD hoặc GPT. Đây là đoạn văn:
Since MTK devices use the uboot mechanism, partitions including boot and recovery, are not revealed as separate partitions, but rather accessed sequencially by size and start parameters.
Câu đó được trả lại vô nghĩa với tôi bởi một chút về truy cập tuần tự. Có lẽ ai đó có thể giải thích nó tốt hơn.
Vậy GPT trên thiết bị Android phổ biến như thế nào? Tôi chưa thấy bất kỳ tài liệu tham khảo nào về phân vùng trên trang web của nhà phát triển Android. Nếu bộ tải khởi động thực sự được lưu trữ sau bảng phân vùng, thì điều đó có nghĩa là các chip có nhận biết GPT không?
fdisk -l /dev/block/mmcblk0
. BTW, chủ đề này có thể hữu ích: Tham khảo bảng phân vùng El Grande