Skocz do zawartości

MiFlash - formatowanie telefonu (Windows/Linux)


Acid

Rekomendowane odpowiedzi

Czym jest MiFlash?

MiFlash to sposób instalacji oprogramowania na urządzenia Xiaomi. Funkcjonuje na podobnej zasadzie jak tzw. download modes w innych telefonach np. Odin w Samsungu. 

Dzięki MiFlash możemy sformatować telefon do stanu fabrycznego i zainstalować nowy system ze specjalnie przygotowanych obrazów. MiFlash korzysta z połączenia fastboot należącego do pakietu Google SDK. 

Dlaczego potrzebny mi MiFlash?

MiFlash jest zazwyczaj nam potrzebny, jeśli potocznie mówiąc "uwaliliśmy telefon", tzn. urządzenie nie startuje do systemu (a inne metody jego uruchomienia, np. XiaomiADB w przypadku Globala/China, nie działają). Ponadto MiFlash potrzebny jest, jeśli mimo full wipe (fabryczne ustawienia telefonu z poziomu recovery) nie da się przywrócić systemu do życia.  W 99% takich przypadków MiFlash jest jedyną deską ratunku i tak naprawdę sprowadza się do użycia kilku komend (w przypadku wykonania go ręcznie) lub paru kliknięć (w przypadku pracy z GUI). 

MiFlash jest dobrą metodą na postawienie telefonu "na czysto". Można wymazać w urządzeniu wszystko, łącznie z pamięcią wewnętrzną, recovery czy kernelem. Może on posłużyć np. do powrotu z ROM-u xiaomi.eu na wersję MIUI Global czy wgranie innej wersji Global, np. takiej z obsługą nagrywania rozmów (Indonezja/Tajwan).

MiFlash może też posłużyć do czystego powrotu na starszą wersję MIUI, np. z MIUI 13 na 12 (poza paroma wyjątkami, takimi jak Redmi Note 5 Pro, Redmi 6 Pro czy Mi Max 3 - ale to już starsze telefony).

WARUNKIEM skorzystania z MiFlash jest telefon z możliwością przejścia do trybu fastboot, a także odblokowany bootloader. 

Jak sprawdzić, czy działa fastboot?

Możemy to zrobić, włączając telefon naciskając kolejno: przycisk "głośność-dół" a następnie zasilania (power). Trzymamy Power do momentu ukazania się loga MI, po czym puszczamy Power trzymając wciąż głośność.

Na ekranie ukaże się fotka Mitu grzebiącego w plecach Androida (w przypadku starszych modeli) lub sam brązowy napis Fastboot (w nowszych).

 

bl_apply_2.pngbl_apply_5.png

Jeśli telefon nie uruchamia się w tym trybie to... kaplica. I serwis (np. MiCenter).

Aby wyjść z fastboot, przytrzymujemy długo Power, aż telefon się normalnie zrestartuje. Natomiast po skończonym formatowaniu i instalacji systemu z MiFlash urządzenie samo się uruchomi ponownie.

Co jest nam potrzebne?

Obrazy systemu. To najważniejsza rzecz, jaką potrzebujemy do MiFlash. Zawierają obrazy każdej partycji .img, której format przeprowadzi program.

 

Paczki można pobrać z kilku miejsc; rekomendujemy ich pobieranie np. stąd. Na podanej stronie wpisujemy nazwę naszego urządzenia i wybieramy opcję Archive zamiast domyślnie zaznaczonej Latest. Pozwoli to nam pobrać np. starszy obraz (jeśli nie chcemy najnowszego).

image.png

Na stronie, która nam się pojawi, klikamy na pole Type, aby posortować wyniki; pojawią się nam wtedy wyłącznie te obrazy, których potrzebujemy, czyli Fastboot.

image.png

Wybieramy interesujący nas obraz, klikamy Download, a na nowej stronie przewijamy na dół, gdzie powinniśmy móc pobrać obraz fastboot. Powinna się pobrać paczka w formacie .tgz.

Upewnijmy się, że pobieramy paczkę pod nasze urządzenie. MiFlash zazwyczaj powinien odmówić wgrania paczki nie pod nasz telefon (komunikat Mismatching image and device). Przydatne w weryfikacji będą nazwy kodowe urządzeń lub wersja MIUI, którą mamy obecnie na naszym urządzeniu. Po jej wpisaniu w Google powinniśmy uzyskać informację, dla jakiego konkretnie urządzenia jest przeznaczona i jaką ma ono nazwę kodową. W razie pytań prosimy pisać w tym wątku, służymy pomocą!

Dla Windows

