SDカードのスワップパーティションのパス名を見つける方法は? -- linux フィールド と file-system フィールド と partitions フィールド と command-line フィールド と swap フィールド android 関連 問題

How to find the pathname of the swap partition on SD card?


9
vote

問題

日本語

real="nonofollownoreferrer">この< / A>警告、あなたは間違ったパーティションをスワップを有効にしないでください、またはあなたの電話を破壊することができます:

それ以上進む前にOK!前の電話機のパーティションレイアウトは、MMCBLCK0がSDCARD(外部)であるため、外部SDのMMCBLCK1を使用しています。これは、SWAPパーティションとしてMMCBLCK0を使用するようにプリセットされる可能性がある場合、この設定を使用すると、SBL2またはSBL3をスワップパーティションとして使用することができます。これはあなたの携帯電話と「未婚」ガイドはupelesになります。

だからスワップパーティションは、SDカードの3つのパーティション(FAT32、SDEXT、SWAP)を持っている場合、または<コード> 998887766544331 のパーティションが2つある場合(FAT43の場合)、<コード> 998877666544330 とスワップ)または<コード> /dev/block/mmcblk1p? など、異なる電話などがあり、間違った選択肢が携帯電話を煉瓦にします。

どのようにを見つけますか? 998877666544333 ファイルシステムを使用して、電話機の任意のドライブの唯一のパーティションである必要があります。

  • <コード> は、これをUbuntu にしていますが、 Android
  • で何も出力しません
  • <コード> blkid5 はスワップパーティション
  • を表示しません
  • cat /proc/partitions6 は多くのパーティションを一覧表示しますが、スワップ
  • のどちらが表示されていません。
  • <コード> cat /proc/swaps
  • のスワップのみをリストします。
  • <コード> <コード> dev: size erasesize name
  • swap10 <コード> 9988776665443311 として一部のパーティションを一覧表示しますが、それらが何であるかを示すものではありません。
  • 4extリカバリはパーティションの表に表示されます( /dev/block/mmcblk0p22 )が、DEV名
  • を言うわけではありません。
  • ...

直接印刷するためのコマンドラインツールがない場合でも、確かに他の情報からそれを推測する方法がありますか?

英語

As this warns, you should not enable swap on the wrong partition or you can destroy your phone:

OK before we go any further! previous phones had a partition layout where mmcblck0 was the SDcard (external) our phone uses mmcblck1 for the external sd. This is important because if you use an app it may be preset to use mmcblck0 as swap partition.using this setting will cause you to use your sbl2 or sbl3 as swap partition.this will brick your phone and unbrick guide will be useles.

So the swap partition might be /dev/block/mmcblk0p3 if I have 3 partitions (fat32, sdext, swap) on my SD card, or /dev/block/mmcblk0p2 if I have 2 partitions (fat43 and swap) or /dev/block/mmcblk1p? if you have a different phone, etc. and the wrong choice can brick your phone.

How do you find out which partition is which? It should be the only partition on any drive of the phone with the swap filesystem.

  • fdisk -l does this on Ubuntu, but outputs nothing in Android
  • blkid does not show the swap partition
  • cat /proc/partitions lists a lot of partitions, but doesn't indicate which is the swap
  • cat /proc/swaps only lists swaps that are already being used
  • cat /proc/mtd only says dev: size erasesize name and nothing else
  • ls /dev/block/vold lists some partitions as 179:64 179:65 179:66, but doesn't indicate what they are?
  • 4ext recovery will show it in the table of partitions (swap swap 129 MiB), but doesn't say the dev name
  • ...

Even if there's no command line tool to print it directly, surely there's a way to deduce it from some other information??

              
     
     

回答リスト

8
 
vote
vote
ベストアンサー
 

ディスク情報とオプションでは、 Expert Mode マウント解除されていないパーティションを有効にしました。それは「スワップ」を言うのではなく、それがSDカードの他の唯一のパーティションであることを明確に示しています。

ディスク情報のスクリーンショット

Swapper 2は、<コード> /dev/block/mmcblk0p3 を使用するように構成されているため、デフォルトでは行かなかったことをうれしく思います。

 

I installed the Disk Info app and in the options, I enabled Expert mode and Unmounted partitions. It doesn't say "swap", but it shows clearly that it's the only other partition on the SD card and it's the right size, so /dev/block/mmcblk1p2 must be the one:

screenshot of Disk Info

Swapper 2 is configured to use /dev/block/mmcblk0p3 by default, so I'm glad I didn't go with the default.

 
 
8
 
vote

<コード> fdisk -l は、ディスク装置名全体を明示的に渡す場合(例えば、 99887665544331 )。動作しないのはブロックデバイスの自動検出です(Androidは<コード> 998877665443332 ディレクトリの下にあるが<コード> 99887665444333 をにすることで、<コード> 998877666666654444434号に直接見ることを期待しているため、明らかに)。したがって、1つのオプションは、ディスクデバイス全体のリストを収集することです(<コード>、<コード>、<コード>、...)、 9988776665444337 を使用してそれらのパーティション表を調べます。これらのディスクデバイスは、対応するパーティションの前に<コード> 99887766544338 にリストされています。

