Có phải hầu hết các thiết bị Android đều sử dụng GPT làm sơ đồ phân vùng của chúng?


9

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 mtdhoặ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 mtdcó 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/emmckhô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?


Theo tôi biết, hầu hết các thiết bị Android đều sử dụng GPT. Bạn có thể kiểm tra nó dễ dàng bằng cách 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
Gokul NC

@GokulNC Tôi đã thấy chủ đề đó. Đó là một trong những điều mà tôi đang nói đến. Mặc dù vậy, các thiết bị sử dụng hệ thống con MTD, dường như là một số lượng lớn điện thoại thông minh Android đầu tiên, tuy nhiên, không sử dụng bảng phân vùng. Trong những trường hợp đó, có thể có MBR được lưu trữ ở sector / khối bộ nhớ trong đầu tiên nếu ROM khởi động của SoC được thiết kế với ý nghĩ đó (ví dụ, bộ tải khởi động giai đoạn đầu trong các thiết bị dựa trên OMAP khởi động 512 byte ).
Melab

các bảng phân vùng phải nằm trong khu vực đầu tiên? có lẽ một SoC cũng có thể khởi động từ khu vực cuối cùng, như đọc khu vực ngược?
jiggunjer

Cũng liên quan đến MTD so với eMMC: MTD dành cho lưu trữ loại NAND thô, do đó sử dụng các trình điều khiển khác với NAND được quản lý như eMMC.
jiggunjer

Câu trả lời:


3

Nếu tôi không sai, GPT là khá phổ biến. Định dạng khá tiên tiến của nó hơn MBR. Trên Kitkat của tôi họ có 36 phân vùng. GPT có các tính năng như bảng phân vùng sao lưu và đặt tên / cờ, hỗ trợ đĩa lớn hơn MBR. (chỉnh sửa: Android 6.0 giới thiệu khả năng sử dụng phương tiện lưu trữ ngoài sử dụng GPT làm định dạng phân vùng mặc định.)

Thiết bị có thể hoặc có thể biết về GPT. Thông thường với MBR 512 byte đầu tiên được sử dụng cho bảng phân vùng. Khi chúng tôi sử dụng GPT, nó không lưu trữ bất kỳ dữ liệu nào trên khu vực thứ nhất. Thay vào đó đánh dấu vì nó bảo vệ MBR. Vì vậy, nếu thiết bị tìm MBR phàn nàn thì không có phân vùng.

Nếu bạn quan tâm đến tài liệu chuyên sâu:


Kính gửi Downvoter: lý do?
lakshmipathi

Đoạn thứ hai chứa một số lỗi.
iBug

Bạn có thể chỉ ra lỗi chính xác?
lakshmipathi

Hình như tôi đã sai (1 năm trước). Nó xuất hiện hợp lý với tôi bây giờ.
iBug
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.