Googleで見つけることができるAndroidパーティションの話はたくさんあります。モバイルプロセッサのドキュメントまたはXDA開発者(特定のデバイスがGPTをスキームとして使用していることを知った)で、GPTへの参照を見つけることがある。それ以外に、パーティション情報の保存にAndroidデバイスが何を使用するかについてはあまり議論されていません。例外があります。一部のデバイスは、MTDサブシステムのコマンドラインベースの方法を使用しています。たとえば、HTCの以前のデバイスの一部と同様です。また、QualcommデバイスはGUIDパーティションテーブルを使用しているようです。
デバイスのパーティションがmtd
またはmtdblock
で始まるデバイスノードで表されている場合、Linuxはブート引数からパーティション情報を受け取ります。パーティションがで始まるデバイスノードで表されている場合、パーティションmmcblk
構成はあいまいです。それはGUIDパーティションテーブルを使用している可能性がありますが、問題はテーブルが最初のセクターから開始する必要があるということです。これも私の経験ではすべての第1段階のブートローダーが存在する場所です。
単にパーティションのノードで始まるデバイス上のパーティション情報などmtd
に見出すことができる/proc/mtd
デバイスノードで始まるデバイスに、mmcblk
同一の情報が(通常)に見出すことができます/proc/emmc
。ストレージデバイスの一種であるeMMCが、フラッシュストレージにアクセスするためのインターフェイスであるMTDの代替として扱われる理由は、私にはわかりません。しかし、GitHubのこのページ/proc/emmc
は、デバイスのパーティション情報がGPTのようなテーブルに収集されていないことを示唆しているようです。
同じページは、U-BootによってブートされたカーネルがMTDやGPTとは異なる方法でパーティションを公開することも言っているようです。ここに一節があります:
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.
この文は、シーケンシャルアクセスについて少し理解しても意味がありません。おそらく誰かがそれをよりよく説明できるでしょう。
では、AndroidデバイスのGPTはどのくらい一般的ですか?私は、Android開発者のWebサイトでパーティション分割についての言及を見たことはありません。ブートローダーが実際にパーティションテーブルの後に格納されている場合、それはチップがGPT対応であることを意味しますか?
fdisk -l /dev/block/mmcblk0
ます。ところで、このスレッドは役に立ちます:El Grande Partition Table Reference