99887665544339 ユーティリティはまったくパーティションテーブルを見ていません。システムで既知のすべてのブロックデバイスを開き、それらのデバイス上の実際のデータからファイルシステムの種類を検出します。したがって、<コード> fdisk -l /dev/block/mmcblk10 は、 998877665443311 によって初期化されるまでスワップパーティションの正しい情報を表示しません。つまり、 998877665443312 は現在のタスクに対して無用であることを意味します(どのパーティションを<コード> 998877666654443313 に渡す必要がある検索)。

fdisk -l /dev/block/mmcblk14 は通常、<コード> 998877665543315 の下のデバイスを示しています。これは、メジャー番号とマイナー番号に従って名前が付けられます。通常のデバイス名を取得するには、 998877665443316 を調べて、最初の2列に同じ番号を含む行を見つけることができます。その後、デバイス名の末尾から<コード> 9988776665433317 の部分を削除することができます。 998877665443318 を開始時にに渡して<コード> 9988766665443319 に渡すことができます。対応する装置の区画表

内部EMMCフラッシュの 998877665443320 出力を見ると、特にクアルコムベースのデバイスでは、奇妙なタイプのパーティションが見つかる可能性があります。例えば、Samsung Galaxy W(GT-I8150)の区画表を参照してください。

<事前> <コード> /dev/block1

パーティションタイプのコード<コード> 998876665443323 <コード> 99887666665443323 は、実際にはシステムデータ(さまざまなROM部品の位置やMD5ハッシュを含む)を含みます。 ;ただし、FAT16形式の「内​​部データストレージ」である<コード> 9988776654443324 は、完全にボーガスに見えるタイプを持っています。この場合、製造元は<コード> 998877666543325 (Linux Swap)型コードを独自の目的で再利用しませんでしたが、そのような衝突が発生しないことはわかりませんので、盲目的にパーティションを使用しようとしないでください。 Swapのように見えます - 最初にデバイスのサイズとパーティションのレイアウトがあなたのSDカードに表示されることが期待されるものであることを確認します。

<コード> /dev/block6 はSDカードのスワップパーティションを見つけるのに有用ではありません(MTDドライバは直接接続された生のフラッシュチップにアクセスするために使用されます。外部SDカードでは動作できません)。

 

fdisk -l works if you pass the whole disk device name explicitly (e.g., fdisk -l /dev/block/mmcblk1); what does not work is automatic discovery of block devices (apparently because Android places block device files under the /dev/block directory, but fdisk expects to see those files directly in /dev). Therefore one option is to collect the list of whole disk devices (/dev/block/mmcblk0, /dev/block/mmcblk1,xc2xa0xe2x80xa6) and look at their partition tables using fdisk -l <device>. These whole disk devices are listed in /proc/partitions before the corresponding partitions.

The blkid utility does not look at the partition table at allxc2xa0xe2x80x94 it opens all block devices known by the system and detects the filesystem type from the actual data on those devices; therefore blkid will not show correct information for the swap partition until that partition is initialized by mkswap. This means that blkid is useless for your current task (finding which partition should be passed to mkswap).

mount usually shows devices under /dev/block/vold, which are named according to their major and minor numbers. To get the usual device name, you can look in /proc/partitions to find a row containing the same numbers in the first two columns. Then you can remove the p<number> part from the end of the device name, add /dev/block/ at the start and pass the resulting name to fdisk -l to see the partition table of the corresponding device.

Beware that if you look at the fdisk -l output for the internal eMMC flash, you may find lots of partitions with strange types, especially on Qualcomm-based devices. E.g., see the partition table for 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 

Partition type codes there are even dangerously wrong, because /dev/block/mmcblk0p1, which is declared Win95 FAT32 (LBA), actually contains some system data (including locations and MD5 hashes of various ROM parts); however, /dev/block/mmcblk0p28, which is the FAT16-formatted xe2x80x9cinternal data storagexe2x80x9d, has a type which looks completely bogus. In this case the manufacturer did not reuse the 0x82 (Linux swap) type code for their own purposes, but I'm not sure that such collisions never occur, so you should not blindly try to use any partition which looks like swapxc2xa0xe2x80x94 first check that the device size and partition layout are what you expect to see on your SD card.

/proc/mtd is never useful for finding a swap partition on SD card (MTD drivers are used to access directly attached raw flash chips, they cannot work with external SD cards).

 
 
 
 

関連する質問

16  USBケーブルを使用して、Android携帯電話からUbuntu PCにファイルを転送する方法?  ( How to transfer files from an android phone to a ubuntu pc by using a usb cable ) 
IMはまったく新しいユーザーと熟練したものです。私は電話でビデオを作りました。 LはそれをUbuntu PCに転送するのですか?私はUSBケーブルに差し込まれていますが、私のPCは電話機を見ません。助けてくれてありがとう ...

4  Android Uiをすばやく理解する方法  ( How to quickly understand the android ui ) 
私はWindows、MacOS、iPad、Linux UIの経験がありますKDEのようなものです。ただし、Androidデバイスを使用していません。ただし、それがどのように機能し、比較するかは実際にはわかりません。私の一般的な理解は、それがGnomeのようなL...

