ディスク情報アプリをインストールし、オプションでエキスパート モードを有効にしました およびマウントされていないパーティション . 「スワップ」とは書かれていませんが、SD カード上の唯一の他のパーティションであり、適切なサイズであることを明確に示しているため、/dev/block/mmcblk1p2
次のいずれかである必要があります:
Swapper 2 は /dev/block/mmcblk0p3
を使用するように構成されています
fdisk -l
ディスクデバイス名全体を明示的に渡すと機能します (例:fdisk -l /dev/block/mmcblk1
);機能しないのは、ブロック デバイスの自動検出です (明らかに、Android はブロック デバイス ファイルを /dev/block
の下に配置するためです)。 ディレクトリですが、fdisk
これらのファイルが /dev
で直接表示されることを期待しています )。したがって、1 つのオプションは、ディスク デバイス全体のリストを収集することです (/dev/block/mmcblk0
、 /dev/block/mmcblk1
、…) fdisk -l <device>
を使用してパーティション テーブルを確認します。 .これらのディスク デバイス全体は /proc/partitions
にリストされています 対応するパーティションの前。
blkid
ユーティリティはパーティション テーブルをまったく調べません。システムが認識しているすべてのブロック デバイスを開き、それらのデバイス上の実際のデータからファイル システムの種類を検出します。したがって、blkid
そのパーティションが mkswap
によって初期化されるまで、スワップ パーティションの正しい情報は表示されません。 .つまり、blkid
現在のタスクには役に立ちません(mkswap
に渡す必要があるパーティションを見つける ).
mount
通常、/dev/block/vold
未満のデバイスを表示します 、メジャー番号とマイナー番号に従って名前が付けられます。通常のデバイス名を取得するには、/proc/partitions
を調べます。 最初の 2 列に同じ数値を含む行を検索します。次に、 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)
、実際にはいくつかのシステムデータが含まれています(さまざまなROMパーツの場所とMD5ハッシュを含む);ただし、/dev/block/mmcblk0p28
は、FAT16 形式の「内部データ ストレージ」であり、完全に偽物に見えるタイプです。この場合、メーカーは 0x82
を再利用しませんでした (Linux スワップ) コードは独自の目的でタイプしますが、そのような衝突が決して発生しないかどうかはわかりません。そのため、swap のように見えるパーティションをやみくもに使用しようとするべきではありません。最初に、デバイスのサイズとパーティションのレイアウトが目的のものであることを確認してください。 SD カードに表示されることを期待してください。
/proc/mtd
SD カード上のスワップ パーティションを見つけるのには決して役に立ちません (MTD ドライバーは、直接接続された raw フラッシュ チップにアクセスするために使用され、外部 SD カードでは動作しません)。