Zmień rozmiar / partycję systemową Galaxy S 2

21

Muszę zwiększyć rozmiar /systempartycji mojego Galaxy S 2 z 503,4 MB do ... Cóż, wszystko jest możliwe.

(Głównym) powodem, dla którego chcę to zrobić, jest to, że chcę zainstalować GApps 20140606, co nie jest kompatybilne z urządzeniami z małymi (poniżej 500 MB) /system partycjami.

Pamięć wewnętrzna Galaxy S 2 ma 16 GB, ale głównie używam mojej karty SD, więc nie obchodzi mnie, ile z tego zajmie użycie na /systempartycji.

Znalazłem wiele stron objaśniających różne metody osiągnięcia tego celu, takich jak ta z TechoTV i ta z XDA , ale wszystkie były specyficzne dla telefonu i nigdy nie podawały informacji, czy będą kompatybilne z innymi modelami, czy nie lub zmieniłyby rozmiar na określony zestaw.

Jest też to pytanie od Androida SE , ale odpowiedź nie była dla mnie wystarczająca, ponieważ autor ograniczył się do powiedzenia, że ​​jest to możliwe , ale nie powiedział, w jaki sposób .

Aby dodać kilka dodatkowych informacji, telefon jest zrootowany i ma CyanogenMod 11 (20140806-NOCNIE), czyli Android 4.4.4.

Byłoby interesujące, gdyby dostarczone informacje działały w systemie Linux. Mam dostęp do systemu Windows, ale raczej nie muszę go używać.

Czy nie ma prostego sposobu zmiany rozmiaru partycji, takiego jak GParted (ale dla Androida)?

Bruno Finger
źródło
1
Wystarczy dodać, że udało mi się zmienić jego rozmiar. Napiszę odpowiedź wyjaśniającą szczegółowo, jak to zrobić. To nie jest skomplikowane.
Bruno Finger,
1
Czy kiedykolwiek miałeś okazję napisać tę odpowiedź? Jestem również zainteresowany ponownym partycjonowaniem mojego S2. Dzięki
Mikeage,
@ Mikeage Przepraszam za to, myślę, że jestem właścicielem społeczności tej odpowiedzi, skoro napisałem ten komentarz ... Piszę to teraz, sprawdź wkrótce :)
Bruno Finger
1
@ Mikeage sprawdź odpowiedź i powodzenia;)
Bruno Finger

Odpowiedzi:

21

Po pierwsze i najważniejsze, kredyty:

Zrobiłem to, wykonując ten wspaniały samouczek w XDA-Developers przez użytkownika metalgearhathaway: http://forum.xda-developers.com/galaxy-s2/development-derivatives/mod-partition-internal-memory-app-t2538947

Użyłem PITplików (wyjaśnię, co to są, nie martw się) również wykonanych przez użytkownika ElGamalz XDA, znajdujących się tutaj (komentarz nr 509) .

I trochę pomocy od użytkownika CrackDaddy, także od XDA.

Po drugie, czego będziesz potrzebować:

  • Komputer z systemem Windows. Użyłem 64-bitowego systemu Windows 7 Ultimate;
  • Odin 3,07. Ostrożnie podczas instalacji, jest pełen opcjonalnych AdWares. Dostępna jest także wersja Linux i Mac o nazwie JOdin3, ale nie próbowałem;
  • Flashable ClockWorkMod 6 dla Galaxy S II (jest to .tarplik z plikiem o nazwie zImagewewnątrz);
  • PIT plik z pożądaną konfiguracją tablicy partycji;
  • Sterowniki Samsunga do Galaxy S2. Zwykle można zainstalować Samsung Kies, ale jest też instalator tylko z dostępnymi sterownikami;
  • Oryginalne, nieukończone oprogramowanie układowe Samsung Jellybean. Można go znaleźć na stronie sammobile.com ;
  • Dowolny ROM do wyboru. Bardzo polecam ostatnią nocną wersję Cyanogenmod 11;
  • Opcjonalnie: GApps 20140606 lub nowszy.

