Chcę ustalić wszystkie partycje na moim urządzeniu wraz z ich odpowiednikami. punkty montowania lub etykiet (tj wiedzieć, która partycja jest gospodarstwo system
, recovery
, boot
, itd.). To musi być niezależne od urządzenia (ponieważ mam wiele urządzeń). Celem jest dla dd
nich i wiedzieć, który obraz jest co.
Widziałem polecenie, aby wyświetlić punkty montowania partycji? - tam jednak celem była tylko lista partycji zamontowanych partycji. Potrzebuję ich wszystkich i np. /recovery
Nie jest montowany podczas uruchamiania w „normalnym trybie pracy”.
Jak dotąd moje przeglądy przyniosły szereg podejść - ale żadne z nich nie działa na żadnym z testowanych urządzeń:
cat /proc/mtd
: jest pusty lub nie istniejecat /proc/emmc
: jest pusty lub nie istniejecat /proc/dumchar_info
: nie istnieje (MTK / MediaTek)ls -al /dev/block/platform/*/by-name
: albo nie istnieje, albo nie ma pożądanych szczegółów
Masz pojęcie o tym, co mogłem przeoczyć? Oczywiście mogłem chodzić po wszystkich /dev/block/mmcblk0p*
urządzeniach, zrzucić je i uporządkować później - ale potem musiałem powtórzyć to badanie dla każdego z moich urządzeń (i ponownie, gdy ktoś pojawi się przy innym), więc to nie jest rozwiązanie.
EDYCJA: Zwróć uwagę na znacznik wiersza polecenia na to pytanie. Będę musiał uzyskać dostęp do tych informacji za pośrednictwem ADB i nie chcę instalować aplikacji na urządzeniu przekazanym mi do zbadania. Rozważmy to jako „tło kryminalistyczne” (bez zmian w urządzeniu), choć nie jest to do końca prawdą;)
Przepraszam również za moje początkowe błędne sformułowanie: „punkty montowania” są interesujące tylko, o ile ujawniają cel partycji. Nie chcę ich montować / montować ponownie :)
Odpowiedzi:
Jak pokazują już istniejące odpowiedzi, wydaje się, że nie ma „unikalnego sposobu” na osiągnięcie tego. Zacząłem więc łączyć pomysły z całego świata, łącząc je ze skryptem (a raczej „biblioteką skryptów”), aby sprawdzać je sekwencyjnie (aż do uzyskania dobrego trafienia), i zintegrowałem to z moim „narzędziem do dokumentowania urządzeń” o nazwie Adebar . Zainteresowani mogą go znaleźć w
lib/partitions.lib
pliku. Ponieważ Adebar jest oprogramowaniem typu open source (GPLv2), możesz go skopiować i użyć - lub rozwidlić projekt i go ulepszyć.Pełne rozwiązanie jest nieco długie, aby opublikować tutaj (jak wspomniano, możesz pobrać go na Github), ale ponieważ nasza polityka obejmuje co najmniej ogólną część postu, oto, co robi:
Różne źródła dostarczają różne zestawy szczegółów, więc najpierw wypróbowuje „najlepsze”, a następnie powtarza, aż przynajmniej coś zostanie znalezione.
/proc/dumchar_info
podaje najwięcej szczegółów, więc najpierw jest to wypróbowywane. Zadowoleni użytkownicy MTK otrzymają to./proc/mtd
jest drugim najlepszym źródłem./proc/emmc
powinien mieć prawie tyle samo co poprzedni kandydaci, ale jest nieco trudny w użyciu/dev/block/platform/*/by-name
, sprawdzone krzyżowo z…/proc/partitions
sprawdzone krzyżowo z/proc/mounts
daje nam przynajmniej zamontowane partycjeSkrypt, który zbudowałem, zasadniczo prowadzi źródła w tej kolejności, zatrzymując się, gdy tylko będzie w stanie zebrać szczegóły (np. Jeśli
/proc/dumchar_info
został znaleziony, nie trzeba analizować wszystkich pozostałych). Wszystkie zostały umieszczone w osobnych funkcjach, zwracając dane przy użyciu tej samej struktury, można nawet scalić wyniki z nich wszystkich.Jeśli ktoś może wymyślić lepsze rozwiązanie, oczywiście jestem zawsze otwarty na ten pomysł :)
źródło
Natknąłem się na to pytanie. Lubię wyzwanie ...
Narzędzia, których użyłem: BusyBox
Wymyśliłem 3 polecenia (jedno wymienione na liście), aby podać informacje o partycjach
Wynik:Wynik:
Wynik:
źródło
busybox
(co niestety nie jest dostępne na „urządzeniach niektórych znajomych”, do których się dostaję).blkid
nie ujawnia, która to partycja (rozruch, odzyskiwanie itp.), a*/by-name/*
nie istnieje na wszystkich urządzeniach (a kiedy to robi, nazwy są czasami dość tajemnicze - np. na moim LG Optimus 4X, wszystkie są 3- tylko znaki i niekoniecznie „mówienie”).df
wyświetla tylko zamontowane urządzenia, więc nie pokaże np. odzyskiwania po uruchomieniu w „trybie normalnym” - więc tutaj łatwiej jest używać/proc/mounts
zamiast tego./proc/mtd
- ale niestety nie wydaje się, że są już zapełniane obecnymi urządzeniami. Na niektórych urządzeniach nawet znalazłem.fstab
pliki, ale znowu: a) nie na wszystkich, i b) nawet jeśli nie wydawały się niezawodne (niektóre części były tam zdecydowanie błędne).KPARTX
Komenda kpartx odczytuje tabele partycji i mapuje partycje na pliki urządzeń. Działa na urządzeniach i obrazach dysków. Oznacza to, że możemy odwzorować partycje HFS w obrazie dysku na specjalny plik urządzenia blokowego i zamontować te partycje, adresując ten plik urządzenia blokowego tak, jakby był częścią dołączonego urządzenia.
http://linuxsleuthing.blogspot.com/2012/10/christmas-come-early-hfshfs-mounting.html
Przykłady w linku to wróg MacBook Pro, ale różne obrazy dysków powinny działać dobrze, o ile prezentowane są w systemie GNU Linux w RAW. (xmount - patrz poniżej)
usage : kpartx [-a|-d|-l] [-f] [-v] wholedisk
xmount
xmount pozwala na konwersję w locie między wieloma typami obrazów dysków twardych na wejściu i wyjściu. xmount tworzy wirtualny system plików za pomocą FUSE (system plików w przestrzeni użytkownika), który zawiera wirtualną reprezentację obrazu wejściowego. Reprezentacja wirtualna może być w surowym formacie pliku DD, DMG, VHD, wirtualnego dysku VirtualBox lub w formacie VMDK VmWare. Obrazy wejściowe mogą być surowymi plikami DD, EWF (Expert Witness Compression Format) lub AFF (Advanced Forensic Format). Ponadto xmount obsługuje również wirtualny dostęp do zapisu do plików wyjściowych przekierowanych do pliku pamięci podręcznej. Umożliwia to rozruch uzyskanych obrazów dysku twardego za pomocą QEMU, KVM, VirtualBox, VmWare lub podobnych.
https://www.pinguin.lu/xmount
Mogę podać dodatkowe szczegóły i informacje w razie potrzeby lub potrzeby.
źródło
/recovery
partycję z uruchomionego urządzenia. To nie jest montowane w trybie normalnym. Jak ustalić, którą partycję wybrać? Mając powyższe, musiałem wybrać je wszystkie i dowiedzieć się później. Generuje zbyt dużo danych i trwa zbyt długo.DiskInfo będzie aplikacją, którą chcesz. Wyświetli wszystkie punkty montowania oraz wszystkie odmontowane i wszystkie partycje tymczasowe.
To tylko interfejs graficzny, bez żadnej innej rzeczywistej funkcjonalności. Idealny dla twoich potrzeb. Wymaga to użycia na w pełni uruchomionym urządzeniu. Korzeń nie jest potrzebny.
Zrzut ekranu (kliknij, aby zobaczyć większy wariant)
źródło
command-line
tag :) Chyba lepiej, że napiszę to wprost. Znam wiele aplikacji pokazujących te szczegóły, ale muszę uzyskać do nich dostęp / zebrać jeadb shell
bez pomocy dodatkowej aplikacji (nie zawsze mogę najpierw zainstalować ją na przekazanym mi urządzeniu).