Potrzebne pliki:

  • MiFlash (wersja nie ma zazwyczaj większego znaczenia, lecz zalecany najnowszy)
  1. Rozpakowujemy paczkę i uruchamiamy plik XiaoMiFlash.exe.
    image.png
  2. Przechodzimy do trybu Fastboot (przytrzymujemy przyciski vol- i power) i podłączamy urządzenie do komputera, o ile nie zrobiliśmy tego przedtem.
  3. System Windows zainstaluje sterowniki automatycznie jako Android Bootloader Interface. Możemy to zweryfikować, klikając przycisk refresh; powinno nam wyskoczyć mniej więcej coś takiego.
    image.png
    Jeśli tego nie zrobi, możemy sterowniki zainstalować ręcznie (menu Driver). Należy też się upewnić, czy na pewno używamy oryginalnego kabla od telefonu; zamienniki mogą miewać problemy z wykryciem urządzenia w tym trybie.
    Jeśli po próbie odświeżenia listy otrzymamy komunikat tego typu:
    image.png
    Należy w katalogu, w którym rozpakowaliśmy paczkę, utworzyć folder o nazwie log. Potem możemy kliknąć Kontynuuj i ponownie refresh.
  4. Rozpakowujemy rom tgz (lub tar.bz) do dowolnego katalogu na naszym nośniku. Uwaga: ścieżka dostępu do folderu z ROM-em nie może mieć spacji, bo w takim przypadku program nie wgra paczki w ogóle. Zalecamy zatem rozpakowanie paczki bezpośrednio np. na dysk C (z utworzonym folderem o nazwie niezawierającej spacji).
    Archiwum może wymagać podwójnego rozpakowania. Do tego celu można użyć 7-zip.
  5. W programie klikamy na select i wybieramy katalog, do którego rozpakowaliśmy nasz ROM. Akceptujemy nasz wybór.
  6. Na dole okna znajdziemy trzy opcje do wyboru.
    image.png
    Clean all mówi samo za siebie - czyści wszystko z urządzenia, można powiedzieć, że stawia go na nowo.
    Save user data pozwala na zachowanie danych użytkownika, czyli np. aplikacji czy pamięci wewnętrznej; tej opcji można używać np. przy wgrywaniu nowszego od naszego ROM-u oprogramowania (ale najlepiej byłoby, gdyby było to oprogramowanie na tej samej bazie co ROM, który mieliśmy; nie zadziała to przy powrocie np. z Xiaomi.eu na Globala).
    Clean all and lock (opcja domyślna!!!) powoduje, poza wyczyszczeniem wszystkich danych, blokadę bootloadera (co może być przydatne, jeśli chcemy korzystać z płatności zbliżeniowych na ROM-ie Global). Tej opcji NIE NALEŻY używać, gdy wgrywamy ROM Global na wersję chińską urządzenia i vice versa.
    Pole po prawej stronie to lista dostępnych skryptów; w zależności od naszego wcześniejszego wyboru pojawiać się w nim będzie plik, którego używać będzie MiFlash do wgrywania ROM-u.
  7. Naciskamy Flash i oglądamy efekt pracy programu, 
  8. Po skończonym procesie system uruchomi się sam.

Dla Linux (Ubuntu)

Na linuxie nie korzystamy z GUI MiFlash. Wystarczy nam obsługa binarki fastboot.

W Ubuntu 14.04 i wyżej fastboot i adb jest w repozytoriach:

 sudo apt-get install android-tools-fastboot android-tools-adb

Uruchamiamy nasz telefon w trybie Fastboot tak samo jak na Windowsie (vol- i power). Sprawdzamy, czy nasz telefon jest wykrywany w fastboot:

sudo fastboot devices

Wynik:

e0860d9a	fastboot
  1. Przechodzimy do katalogu z pobranym romem w formacie tgz (najlepiej już uprzednio wypakowanym).
  2. Otwieramy w tym miejscu terminal (Nemo) lub nawigujemy z katalogu głównego.
  3. Wydajemy komendę:
  4. chmod a+x *.sh

    Aby nadać poprawne uprawnienia dla skryptów wykonywalnych, a następnie wywołujemy jeden z trzech skryptów w zależności od tego, co chcemy zrobić:

  5. Pełne czyszczenie
    sudo ./flash_all.sh
    Zachowanie danych użytkownika
    sudo ./flash_all_except_storage.sh
    Pełne czyszczenie i zablokowanie bootloadera
    sudo ./flash_all_lock.sh
  6. Potwierdzamy nasze hasło i tyle. Czekamy minutkę. 

  7. W terminalu widzimy jak przebiega proces:

    product: MSM8974
    target reported max download size of 671088640 bytes
    
    ...
    
    target reported max download size of 671088640 bytes
    sending 'recovery' (11938 KB)...
    OKAY [  0.558s]
    writing 'recovery'...
    OKAY [  0.181s]
    finished. total time: 0.740s
    target reported max download size of 671088640 bytes
    sending 'boot+boot1' (9954 KB)...
    OKAY [  0.492s]
    writing 'boot+boot1'...
    OKAY [  0.297s]
    finished. total time: 0.789s
    rebooting...
    
    finished. total time: 0.001s