Udostępniłem większość z nich w następującym pliku pakietu: https://drive.google.com/open?id=0BxccpydIocBpd21FOE5MaGJiMkU&authuser=0

Brakuje GApps, CyanogenMod i zapasowej pamięci ROM Samsung JellyBean (ponieważ zależy to od kraju i operatora i podanie go tutaj może być niezgodne z prawem).

Po trzecie, domyślne ostrzeżenie:

Nie jestem odpowiedzialny za nic, co mogłoby pójść nie tak z twoim urządzeniem, ani żaden ze wspomnianych użytkowników, ani nikt tutaj w Stack Overflow lub XDA-Developers. Ta procedura spowoduje zrootowanie telefonu, jeśli jeszcze nie jest, i unieważnienie gwarancji, jeśli jeszcze nie jest. Jeśli coś pójdzie nie tak, nie panikuj, najprawdopodobniej można to naprawić poprzez ponowne załadowanie pamięci ROM i rozpoczęcie od nowa.

Wreszcie, jak:

Będzie to działać tylko z 16 GB międzynarodową wersją (GT-I9100) Samsunga Galaxy S II

Po pierwsze, skopiuj .zipplik CyanogenMod 11 (lub żądaną pamięć ROM) i opcjonalnie .zipplik GApps na zewnętrzną kartę SD;

Wykonaj kopię zapasową wszystkiego w pamięci wewnętrznej, skopiuj ją na komputer lub w inne miejsce. Zostanie całkowicie usunięte. Nie martw się o swoją zewnętrzną kartę SD, nie zostanie ona dotknięta.

Utwórz kopię zapasową bieżącej pamięci ROM, a będziesz mógł ją przywrócić po podziale. Aby to zrobić, musisz zainstalować odzyskiwanie ClockWorkMod, a następnie uruchomić telefon w tryb odzyskiwania ( Volume UP + Home + Power), wybierz backups and restore, a następnie backup to /storage/sdcard1;

Po zakończeniu tworzenia kopii zapasowej uruchom ponownie telefon w trybie pobierania ( Volume DOWN + Home + Power) i podłącz telefon do komputera. Pozwól systemowi Windows zainstalować sterowniki. Jeśli to się nie powiedzie, spróbuj zainstalować Samsung Kies lub tylko sterowniki dostarczone w pakiecie, który udostępniłem, i spróbuj ponownie.

Otwórz Odin3 jako Administrator i podłącz telefon. Powinien wykryć twój telefon i pokazać go pod etykietą ID:COM, a także w Message. Jeśli nie, spróbuj ponownie uruchomić komputer, telefon, ponownie zainstalować sterowniki, sprawdź kabel USB itp. I spróbuj ponownie.

Teraz musisz wybrać PITplik. PIToznacza Partition Information Tablei jest to rzecz tylko dla Samsunga. W pliku wiązki, zrobiłem dostępne ElGamal„s PITplik ( I91001GB_6GB.pit), która zmienia rozmiar również /systempartycję 1GB, /datado 6 GB, a reszta idzie do pamięci wewnętrznej. Jeśli chcesz mieć różne rozmiary, sprawdź wątek w XDA-Developers, ponieważ udostępnił wiele różnych wersji. Dołączyłem również plik PIT do domyślnej konfiguracji ( I9100_2GB-STOCK.pit), jeśli chcesz wrócić do poprzedniej wersji.

Po wybraniu PITpliku, przejdź do Odyna i zaznaczyć następujące pola wyboru: Re-Partition, Auto Rebooti F. Reset Time. W Re-Partition sectionkliknij PITprzycisk i wybierz wybrany PITplik. W Files (Download)sekcji kliknij APprzycisk i wybierz zapas JellyBean ROM firmy Samsung. Sprawdź wszystko dwukrotnie i kliknij Start. To może chwilę potrwać, idź napić się kawy.

