Witam, natknąłem się na ciekawy wątek o zmianie rozmiarów partycji na innym forum, a nie zauważyłem, żeby gdziekolwiek u nas było to opisane, więc przybliżę nieco temat 😛.
Oczywiście wszelkie zmiany wykonujecie na własne ryzyko.
WYMAGANIA:
Najnowsze TWRP, trochę wiedzy o ADB, plik gdisk załączony do tego postu oraz umiejętność liczenia
Zaczynamy:
1. Usuń wszelkie nieużywane aplikacje/pierdoły z partycji /system
2. Zgraj wszystko co ważne/niezbędne z wewnętrznej pamięci, ponieważ wszystko będzie później wyczyszczone
3. Zrestartuj telefonu do recovery, upewnij się, że telefon jest wykrywany w dalszym ciągu przez system(jeśli nie, będzie potrzebował sterowników[zamieszczę później])
4!! Bardzo ważny punkt, do wyboru dwie opcje:
a. jeśli chcecie zachować system po przyszłych zmianach niezbędne jest wykonanie kopii /system oraz /data i zrzucenie ich na komputer
b. instalacja systemu od nowa, tutaj zalecam wcześniej się zaopatrzyć w jakiś ROM
5. Będzie nam potrzebne ADB, po nie odsyłam do wujka google, dobitnie wyjaśnia jak jest ściągnąć i zainstalować
6. W wyszukiwarce windowsowej wpisujemy cmd.exe, kopiujemy je do folderu z ADB i uruchamiamy jako administrator.
Można powiedzieć, że podstawa za nami, teraz pora na rozeznanie się wśród partycji.
# sprawdzamy partycje /system (ile zajmuje w MB), ważne, żeby później jej nie przyciąć więcej niż ROM zajmuje
adb shell "mount /system"
adb shell "df -m /system"
# wymontowujemy partycje:
adb shell "umount /system"
adb shell "umount /data"
adb shell "umount /sdcard"
adb shell "umount /cache"
# wypakowujemy gdisk oraz instalujemy go na telefonie:
adb push gdisk /sbin
adb shell "chmod 0755 /sbin/gdisk"
# sprawdzamy jak wyglądają partycję:
adb shell "/sbin/gdisk -l /dev/block/mmcblk0" >gpt.txt
# otwieramy nowy plik gpt.txt, który powstał w folderze z ADB
# teraz musimy wyznaczyć partycje (30-36) ich rozmiar i miejsce w sektorach
# początek sektora powinien zaczynać się liczbą parzystą, a koniec sektora kończyć się liczbą nieparzystą
# aby to ułatwić można przyjąć wzór: (nowy rozmiar w MB)*2048+1=(nowy romizar w sektorach)
Teraz podam przykłady tych partycji
Tak wyglądały moje partycje przed zmianą na ROMie Cloudy 3.3:
30 819200 6488063 2.7 GiB 0700 system
31 6488064 7733247 608.0 MiB 0700 cache
32 7733248 7897087 80.0 MiB 0700 tombstones
33 7897088 7929855 16.0 MiB 0700 spare
34 7929856 8028159 48.0 MiB 0700 cust
35 8028160 30703615 10.8 GiB 0700 userdata
36 30703616 30777310 36.0 MiB 0700 grow
A to ustawienia jakie zastosowałem:
30 791568 4158721 1.6 GiB 0700 system
31 4158722 4306179 72.0 MiB 0700 cache
34 4306180 4310277 2.0 MiB 0700 cust
35 4310278 30777310 12.6 GiB 0700 userdata
Gdzie się podziały partycje 32,33,36? Otóż /grow i /spare nie są używane przez nasz telefon, a /tombstones ładuje się z partycji /data, więc można pozwolić sobie na ich usunięcie(nie będziemy ich po prostu tworzyć na nowo).
Ważne! To są tylko przykłady, które zastosowałem u siebie, zalecam, abyście sami przeliczyli nowe rozmiary partycji dla pewności, ponieważ jeśli posiadacie inny ROM może wam zabraknąć miejsca!
# odpalamy gdisk:
adb shell
cd /sbin
gdisk /dev/block/mmcblk0
# uspokajam, że żadne zmiany nie zajdą przed wykonaniem komendy "w".
# jeśli wykonałeś coś źle i nie wiesz jak to cofnąć możesz wyjść komendą "q".
# możecie w każdej chwili sprawdzić swoje dokonane wirtualne zmiany za pomocą komendy "p".
# teraz będziemy usuwać partycję i tworzyć je na nowo:
komenda "d" > wpisujemy numer partycji (powtarzamy dla każdej partycji 30-36).
komenda "n" > wpisujemy numer partycji > numer początku bloku > numer końca bloku > kod "0700"
komenda "c" > wpisujemy numer partycji > nazwa (system, cache, itd.)
# zanim zaaplikujecie zmiany sprawdźcie wszystko trzy razy, powrotu już nie będzie!(Przypominam, że wszystko zostanie z tych partycji usunięte)
komenda "w" > odpowiedź "Y"
# pora sformatować nowe partycję:
mke2fs -t ext4 /dev/block/mmcblk0p30
mke2fs -t ext4 /dev/block/mmcblk0p31
mke2fs -t ext4 /dev/block/mmcblk0p34
mke2fs -t ext4 /dev/block/mmcblk0p35
# jeśli używacie kernela, który obsługuje F2FS(jak Dorimanx), możecie je sformatować jako F2FS:
mkfs.f2fs /dev/block/mmcblk0p35
# aby TWRP zauważyło zmiany, które dokonaliśmy restartujemy recovery:
reboot recovery
# po restarcie w celu optymalizacji (tylko dla ext4!) wpisujemy:
adb shell "tune2fs -m 0 /dev/block/platform/msm_sdcc.1/by-name/userdata"
# przywracamy wcześniejsze kopie/pliki na wewnętrzną pamięć
# restartujemy urządzenie i cieszymy się nowym miejscem na karcie pamięci!
No i to by było na tyle, warto dodać, że wykonałem to na swoim LG G2 16GB i zyskałem dodatkowe 2GB wolnej przestrzeni.
Poradnik stworzyłem na bazie tego z xda, a pochwały za umożliwienie nam tego sposobu należą się użytkownikowi GK_222 .
Oryginalny temat na XDA
Forum po zmianach, link nie działa