Korzystam z tune2fs, ale daje dane w blokach i nie mogę uzyskać dokładnej wartości całkowitego rozmiaru partycji.
Użyłem również fdisk -l /dev/mmcblk0p1
, ale rozmiar, który otrzymuję stąd, ma również inną wartość.
Jak znaleźć dokładny rozmiar partycji?
Odpowiedzi:
Polecenie to:
Podaje wynik w bajtach jako 64-bitową liczbę całkowitą. To odpytuje rozmiar bajtów o urządzenia blokowego , jak jądro zobaczyć jego rozmiar.
Powodem, dlaczego
fdisk -l /dev/mmcblk0p1
nie zadziałało, było to, żefdisk
robi coś zupełnie innego: czyta w tablicy partycji (= pierwszy sektor) urządzenia blokowego i drukuje to, co znalazł . Nic nie sprawdza, mówi tylko to, co jest w tablicy partycji.Nawet nie przeszkadza, jeśli tablica partycji jest uszkodzona lub urządzenie blokowe jej nie ma: wyświetli ostrzeżenie, że suma kontrolna nie jest poprawna, ale nadal drukuje znalezione dane, nawet jeśli wartości są wyraźnie inne -sens.
Tak stało się w twoim przypadku:
/dev/mmcblk0p1
nie ma tablicy partycji. Jak pokazuje nazwa urządzenia, jest to już pierwsza partycja dysku fizycznego/dev/mmcblk0
. Ten dysk zawiera tablicę partycji, gdybyś ją zapytałfdisk -l /dev/mmcblk0
, działał (zakładając, że ma tablicę partycji msdos).źródło
fdisk -l /dev/mmcblk0
? Powinien podać rozmiar jednego bloku, całkowitą liczbę bloków na urządzeniu, rozmiar partycji, a także blok początkowy i końcowy każdej partycji. Na podstawie tych informacji możesz także ustalić zakresy bloków, które nie są przypisane do żadnej partycji.Spróbuj
lsblk
, nawet nie wymaga rootowania:-b
Parametr informuje go do wyjścia rozmiar w bajtach.źródło
Aby uzyskać dokładną wartość całkowitego rozmiaru partycji:
źródło
Moje rozwiązanie:
gdzie
/dev/hda2
jest partycja, która niekoniecznie jest zamontowana. jest testowany ztune2fs
wersją 1.42.4źródło