Po tym, jak wszystko się skończy, telefon uruchomi się ponownie w magazynie ROM Samsung JellyBean. Dwie rzeczy mogą się teraz zdarzyć lub będą działać normalnie, a jeśli tak, możesz z nich skorzystać i sprawdzić, czy wszystko jest tak, jak chcesz. Lub może poprosić cię o hasło dostępu do „zaszyfrowanego woluminu”, który jest niczym innym jak niesformatowaną pamięcią wewnętrzną. Na oba sposoby odłącz telefon (nadal jest podłączony) i ponownie uruchom go w trybie pobierania.

Interesujące jest zamknięcie i ponowne otwarcie Odin3, aby zresetować ustawienia. Podłącz telefon ponownie i poczekaj, aż Odin3 go wykryje. Tym razem, po prostu zostawić sprawdzone Auto Rebooti F. Reset Timei upewnić Re-Partitionsię nie sprawdził. Kliknij APprzycisk i wybierz .tarplik ClockWorkMod Recovery , a następnie kliknij Start. Ten jest szybszy, ale jeśli czujesz się śpiący, idź na kolejną kawę;)

Po zakończeniu powinieneś mieć zainstalowany w telefonie ClockWorkMod Recovery 6, więc idź ponownie i uruchom ponownie w trybie odzyskiwania. Idź do mounts and storage, wybierz format /storage/sdcard0i sformatuj go jako exfat(jeśli z jakiegoś powodu masz później problemy z zapisem w pamięci wewnętrznej, wróć tutaj i wybierz inny format, aż zadziała, ale exfatpowinien załatwić sprawę ).

Po zakończeniu nadal znajduje się w trybie odzyskiwania Wipe data/factory reset, Wipe cachei Wipe Dalvik cache. Upewnijmy się, że nic nie zostało z poprzednich ROM.

Teraz install zip-> choose zip from /storage/sdcard1wybierz .zipplik CyanogenMod 11 (lub żądanej pamięci ROM) i flashuj go. Opcjonalnie później flashuj GApps. Uruchom ponownie telefon i sprawdź, czy wszystko jest w porządku.

Jeśli wszystko jest w porządku, ponownie uruchomić telefon w trybie odzyskiwania znowu zrobić nową wipe data/factory reset, wipe cachei wipe Dalvik cache, a następnie odzyskać kopię zapasową ROM od początku. Uruchom ponownie telefon.

Sprawdź ponownie, czy wszystko działa poprawnie. Niektóre aplikacje mogą wymagać ponownej instalacji (Spotify i Waze są przykładami), aby ponownie działać poprawnie, ale to tylko poważny problem.

Mam nadzieję, że wszystko idzie dobrze.

Bruno Finger
źródło
Co jeśli muszę zrobić w innym telefonie? Czy jest jakieś ogólne narzędzie lub metoda?
skan
Niestety nie wydaje się. Bardzo go szukałem, ale nie mogłem znaleźć. Nie wiem, czy to dlatego, że jeszcze nie został stworzony, czy też dlatego, że każdy telefon lub producent ma własną architekturę partycjonowania. Idealnym sposobem byłoby narzędzie tak łatwe w użyciu, jak GParted, ale nie spodziewam się, że wkrótce zobaczę to na Androida.
Bruno Finger,
Co powiesz na modyfikację pliku obrazu oprogramowania układowego przed nagraniem go w telefonie?
skan
10

Wyrazy uznania dla @Bruno za szczegółowe rozwiązanie i potrzebne pliki. Znacznie szybszy sposób jest podany poniżej, który nie wymaga instalowania ROM / Gapps lub ponownie do ROM między etapami. Potrzebujesz zewnętrznej karty SD z wystarczającą ilością wolnego miejsca, aby pomieścić wszystkie aplikacje + dane + zdjęcia + itp. Znajdujące się w wewnętrznej pamięci telefonu.

Możesz pominąć kroki 1-5, jeśli masz już CWM, a także kopię zapasową NAND na zewnętrznej karcie SD (ale upewnij się, że masz kopię zapasową NAND na zewnętrznej karcie SD, inaczej stracisz wszystkie dane).

