Jak to ostrzega, nie należy włączać wymiany na niewłaściwej partycji, ponieważ możesz zniszczyć telefon:
OK, zanim przejdziemy dalej! poprzednie telefony miały układ partycji, w którym mmcblck0 była kartą SD (zewnętrzną), nasz telefon używa mmcblck1 dla zewnętrznego sd. Jest to ważne, ponieważ jeśli używasz aplikacji, może być ustawione użycie mmcblck0 jako partycji wymiany. Użycie tego ustawienia spowoduje, że będziesz używać sbl2 lub sbl3 jako partycji wymiany. To zepsuje twój telefon, a przewodnik usuwania będzie użyteczny.
Tak więc partycja wymiany może mieć miejsce, /dev/block/mmcblk0p3
jeśli mam 3 partycje (fat32, sdext, swap) na karcie SD lub /dev/block/mmcblk0p2
jeśli mam 2 partycje (fat43 i swap) lub /dev/block/mmcblk1p?
jeśli masz inny telefon itp., A zły wybór może się nie powieść Twój telefon.
Jak dowiedzieć się, która partycja jest która? Powinna to być jedyna partycja na dowolnym dysku telefonu z systemem swap
plików.
fdisk -l
robi to na Ubuntu , ale nic nie wyświetla w Androidzieblkid
nie pokazuje partycji wymianycat /proc/partitions
wyświetla wiele partycji, ale nie wskazuje, która jest zamianacat /proc/swaps
wyświetla tylko te wymiany, które są już używanecat /proc/mtd
mówi tylkodev: size erasesize name
i nic więcejls /dev/block/vold
wyświetla niektóre partycje jako179:64 179:65 179:66
, ale nie wskazuje, jakie są?- Odzyskiwanie 4ext pokaże to w tabeli partycji (
swap swap 129 MiB
), ale nie mówi nazwy programisty - ...
Nawet jeśli nie ma narzędzia wiersza poleceń do bezpośredniego wydrukowania, na pewno istnieje sposób, aby wydedukować to z innych informacji?
źródło
/proc/swaps
?cat /proc/swaps
tylko pokazuje plik wymiany tworzony przez swapper 2, nie partycja na karcie SDmount
(bez parametrów) znaleźć odpowiednie urządzenie blokowe (/dev/block/*
) i sprawdzić to na liście/proc/partitions
(lub/proc/mtd
)? Jeśli nie masz już żadnej partycji na karcie, twoją partycją wymiany powinna być „druga partycja kończąca się cyfrą”, chyba żemount
wskazujevold
tylko. W takim przypadku pomocne może być porównanie rozmiarów (lub tymczasowe wyjęcie karty dla „różnic”).Odpowiedzi:
Zainstalowałem aplikację Disk Info i w opcjach włączyłem tryb Expert i odmontowane partycje . Nie mówi „zamień”, ale pokazuje wyraźnie, że jest to jedyna inna partycja na karcie SD i ma odpowiedni rozmiar, więc
/dev/block/mmcblk1p2
musi to być ta:Swapper 2 jest skonfigurowany do
/dev/block/mmcblk0p3
domyślnego używania , więc cieszę się, że nie wybrałem domyślnego.źródło
fdisk -l
działa, jeśli jawnie podasz całą nazwę urządzenia dyskowego (np.fdisk -l /dev/block/mmcblk1
); to, co nie działa, to automatyczne wykrywanie urządzeń blokowych (najwyraźniej dlatego, że Android umieszcza pliki urządzeń blokowych w/dev/block
katalogu, alefdisk
oczekuje , że zobaczą te pliki bezpośrednio w/dev
). Dlatego jedną z opcji jest, aby zebrać listę całych urządzeń dyskowych (/dev/block/mmcblk0
,/dev/block/mmcblk1
...) i spojrzeć na ich stołach działowych użyciu . Te całe urządzenia dyskowe są wymienione przed odpowiednimi partycjami.fdisk -l <device>
/proc/partitions
blkid
Narzędzie nie patrzy w tablicy partycji na wszystkich - otwiera wszystkie urządzenia blokowe znane przez system i wykrywa typ systemu plików od rzeczywistych danych dotyczących tych urządzeń; dlategoblkid
nie pokaże poprawnych informacji dla partycji wymiany, dopóki partycja ta nie zostanie zainicjowana przezmkswap
. Oznacza to, żeblkid
jest to bezużyteczne dla bieżącego zadania (znalezienie, do której partycji należy przekazaćmkswap
).mount
zwykle pokazuje urządzenia poniżej/dev/block/vold
, które są nazwane zgodnie z ich głównymi i mniejszymi numerami. Aby uzyskać zwykłą nazwę urządzenia, możesz zajrzeć/proc/partitions
do wiersza zawierającego te same liczby w pierwszych dwóch kolumnach. Następnie możesz usunąć część z końca nazwy urządzenia, dodać na początku i przekazać wynikową nazwę, aby zobaczyć tablicę partycji odpowiedniego urządzenia.p<number>
/dev/block/
fdisk -l
Uwaga: jeśli spojrzysz na
fdisk -l
wyjście wewnętrznej pamięci flash eMMC, możesz znaleźć wiele partycji o dziwnych typach, szczególnie na urządzeniach z Qualcomm. Np. Zobacz tablicę partycji dla Samsung Galaxy W (GT-I8150):Kody typów partycji są nawet niebezpiecznie niepoprawne, ponieważ
/dev/block/mmcblk0p1
, zgodnie z deklaracjąWin95 FAT32 (LBA)
, faktycznie zawierają pewne dane systemowe (w tym lokalizacje i skróty MD5 różnych części ROM); jednak/dev/block/mmcblk0p28
„wewnętrzne przechowywanie danych” w formacie FAT16 ma typ, który wygląda zupełnie nieprawdziwie. W tym przypadku producent nie wykorzystał0x82
kodu typu (Linux Swap) do własnych celów, ale nie jestem pewien, czy takie kolizje nigdy się nie zdarzają, więc nie powinieneś ślepo próbować używać dowolnej partycji, która wygląda jak zamiana - najpierw sprawdź, czy rozmiar urządzenia i układ partycji są zgodne z oczekiwaniami na karcie SD./proc/mtd
nigdy nie jest przydatny do znajdowania partycji wymiany na karcie SD (sterowniki MTD służą do uzyskiwania dostępu do bezpośrednio podłączonych nieprzetworzonych układów flash, nie mogą współpracować z zewnętrznymi kartami SD).źródło
fdisk -l /dev/block/mmcblk1
mówi/dev/block/mmcblk1p2 30637 31152 132096 82 Linux swap