SD karttaki takas bölümünün yol adı nasıl bulunur?


9

Gibi bu uyarır, yanlış bölüme takas etkinleştirmemelisiniz veya telefonu yok edebilir:

Biz daha ileri gitmeden önce Tamam! önceki telefonlarda mmcblck0'ın harici sd için mmcblck1 kullandığı SD kart (harici) olduğu bir bölüm düzeni vardı. Bu önemlidir, çünkü bir uygulama kullanırsanız, mmcblck0'ı takas bölümü olarak kullanmak için önceden ayarlanmış olabilir.

Bu yüzden takas bölümü /dev/block/mmcblk0p3, SD kartımda 3 bölüm (fat32, sdext, takas) /dev/block/mmcblk0p2varsa veya 2 bölümüm (fat43 ve takas) /dev/block/mmcblk1p?varsa veya farklı bir telefonunuz varsa vb. Olabilir ve yanlış seçim tuğla olabilir Telefonunuz.

Hangi bölümün hangisi olduğunu nasıl öğrenirsiniz? swapDosya sistemine sahip telefonun herhangi bir sürücüsünde tek bölüm olmalıdır .

  • fdisk -lbunu Ubuntu'da yapıyor , ancak Android'de hiçbir şey yayınlamıyor
  • blkid takas bölümünü göstermez
  • cat /proc/partitions çok sayıda bölüm listeler, ancak takasın hangisi olduğunu göstermez
  • cat /proc/swapsyalnızca halihazırda kullanılmakta olan takasları listeler
  • cat /proc/mtdsadece diyor dev: size erasesize nameve başka bir şey yok
  • ls /dev/block/voldbazı bölümleri şu şekilde listeler 179:64 179:65 179:66, ancak ne olduklarını göstermez mi?
  • 4ext kurtarma bunu bölümler tablosunda ( swap swap 129 MiB) gösterir, ancak geliştirici adını söylemez
  • ...

Doğrudan yazdırmak için bir komut satırı aracı olmasa bile, kesinlikle başka bilgilerden çıkarmanın bir yolu var mı ??


Senin içinde bir şey var mı /proc/swaps?
ott--

@ ott--: cat /proc/swapssadece takas 2 tarafından oluşturulan swapfile gösterir, SD kartta bölüm değil
endolith

Cihazı (SDCard) zaten bildiğiniz gibi mount, karşılık gelen blok cihazı ( /dev/block/*) bulmak için (parametresiz) kullanmaya ve /proc/partitions(veya /proc/mtd) listesine karşı kontrol etmeye çalıştınız mı? Kartınızda başka bir bölüm yoksa, takas bölümünüz yalnızca mountişaret etmedikçe "bir rakamla biten diğeri" olmalıdır vold. Bu durumda, boyutları karşılaştırmak (veya kartı "fark" için geçici olarak çıkarmak) yardımcı olabilir.
Izzy

Yanıtlar:


8

Disk Bilgisi uygulamasını yükledim ve seçeneklerde Uzman modunu ve Bağlantısız bölümleri etkinleştirdim . "Takas" demiyor, ancak SD karttaki diğer bölüm olduğunu ve doğru boyutta olduğunu açıkça gösteriyor, bu yüzden bir tane /dev/block/mmcblk1p2olmalı:

Disk Bilgisi ekran görüntüsü

Swapper 2 /dev/block/mmcblk0p3varsayılan olarak kullanılmak üzere yapılandırılmıştır , bu yüzden varsayılan ile gitmediğime sevindim.


8

fdisk -ltüm disk aygıtının adını açıkça geçirirseniz çalışır (ör. fdisk -l /dev/block/mmcblk1); işe yaramayan, blok cihazların otomatik olarak keşfedilmesidir (görünüşe göre Android blok cihaz dosyalarını /dev/blockdizinin altına yerleştirir , ancak fdiskbu dosyaları doğrudan görmeyi bekler /dev). Bu nedenle tek bir seçeneği tam disk cihazların listesi (toplamaktır /dev/block/mmcblk0, /dev/block/mmcblk1kullanarak bölüm masalarında, ...) ve göz . Bu disk aygıtlarının tümü karşılık gelen bölümlerden önce listelenir .fdisk -l <device>/proc/partitions

Yardımcı blkidprogram bölüm tablosuna hiç bakmaz - sistem tarafından bilinen tüm blok aygıtlarını açar ve dosya sistemi türünü bu aygıtlardaki gerçek verilerden algılar; bu nedenle blkid, bu bölüm başlatılana kadar takas bölümü için doğru bilgileri göstermez mkswap. Bu blkidşu anki göreviniz için işe yaramaz demektir (hangi bölüme geçilmesi gerektiğini bulmak mkswap).

mountgenellikle altında /dev/block/voldbüyük ve küçük numaralarına göre adlandırılan cihazları gösterir . Her zamanki cihaz adını almak için /proc/partitions, ilk iki sütunda aynı sayıları içeren bir satır bulmak için arama yapabilirsiniz . Ardından parçayı cihaz adının sonundan kaldırabilir, başlangıçta ekleyebilir ve ilgili cihazın bölüm tablosunu görmek için ortaya çıkan adı geçebilirsiniz .p<number>/dev/block/fdisk -l

fdisk -lDahili eMMC flaşın çıkışına bakarsanız , özellikle Qualcomm tabanlı cihazlarda garip türlere sahip birçok bölüm bulabileceğinize dikkat edin . Örneğin, Samsung Galaxy W (GT-I8150) için bölüm tablosuna bakın:

# 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

Bölüm türü kodları bile tehlikeli olabilir, çünkü /dev/block/mmcblk0p1bildirilen Win95 FAT32 (LBA), aslında bazı sistem verileri içerir (çeşitli ROM parçalarının konumları ve MD5 karmaları dahil); ancak, /dev/block/mmcblk0p28FAT16 formatlı “dahili veri depolama” olan tamamen sahte görünen bir türe sahiptir. Bu durumda üretici 0x82(Linux takas) tür kodunu kendi amaçları için yeniden kullanmadı , ancak bu tür çakışmaların asla gerçekleşmediğinden emin değilim, bu yüzden takas gibi görünen herhangi bir bölümü körü körüne kullanmaya çalışmamalısınız - önce cihaz boyutu ve bölüm düzeni SD kartınızda görmeyi beklediğiniz şeylerdir.

/proc/mtd SD kartta takas bölümü bulmak için asla yararlı değildir (MTD sürücüleri doğrudan bağlı ham flash yongalarına erişmek için kullanılır, harici SD kartlarla çalışamazlar).


1
Aha! fdisk -l /dev/block/mmcblk1diyor/dev/block/mmcblk1p2 30637 31152 132096 82 Linux swap
endolit
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.