UWAGA: Powinieneś również wykonać kopię zapasową danych z wewnętrznej karty SD na wypadek, gdyby coś poszło nie tak, np. / Storage / sdcard0 (kopia zapasowa NAND nie tworzy kopii zapasowej).

  1. Wyodrębnij pliki dostarczone przez @Bruno gdzieś na komputerze.
  2. Uruchom ponownie telefon w trybie pobierania (vol down + home + power), a następnie podłącz go do komputera przez USB.
  3. Uruchom Odin 3.09. Usuń zaznaczenie opcji Auto-restart, umieść CWM-KitKatCompatible-i9100.tarplik w sekcji AP, a następnie kliknij Start i poczekaj, aż Odin powie „RES OK !!” w dzienniku wiadomości. To powinno być dość szybkie, kilka sekund.
  4. Teraz uruchom ponownie telefon w trybie odzyskiwania (vol up + home + power)
  5. Przejdź do kopii zapasowej i przywracania> kopia zapasowa do / storage / sdcard1 - zwróć uwagę na 1, a nie 0 (Twój CWM może powiedzieć „external sd” zamiast / storage / sdcard1; po prostu wybierz opcję kopii zapasowej odpowiadającą zewnętrznej karcie SD, to jest ważne , inaczej stracisz wszystkie dane). Poczekaj na zakończenie tworzenia kopii zapasowej, to zajmie chwilę.
  6. Zrestartuj telefon w trybie pobierania (vol down + home + power)
  7. Uruchom Odin 3.09, Un check Auto-Reboot, check Re-Partition , umieść plik I91001GB_6GB.pitw sekcji PIT, umieść plik CWM-KitKatCompatible-i9100.tarw dziale AP, a następnie kliknij Starti czekaj aż Odin mówi „RES OK !!” w dzienniku wiadomości. To chwilę potrwa.
  8. Uruchom ponownie telefon w trybie odzyskiwania (vol up + home + power)
  9. Idź do mounts and storage> Format / system , następnie Format / cache , a następnie Format / data
  10. Wróć, aby wyczyścić dane / przywrócić ustawienia fabryczne
  11. Wróć do kopii zapasowej i przywracania> przywróć z / storage / sdcard1 i przywróć kopię zapasową NAND wykonaną wcześniej
  12. Gotowy. Uruchom ponownie telefon normalnie.

Procedura testowana przy użyciu Cyanogenmod 11 (KitKat 4.4) na noc i migawka. Powinien współpracować z dowolną najnowszą pamięcią ROM. Nie trzeba instalować żadnych niestandardowych lub standardowych ROMów ani Gappów, a nawet uruchamiać się w ROM-ie pomiędzy krokami.

WYŁĄCZENIE ODPOWIEDZIALNOŚCI: Nie mogę ponosić odpowiedzialności, jeśli Twój telefon zacznie śpiewać lub tańczyć Lambadę (och, jak nienawidzę tej piosenki!), Woła cię, imie, wysadza w powietrze, traci dane itp.