Telefon uruchomi się ponownie na gotowym systemie. 

Warto dodać, że w przypadku Linuxa (i Windowsa) możemy sobie sformatować dowolną partycję, niekoniecznie wszystkich z powyższych skryptów. Możemy chcieć z jakiegoś powodu wgrać z powrotem recovery, jeśli je uszkodziliśmy, albo chcemy wrócić z TWRP do MiRecovery:

sudo fastboot flash recovery images/recovery.img

(dla windows komenda bez "sudo")

Spis wszystkich komend mamy w skrypcie .sh lub .bat.

Edytowane przez Kacper Skrzypek
Dostosowanie instrukcji do dzisiejszych realiów.
  • Like 16
  • Thanks 5
Odnośnik do komentarza
Udostępnij na innych stronach

Ja się odniosę tylko do punktu:

 

 

  1. Rozpakowujemy rom tgz do katalogu głównego dysku C do wybranego katalogu bez spacji w nazwie!

 

Sam to przerabiałem i tu się zakręciłem, ponieważ wypakować niekiedy należy podwójnie.

 

Przykładowo pobieramy plik cancro_images_4.7.25_4.4_cn_c170693dbb.tgz po wypakowaniu może być tam plik cancro_images_4.7.25_4.4_cn_c170693dbb.tar - który to należy wypakować.

 

Nowy Winrar wypakuje kompletnie plik cancro_images_4.7.25_4.4_cn_c170693dbb.tgz i nie trzeba będzie robić x2. 

Ja za pierwszym razem użyłem 7-zip v9.34 i musiałem jeszcze raz wypakowywać.

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

Przepraszam, problem leżał po mojej stronie.

 

e: instrukcja się przydała bo ostatnio telefon zaczął coś wariować z dziwnym dotykiem wyświetlacza (jak miałem palec lekko nad wyświetlaczem to już coś łapało, dotyk w rękawiczach był wyłączony) w dodatku coś mulił i po restarcie już nie chciał wstać. Po wgraniu softu na nowo działa elegancko.

Edytowane przez koprobo
Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...
  • 3 tygodnie później...

@Acid,

Czy dobrze rozumuję, że jak w BROWSE>ADVANCED wybiorę w polu FASTBOOT skrypt FLASHALL.BAT zamiast EXCEPT_STORAGE to praktycznie telefon będzie jak z fabryki?

 

Wiesz może do czego jest NvBoot Script w Advanced w MiFlash 2013 i 2014, w necie ciężko coś znaleźć albo mam za słabe google-fu ;]

 

Od siebie dodam że MiFlash może przelashować nawet najciężej uceglone telefony, tylko trzeba jeszcze dojść do tego co i jak zrobić żeby MiFlash chciał je zobaczyć a potem jeszcze żeby łaskawie je sflashował.

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

@Acid,

Czy dobrze rozumuję, że jak w BROWSE>ADVANCED wybiorę w polu FASTBOOT skrypt FLASHALL.BAT zamiast EXCEPT_STORAGE to praktycznie telefon będzie jak z fabryki?

 

Tak dobrze rozumujesz. Flash all wymazuje pamięć wewnętrzną i nośnik USB.

 

Wiesz może do czego jest NvBoot Script w Advanced w MiFlash 2013 i 2014, w necie ciężko coś znaleźć albo mam za słabe google-fu ;]

 

Nie wiem. Nie wnikałem bo ja nie używam MiFlash jaki takiego. Na linuxie po prostu uruchamiam skrypt .sh i nie potrzeba do tego MiFlasha. Podejrzewam, że to ma związek z modelami z dual sim np. Redmi 1S. Ale to tylko zgadywanie.

 

Od siebie dodam że MiFlash może przelashować nawet najciężej uceglone telefony, tylko trzeba jeszcze dojść do tego co i jak zrobić żeby MiFlash chciał je zobaczyć a potem jeszcze żeby łaskawie je sflashował.

 

Nie ma co i jak. MiFlash widzi telefon tylko w trybie Fastboot.

Więc: 

  • jeśli telefon nie może przejść do fastboot to kaplica
  • jeśli komputer (w sensie MIFlash) nie widzi telefonu w trybie fastboot to ma prawdopodobnie zwalone sterowniki i trzeba je przeinstalować.

Tak czy inaczej by MiFlash był pomyślny to telefon musi być w fastboot i PC widzieć to połączenie po USB.

  • Like 1
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...
  • 1 miesiąc temu...

Nie wiem co jest.

Próbuję na trzech plikach:

1) armani_images_JHCCNBD24.0_4.3

2) armani_images_JHCCNBF36.0_4.3_cn

3) armani_images_JHCCNBH45.0_4.3_cn

 

w miflash pojawiają się dziwne komedy inne niż wy macie.

fastboot -s d4957554 flash tz C:\ i ścieżka lokacji

Odnośnik do komentarza
Udostępnij na innych stronach

No ale tak tu ma być. Przecież tu pokazuje "Status" czyli aktualnie flashowany plik. U mnie na screenach akurat był system/

Tu masz tz.mbn. To się zmienia - przynajmniej powinno bo miflash instaluje kolejne pliki. Otwórz sobie w edytorze tekstu skrypty flash_all.bat i zobacz, że tak jest napisany kod.

 

Na pewno masz dobrze wybrane pola w Browse > Advance?

 

Jeśli miflash stoi na jednym pliku to coś masz nie tak z transferem:

- albo zmień kabel USB

- albo zmień port USB

- albo przeinstaluj sterowniki w windowsie (jakikolwiek to jest windows...)

- a najlepiej zainstaluj linuxa bo tam nie ma cyrków...

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

Witam windows wykrywa mi telefon jako fastboot ale miflash go nie widzi :( pomocy :(

 


 

Tak dobrze rozumujesz. Flash all wymazuje pamięć wewnętrzną i nośnik USB.

 

Nie wiem. Nie wnikałem bo ja nie używam MiFlash jaki takiego. Na linuxie po prostu uruchamiam skrypt .sh i nie potrzeba do tego MiFlasha. Podejrzewam, że to ma związek z modelami z dual sim np. Redmi 1S. Ale to tylko zgadywanie.

 

Nie ma co i jak. MiFlash widzi telefon tylko w trybie Fastboot.

Więc: 

  • jeśli telefon nie może przejść do fastboot to kaplica
  • jeśli komputer (w sensie MIFlash) nie widzi telefonu w trybie fastboot to ma prawdopodobnie zwalone sterowniki i trzeba je przeinstalować.

Tak czy inaczej by MiFlash był pomyślny to telefon musi być w fastboot i PC widzieć to połączenie po USB.

 

A gdzie te sterowniki??

Odnośnik do komentarza
Udostępnij na innych stronach

Ja się zapomniałem i próbowałem zflashować telefon przez huba usb... nie polecam ;P tzn miflash otworzył mi plik flash_all.sh w notepad++ i stał w miejscu ponad 5min, podłączyłem bezpośrednio oraz wybrałem plik flash_all.bat i poszło ;)

hmm... a może problem w tym że on ten plik otworzył przez edytor tekstu a nie przez MiFlasha?

Odnośnik do komentarza
Udostępnij na innych stronach

Mi2s - MiFlash zatrzymuje się na etapie flash system+system1 i ni chu chu dalej.. probowalem dla obrazow z 4.9.19, 4.9.26 4.4cn i nic z tego.. telefon uceglony na fastboot.. skrypt flash all, na początku wszystko ok, później lipa.. pierwszy raz takie coś..

Pomożecie?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

Truche się zakręciłem z przejściem Mi5 na Mi6 na moim Mi2A. Moze banalne ale dla mnie jest to nie jasne  :oops: (korzystam z instrukcji na miuipolska)

1. Rozpakowujemy rom tgz do katalogu głównego dysku C do wybranego katalogu bez spacji w nazwie! - Czyli do jakiego katalogu?

2. Dla Mi2A z linka jest dostępny aktualnie najnowszy ROM Mi Two A 4.11.21 fastboot(4.1) czyli na andku 4.1? Koledzy coś piszą że musi być (4.4)?

3. wykorzystując skrypt flash_all (.bat/.sh) - skąd taki skrypt wziąść? Mnie MiFlash pokazuje tylko flash_all_except_storage.bat. Gdy dam browse pokazuje "mój kmputer".

Proszę o pomoc :oops:

Odnośnik do komentarza
Udostępnij na innych stronach

1. Rozpakowujemy rom tgz do katalogu głównego dysku C do wybranego katalogu bez spacji w nazwie! - Czyli do jakiego katalogu?

Do katalogu o nazwie "byleco" i rozpakuj tam archiwum tgz czyli C:/byleco/... lub D/E nie ma znaczenia...

 

2. Dla Mi2A z linka jest dostępny aktualnie najnowszy ROM http://miuipolska.pl/miuipolska-v6-4-9-19-dla-mi2/

Tam jest fastboot dla MI2A v6.

 

Musi być. Zawsze jest. 

Natomiast możesz użyć ten skrypt except_storage. Nie ma dużej różnicy, po prostu nie sformatuje się nośnik usb telefonu ale nie jest to takie potrzebne dla v6. 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...