0  UbuntuのAndroid Studio 3 17.04では、接続されているデバイスのNexus 7が表示されていません  ( Android studio 3 in ubuntu 17 04 not see nexus 7 in connected devices to run the ) 
Ubuntu 17.04とNexus 7でAndroid Studio 3.1.1を使用しています。 Android Studioアプリを実行するウィンドウ内の「接続されているデバイス」のリストにデバイスを表示しません: href="https://i....

1  UbuntuまたはGentoo上で直接Androidアプリを実行しています  ( Running android apps directly on ubuntu or gentoo ) 
UbuntuやGentooのようなLinuxディストリビューションに直接Androidアプリケーションを実行することは可能ですか? Google Chroomで、VirtualBox、VirtualBoxのようなシミュレータの助けを借りずにLinux上のアプ...

3  サムスンギャラクシータブS2ブートループ(標準回復が機能していません!)  ( Samsung galaxy tab s2 in bootloop standard recovery not working ) 
こんにちは熱狂的なコミュニティ!私はあなたの助けとアドバイスが必要だろう! デバイス: サムスンギャラクシーTAB S2(SM-T819) Android 6秒針〜&gtで購入しました。先週Android 7 に更新されました 根付いていない、オリジナ...

7  携帯電話をUSBで接続するように電話を取得するにはどうすればよいですか。  ( How do i get my phone to connect the internal sd by usb ) 
私は最近私のサムスンギャラクシーS2を根ざしてアップグレードした。 それ以来、私のデバイスをUSBでUbuntuコンピュータに接続すると、12GBの内部ストレージのみがデスクトップに表示され、Bansheeに表示されます。 私の16GBのSDカードをUbunt...

3  起動時に実行可能ファイルを実行して実行し続ける方法は?  ( How to run an executable on boot and keep it running ) 
998877766666654330 プログラムから実行可能なビルドを持っています。根ざしたAndroidデバイスで実行したいです。 Androidが私の実行可能ファイルを殺す可能性はいくらですか? <コード> ./executable1 、次のコマンド...

26  Shellコマンドを使用し、その下のLinuxシステムと対話する方法は?  ( How can i use shell commands and interact with the linux system underneath ) 
AndroidはLinuxに基づいており、その下にLinuxカーネルを持っています。シェルコマンドを使用してLinuxシステムと直接対話できる方法はありますか?例えば。 Linuxシステムにアクセスできるシェルアプリケーション? ...

1  Linux Deploy:新しいディスクイメージ(サイズ)を作る...失敗  ( Linux deploy making new disk image size fail ) 
私はAndroid 4.3 / Slimkat 4.4.4を使って、私の根付きギャラクシーS3にLinux展開を試みています。しかしインストールを押すと: <事前> <コード> 9988776655443331 ...

2  Linuxカーネル4.4 Androidデバイス  ( Linux kernel 4 4 android devices ) 
私はすべてのデバイスがLinuxカーネル4.4以降を実行しているものを見つけようとしています。今まで私はカーネル4.4を実行しているSony Xperiaデバイスのみを見つけることができました。 4.4 Linuxデバイスを取得しようとしていた理由は、私の...

2  ASUS EEE PADスライダでデュアルブートUbuntuをデュアルブートする方法(SL101)  ( How to dual boot ubuntu on asus eee pad slider sl101 ) 
私は私のASUSスライダーSL101(オリジナルのTF101 ASUS EEE PADトランスフォーマーのいとこ)でChroot環境でUbuntuを実行することができます。 しかし、さまざまな理由で、私は実際にUbuntuまたはAndroidに起動することがで...

10  PCに接続するとNexus 7にSDカードフォルダがありません  ( Nexus 7 doesnt have sdcard folder when connected to pc ) 
私はちょうどNexus 7を購入しました。ファイルを転送する方法 「ADB PUSH」は良い選択ではないと思います。 ...

12  UbuntuからAndroidへのストリームサウンド  ( Stream sound from ubuntu to android ) 
誰かが私を呼び出すときにデスクトップとAndroidの間の私のヘッドセットを再現することにうんざりしました。 Ubuntuから音を流れている方法はありますか( pulseaudio )WiFiまたはUSB上のAndroid携帯電話にAndroid携帯電話にはあ...

0  カーネルレベルで私のAndroid携帯電話からGPS機能を無効にするにはどうすればよいですか。  ( How can i disable the gps functionality from my android phone at the kernel leve ) 
カーネルレベルで私のAndroid携帯電話からGPS機能を無効にする方法は?私はこれが必要であることを知っています(ただし、わからない)GPSまたはカーネルモジュールのいずれかのデバイスドライバを無効にするが、正確にそれを行う方法をどうやって実行するか? カー...

25  Linux上のADBによってデバイスが検出されますか?  ( How do i get my device detected by adb on linux ) 
私はちょうど私の光沢のある新しい wileyfox swift ""を持っていて、私はそれを使う前に私は<コード> oem unlock と根本的なものを使用したい(私は通常新しいデバイスで行うので)。 usb-debugging デバイスで有効になってお...