Normadize
źródło
To najlepsza odpowiedź do tej pory w sieci! Wiedziałem, że musi istnieć sposób na uniknięcie ponownej instalacji standardowej pamięci ROM. Dzięki wielkie! Wszystkie pozostałe odpowiedzi są albo źle napisane, brakuje ważnych rzeczy lub robią zbędne rzeczy +1!
Sebastian,
Podoba mi się to bardziej niż konieczność ponownej instalacji ROM-u. Spróbuję tego.
Milan Maharjan,
Dzięki za samouczek, ale na końcu kroku 11 dostałem komunikat „Błąd montażu ..” i telefon umarł :-( (tak na marginesie, krok 7 był bardzo szybki)
ItayB
Błąd montażu /storage/sdcard0.,android_secure! Pomijanie formatu ... Nie można zamontować /storage/sdcard0/.android_secure!
ItayB,
Próbowałem sformatować / storage / sdcard0 i wykonać ponownie od kroku 11. To koniec bez błędu montażu (przywracanie zakończone!), Ale nadal czarny ekran po ponownym uruchomieniu ..
ItayB
4

W moim przypadku potrzebowałem rozwiązania wieloplatformowego, ponieważ używam Linuksa. Oto, co zadziałało dla mnie:

  1. Utwórz kopię zapasową wszystkiego. Spowoduje to wyczyszczenie wszystkiego w telefonie, w tym wewnętrznej karty SD.

  2. Ściągnij:

    • Plik PIT, który chcesz sflashować. Użyłem tego , który zmienia rozmiar / system z 512 MB na 1 GB i / dane z 2 GB na 6 GB
    • Wszelkie zgodne odzyskiwanie. Użyłem tego
    • (Opcjonalnie) ROM, który chcesz zainstalować. Zainstalowałem CyanogenMod 13 co noc
  3. Pobierz i zainstaluj Heimdall

  4. Uruchom w trybie pobierania

    1. Odłącz kabel USB
    2. Wyłącz
    3. Naciśnij i przytrzymaj przyciski głośności, home i zasilania (możesz puścić, gdy zobaczysz ekran ostrzegawczy)
    4. Naciśnij przycisk zwiększania głośności, aby przejść obok ekranu ostrzeżenia
  5. Podłącz kabel USB do telefonu i komputera

  6. (Opcjonalnie) Utwórz kopię zapasową istniejącego PIT

    sudo heimdall download-pit --output i9100-stock.pit --no-reboot
    
  7. Flash nowego PIT i odzyskiwania

    sudo heimdall flash --repartition --pit I91001GB_6GB.pit --KERNEL cwmr6047.img --no-reboot
    
  8. Uruchom do odzyskiwania

    1. Odłącz kabel USB
    2. Wyłącz
    3. Naciśnij i przytrzymaj przyciski zwiększania głośności, home i zasilania (możesz puścić, gdy zobaczysz ekran I9100)
  9. Sformatuj wszystkie partycje, w tym / system, / data, / cache i wewnętrzną kartę SD (sdcard0)

    • Jeśli formatujesz wewnętrzną kartę SD, jeśli zapyta Cię, jakiego systemu plików użyć, wybierz fat, vfat lub exfat. Jeśli wybierzesz ext4, będziesz mieć problemy. (Źródła: [1] [2] )
    • W przypadku wszystkich innych partycji wybierz ext4, jeśli zostaniesz o to poproszony
  10. Zainstaluj ROM lub przywróć kopię zapasową

bmaupin
źródło
Zaproponowano edycję tego, co moim zdaniem powinno być komentarzem: „W przypadku cm13 musisz wybrać ext4 lub inny system plików linux. W przeciwnym razie pamięć wewnętrzna nie będzie działać”.
Mateusz
Sformatowałem / system, / data, / cache itp. Jako ext4. Ale kiedy sformatowałem pamięć wewnętrzną jako ext4, konsekwentnie ulegała ona uszkodzeniu. Zdarzyło mi się to na CM 12.1, a także CM 13. Przeformatowałem się jako vfat i ponownie jako exfat i moje problemy zniknęły. Znalazłem kilka innych źródeł, które mówiły to samo: (1) (2)
bmaupin
@Patrick Wyjaśniłem swoją odpowiedź i dodałem źródła. Dzięki za zwrócenie na to uwagi!
bmaupin
1

Oto prawdopodobnie prawdopodobnie lepszy sposób: https://github.com/Lanchon/REPIT

To tak proste, jak flashowanie zamka błyskawicznego i zachowanie danych. Wymaga odzyskiwania TWRP i cierpliwości. Pracowałem dla mnie po raz pierwszy na S2 (i9100), który już miał CM13.

eug
źródło
Z jakiegoś powodu nie działa. Błysnął jednym z tych zamków błyskawicznych za pomocą TWRP. Odzyskiwanie narzekało, że powinienem uruchomić go ponownie z tmp. Uruchomię go ponownie, odzyskiwanie uruchomi się ponownie po kilku sekundach. Nadal nie można sflashować OpenGApps.
Hugo Zink,
Nie jestem pewien, co się tam dzieje @ HugoZink - prawdopodobnie powinieneś zapisać kilka zrzutów ekranu / dzienników i zgłosić problem na githubie REPIT.
eug