GNU/Linux >> Linux の 問題 >  >> Linux

Android - SD カードのスワップ パーティションのパス名を見つける方法は?

ディスク情報アプリをインストールし、オプションでエキスパート モードを有効にしました およびマウントされていないパーティション . 「スワップ」とは書かれていませんが、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 カードでは動作しません)。


Linux
  1. カードがインフラストラクチャモードをサポートしているかどうかを確認するにはどうすればよいですか?

  2. Linuxでスワップパーティションを管理する方法

  3. CentOS / RHEL :スワップ パーティションに使用するデバイスの優先順位を付ける方法

  1. Linux で「find」の結果を mv にパイプする方法

  2. デフォルトのファイルマネージャを見つける方法は?

  3. Linux スワップ パーティションを有効にするにはどうすればよいですか?

  1. / パーティションのすべてのスペースを使い果たしているものを見つけるにはどうすればよいですか?

  2. Linuxでマウントされていないパーティションのサイズを見つける方法は?

  3. ファイルシステムの UUID を見つける方法