Как найти путь к раздеванию подкачки на SD-карте? -- linux поле с участием file-system поле с участием partitions поле с участием command-line поле с участием swap пол android Связанный проблема

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


9
vote

проблема

русский

как Это < / a> предупреждает, вы не должны включать совместное помещение по неправильному разделу, или вы можете уничтожить свой телефон:

ОК, прежде чем мы пойдем дальше! Предыдущие телефоны имели разбиение макета, где MMCBLCK0 был SDCard (внешний) наш телефон использует MMCBLCK1 для внешнего SD. Это важно, потому что если вы используете приложение, может быть предустановлен для использования mmcblck0 в качестве раздела Swap.using Этот параметр заставит вас использовать ваш SBL2 или SBL3 в качестве раздела SWAP. Это будет кирпич.

.

Таким образом, раздел подкачки может быть <Код> /dev/block/mmcblk0p3 Если у меня есть 3 раздела (FAT32, SDext, Swap) на моей SD-карте или /dev/block/mmcblk0p2 Если у меня есть 2 раздела (FAT43 и обменение) или <код> /dev/block/mmcblk1p? Если у вас есть другой телефон и т. Д. И неправильный выбор может кирпичать ваш телефон.

Как вы узнаете , которые раздел какой? Это должен быть единственный раздел на любом приводе телефона с swap файловой системой.

    .
  • <код> fdisk -l делает это на Ubuntu , но ничего не выводит в Android
  • <код> blkid не показывает раздел подкачки
  • <код> cat /proc/partitions перечисляет много разделов, но не указывает, что это своп
  • <код> cat /proc/swaps только списки spages, которые уже используются
  • <Код> cat /proc/mtd только говорит <код> dev: size erasesize name и ничего другого
  • <Код> /dev/block/mmcblk0p20 перечисляет некоторые разделы как <код> /dev/block/mmcblk0p21 , но не указывает, что они есть?
  • 4xext Recovery покажет его в таблице разделов (<Код> /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
Лучший ответ
 

Я установил Информация о диске и В вариантах я включил экспертный режим и размонтированных разделов . Это не говорит «своп», но он ясно показывает, что это единственный другой раздел на SD-карте, и это правильный размер, поэтому <Код> /dev/block/mmcblk1p2 должен быть одним:

Скриншот информации диска

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 работает, если вы проходите имя дискового устройства явно (например, <код> fdisk -l /dev/block/mmcblk1 ); Что не работает, - это автоматическое открытие блочных устройств (по-видимому, потому, что Android размещает файлы блочных устройств под <код> /dev/block Directory, но <код> fdisk ожидает увидеть эти файлы непосредственно в <Код> /dev ). Поэтому один вариант состоит в том, чтобы собрать список всех дисковых устройств (<код> /dev/block/mmcblk0 , <код> /dev/block/mmcblk1 , ...) и посмотрите на их раздел таблицы, используя <код> fdisk -l <device> . Все эти дисковые устройства перечислены в /proc/partitions до соответствующих разделов.

blkid Утилита вообще не смотрит на таблицу разделов - открывает все блочные устройства, известные системой, и обнаруживает тип файловой системы из фактических данных на этих устройствах; Поэтому <код> fdisk -l /dev/block/mmcblk10 не будет отображать правильную информацию для раздела подкачки, пока этот раздел не будет инициализироваться <код> fdisk -l /dev/block/mmcblk11 . Это означает, что <код> fdisk -l /dev/block/mmcblk12 бесполезно для вашей текущей задачи (нахождение того, какой раздел должен быть передан в <код> fdisk -l /dev/block/mmcblk13 ).

<Код> fdisk -l /dev/block/mmcblk14 обычно показывает устройства под <Код> fdisk -l /dev/block/mmcblk15 , которые называются в соответствии с их основными и незначительными числами. Чтобы получить обычное имя устройства, вы можете посмотреть <код> fdisk -l /dev/block/mmcblk16 , чтобы найти ряд, содержащую те же номера в первых двух столбцах. Тогда вы можете удалить <код> fdisk -l /dev/block/mmcblk17 PALT от конца имени устройства, добавьте <код> fdisk -l /dev/block/mmcblk18 в начале и прошедшее имя <код> fdisk -l /dev/block/mmcblk19 , чтобы увидеть Таблица раздела соответствующего устройства.

Остерегайтесь, если вы посмотрите на <код> /dev/block0 вывод для внутренней вспышки EMMC, вы можете найти много разделов со странными типами, особенно на устройствах на основе Qualcomm. E.G., см. Таблицу разделов для Samsung Galaxy W (GT-I8150):

 <код> /dev/block1  

Типы раздела Коды Там даже опасно ошибаются, потому что <код> /dev/block2 , который объявлен <код> /dev/block3 , фактически содержит некоторые системные данные (включая местоположения и хэси MD5 различных частей ROM) ; Тем не менее, <Код> /dev/block4 , который представляет собой отформатированное FAT16 «внутреннее хранение данных», имеет тип, который выглядит полностью поддельным. В этом случае производитель не повторно использовал код <код> /dev/block5 (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).

 
 
 
 

Связанный проблема

26  Как я могу использовать команды Shell и взаимодействовать с системой Linux внизу?  ( How can i use shell commands and interact with the linux system underneath ) 
Android основан на Linux и имеет ядро ​​Linux внизу. Есть ли способ, которым я могу использовать команды оболочки и взаимодействовать напрямую с системой Linu...

2  ININUX KERNEL 4.4 Устройства Android  ( Linux kernel 4 4 android devices ) 
Я пытаюсь выяснить, что все устройства работают в Linux Kernel 4.4+ и упорно нахождение всех. До сих пор я мог найти только устройства Sony Xperia, работающие...

7  Как мне получить телефон, чтобы подключить внутренний SD USB?  ( How do i get my phone to connect the internal sd by usb ) 
Я недавно укоренился и обновил мою Samsung Galaxy S2 до версии 4, ICS. С тех пор, когда я подключаю свое устройство на USB к моим компьютеру Ubuntu, на моем...

4  Как быстро понять Android-интерфейс  ( How to quickly understand the android ui ) 
У меня есть опыт работы с Windows, MacOS, iPad и Linux UI похожи на KDE. Однако я не использовал устройство Android, поэтому я не совсем понимаю, как он работ...

0  Как я могу отключить функциональность GPS с моего телефона Android на уровне ядра?  ( How can i disable the gps functionality from my android phone at the kernel leve ) 
Как я могу отключить функциональность GPS с моего телефона Android на уровне ядра? Я знаю, что это требует (хотя не уверен) отключение либо драйверов устройст...

0  Android Studio 3 в Ubuntu 17.04 не вижу Nexus 7 в подключенных устройствах для запуска приложения с  ( Android studio 3 in ubuntu 17 04 not see nexus 7 in connected devices to run the ) 
Я использую Android Studio 3.1.1 в Ubuntu 17.04 и Nexus 7. Android Studio не видит устройство в списке «подключенных устройств» в окне для запуска приложени...

12  Поток звука от Ubuntu на Android  ( Stream sound from ubuntu to android ) 
Я устал отправиться с мужественной гарнитурой между рабочем столом и Android, когда кто-то называет меня. Есть ли способ потокотать звук от Ubuntu (я использу...

2  Как Dual Boot Ubuntu на слайдере Asus Eee Pad (SL101)?  ( How to dual boot ubuntu on asus eee pad slider sl101 ) 
Я могу запустить Ubuntu в среде Chroot на моем слайдере ASUS SL101 (двоюродный брат исходного TF101 Asus Eee Pad Transfrance). Но по разным причинам я хотел...

25  Как получить устройство, обнаруженное ADB на Linux?  ( How do i get my device detected by adb on linux ) 
Я только что получил свой блестящий новый Wileyfox Swift - и прежде чем положить его на использование, я хочу <код> oem unlock и root (как я обычно делаю с...

1  Linux Deploy: создание нового образа диска (размер)  ( Linux deploy making new disk image size fail ) 
Я пытаюсь использовать развертывание Linux на моей рутированной Galaxy S3 с Android 4.3 / Slimkat 4.4.4. Но когда я нажимаю Установка: <код> Updating config...

3  Как запустить исполняемый файл на загрузке и продолжать работать?  ( How to run an executable on boot and keep it running ) 
У меня есть исполняемая сборка из ndk-build программы. Я хочу запустить его на укоретенном устройстве Android. Сколько стоит вероятность того, что Android у...

16  Как передавать файлы с телефона Android на ПК Ubuntu с помощью USB-кабеля?  ( How to transfer files from an android phone to a ubuntu pc by using a usb cable ) 
Я совершенно новый пользователь и неопытный. Я сделал видео с телефоном. Как l перенести его на компьютер Ubuntu? Я подключался к USB-кабелю, но имущено мой к...

3  Samsung Galaxy Tab S2 в Bootloop (стандартное восстановление не работает!)  ( Samsung galaxy tab s2 in bootloop standard recovery not working ) 
Привет энтузиазское сообщество! Мне понадобится ваша помощь и совет! <Сильное> Устройство: . Samsung Galaxy Tab S2 (SM-T819) купил с андроид 6 секундно...

1  Запуск приложений для Android прямо на Ubuntu или Gentoo  ( Running android apps directly on ubuntu or gentoo ) 
Интересно, можно ли запустить приложения для Android непосредственно на дистрибутиве Linux, как Ubuntu или Gentoo? Я имею в виду запуск приложений на Linux бе...

10  Nexus 7 не имеет папки SDCard при подключении к ПК  ( Nexus 7 doesnt have sdcard folder when connected to pc ) 
Я только что купил Nexus 7. Когда я подключил его к моему ноутбуку, он показывает папку Media, я хотел бы получить доступ к папке SDCard, такую ​​как другие у...

Связанный проблема

26  Как я могу использовать команды Shell и взаимодействовать с системой Linux внизу? 
2  ININUX KERNEL 4.4 Устройства Android 
7  Как мне получить телефон, чтобы подключить внутренний SD USB? 
4  Как быстро понять Android-интерфейс 
0  Как я могу отключить функциональность GPS с моего телефона Android на уровне ядра? 
0  Android Studio 3 в Ubuntu 17.04 не вижу Nexus 7 в подключенных устройствах для запуска приложения с 
12  Поток звука от Ubuntu на Android 
2  Как Dual Boot Ubuntu на слайдере Asus Eee Pad (SL101)? 
25  Как получить устройство, обнаруженное ADB на Linux? 
1  Linux Deploy: создание нового образа диска (размер) 
3  Как запустить исполняемый файл на загрузке и продолжать работать? 
16  Как передавать файлы с телефона Android на ПК Ubuntu с помощью USB-кабеля? 
3  Samsung Galaxy Tab S2 в Bootloop (стандартное восстановление не работает!) 
1  Запуск приложений для Android прямо на Ubuntu или Gentoo 
10  Nexus 7 не имеет папки SDCard при подключении к ПК