ADB e Fastboot: Unterschied zwischen den Versionen
Danilo (Diskussion | Beiträge) |
Danilo (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 280: | Zeile 280: | ||
Fastboot è un protocollo e uno strumento a riga di comando che consente di interagire direttamente con il bootloader di un dispositivo Android. Il bootloader è il software che viene caricato all'avvio del dispositivo prima dell'avvio del sistema operativo (Android). Con Fastboot è possibile eseguire il flashing delle partizioni di sistema, sbloccare il bootloader o resettare i dispositivi, cose che non sono possibili tramite ADB. | Fastboot è un protocollo e uno strumento a riga di comando che consente di interagire direttamente con il bootloader di un dispositivo Android. Il bootloader è il software che viene caricato all'avvio del dispositivo prima dell'avvio del sistema operativo (Android). Con Fastboot è possibile eseguire il flashing delle partizioni di sistema, sbloccare il bootloader o resettare i dispositivi, cose che non sono possibili tramite ADB. | ||
Differenza rispetto ad ADB: ADB funziona all'interno del sistema Android in esecuzione, mentre Fastboot è attivo in modalità bootloader. | ''Differenza rispetto ad ADB:'' ADB funziona all'interno del sistema Android in esecuzione, mentre Fastboot è attivo in modalità bootloader. | ||
Prerequisiti: Fastboot deve essere installato sul computer (tramite l'SDK Android o come parte di Minimal ADB e Fastboot). | ''Prerequisiti:'' Fastboot deve essere installato sul computer (tramite l'SDK Android o come parte di Minimal ADB e Fastboot). | ||
===Requisiti per Fastboot=== | ===Requisiti per Fastboot=== | ||
Driver Fastboot: assicurarsi che i driver Fastboot siano installati sul PC (spesso fanno parte dei driver USB di Google per Windows). | ''Driver Fastboot:'' assicurarsi che i driver Fastboot siano installati sul PC (spesso fanno parte dei driver USB di Google per Windows). | ||
Cavo USB: Fastboot funziona solo tramite connessione USB (nessuna modalità wireless). | |||
Modalità bootloader: il dispositivo deve essere avviato in modalità fastboot (detta anche “modalità bootloader”). | ''Cavo USB:'' Fastboot funziona solo tramite connessione USB (nessuna modalità wireless). | ||
Ingresso: spegnere il dispositivo, quindi tenere premuta una combinazione di tasti (ad esempio, accensione + volume giù) e collegarlo al PC tramite USB. | |||
''Modalità bootloader:'' il dispositivo deve essere avviato in modalità fastboot (detta anche “modalità bootloader”). | |||
''Ingresso:'' spegnere il dispositivo, quindi tenere premuta una combinazione di tasti (ad esempio, accensione + volume giù) e collegarlo al PC tramite USB. | |||
In alternativa, tramite ADB: | In alternativa, tramite ADB: | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
adb reboot bootloader | adb reboot bootloader | ||
</div> | |||
<div style="color: #FF1010; font-size: 16px"> | |||
Bootloader sbloccato (opzionale): Molti comandi richiedono lo sblocco del bootloader (vedere sotto). | Bootloader sbloccato (opzionale): Molti comandi richiedono lo sblocco del bootloader (vedere sotto). | ||
</div> | |||
===Comandi di connessione e di stato=== | ===Comandi di connessione e di stato=== | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot devices | fastboot devices | ||
</div> | |||
Descrizione: elenca tutti i dispositivi in modalità fastboot. | '''Descrizione:''' elenca tutti i dispositivi in modalità fastboot. | ||
Esempio: fastboot device → Uscita: “1234567890 fastboot”. | '''Esempio:''' <code>fastboot device</code> → Uscita: <code>“1234567890 fastboot”</code>. | ||
Suggerimento: se non viene visualizzato nulla, controllare la connessione USB o il driver. | '''Suggerimento:''' se non viene visualizzato nulla, controllare la connessione USB o il driver. | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot getvar <variabile> | fastboot getvar <variabile> | ||
</div> | |||
Descrizione: visualizza informazioni sul dispositivo (ad esempio lo stato del bootloader). | '''Descrizione:''' visualizza informazioni sul dispositivo (ad esempio lo stato del bootloader). | ||
Esempio: fastboot getvar unlocked → Uscita: “sì” (sbloccato) o “no” (bloccato). | '''Esempio:''' <code>fastboot getvar unlocked</code> → Uscita: “sì” (sbloccato) o “no” (bloccato). | ||
===Operazioni del bootloader=== | ===Operazioni del bootloader=== | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot oem unlock | fastboot oem unlock | ||
</div> | |||
Descrizione: sblocca il bootloader (attenzione: cancella tutti i dati!). | '''Descrizione:''' sblocca il bootloader (attenzione: cancella tutti i dati!). | ||
Esempio: fastboot oem unlock | '''Esempio:''' <code>fastboot oem unlock</code> | ||
Nota: non disponibile per tutti i dispositivi; alcuni (ad esempio Xiaomi) richiedono un codice di sblocco dal produttore. | '''Nota:''' non disponibile per tutti i dispositivi; alcuni (ad esempio Xiaomi) richiedono un codice di sblocco dal produttore. | ||
Alternativa: fastboot flashing unlock (dispositivi più recenti). | '''Alternativa:''' <code>fastboot flashing unlock</code> (dispositivi più recenti). | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot oem lock | fastboot oem lock | ||
</div> | |||
Descrizione: blocca nuovamente il bootloader. | '''Descrizione:''' blocca nuovamente il bootloader. | ||
Esempio: fastboot oem lock | '''Esempio:''' <code>fastboot oem lock</code> | ||
Nota: spesso il dispositivo viene resettato. | '''Nota: spesso il dispositivo viene resettato.''' | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot flashing lock | fastboot flashing lock | ||
</div> | |||
Descrizione: alternativa al blocco (versioni Android più recenti). | '''Descrizione:''' alternativa al blocco (versioni Android più recenti). | ||
Esempio: fastboot flashing lock | '''Esempio:''' <code>fastboot flashing lock</code> | ||
===Partizionamento=== | ===Partizionamento=== | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot flash <partizione> <file> | fastboot flash <partizione> <file> | ||
</div> | |||
Descrizione: scrive un file immagine in una partizione specifica (ad esempio, avvio, ripristino, sistema). | '''Descrizione:''' scrive un file immagine in una partizione specifica (ad esempio, avvio, ripristino, sistema). | ||
Esempio: fastboot flash recovery recovery.img → Esegue il flash di un ripristino personalizzato come TWRP. | '''Esempio:''' <code>fastboot flash recovery recovery.img</code> → Esegue il flash di un ripristino personalizzato come TWRP. | ||
Partizioni frequenti: | ''Partizioni frequenti:'' | ||
boot: disco del kernel e della RAM. | ''boot:'' disco del kernel e della RAM. | ||
recovery: modalità di recupero. | ''recovery:'' modalità di recupero. | ||
system: sistema operativo Android. | ''system:'' sistema operativo Android. | ||
vbmeta: | ''vbmeta:'' dati di verifica (per Android Verified Boot). | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot flashall | fastboot flashall | ||
</div> | |||
Descrizione: esegue il flash di tutte le partizioni da un'immagine di fabbrica (ad esempio boot.img, system.img). | '''Descrizione:''' esegue il flash di tutte le partizioni da un'immagine di fabbrica (ad esempio boot.img, system.img). | ||
Esempio: fastboot flashall (i file devono trovarsi nella stessa directory). | '''Esempio:''' <code>fastboot flashall</code> (i file devono trovarsi nella stessa directory). | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot erase <partizione> | fastboot erase <partizione> | ||
</div> | |||
Descrizione: cancella una partizione. | '''Descrizione:''' cancella una partizione. | ||
Esempio: fastboot erase userdata → Cancella tutti i dati utente. | '''Esempio:''' <code>fastboot erase userdata</code> → Cancella tutti i dati utente. | ||
===Controllo del dispositivo=== | ===Controllo del dispositivo=== | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot reboot | fastboot reboot | ||
</div> | |||
Descrizione: riavvia il dispositivo nel sistema normale. | '''Descrizione:''' riavvia il dispositivo nel sistema normale. | ||
Esempio: fastboot reboot | '''Esempio:''' <code>fastboot reboot</code> | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot reboot recovery | fastboot reboot recovery | ||
</div> | |||
Descrizione: avvia il menu di ripristino. | '''Descrizione:''' avvia il menu di ripristino. | ||
Esempio: fastboot reboot recovery | '''Esempio:''' <code>fastboot reboot recovery</code> | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot reboot bootloader | fastboot reboot bootloader | ||
</div> | |||
Descrizione: Avvia la modalità fastboot. | '''Descrizione:''' Avvia la modalità fastboot. | ||
Esempio: fastboot reboot bootloader | '''Esempio:''' <code>fastboot reboot bootloader</code> | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot boot <file> | fastboot boot <file> | ||
</div> | |||
Descrizione: Avvia un'immagine (ad esempio, la recovery) senza flasharla, ideale per i test. | '''Descrizione:''' Avvia un'immagine (ad esempio, la recovery) senza flasharla, ideale per i test. | ||
Esempio: fastboot boot recovery.img | '''Esempio:''' <code>fastboot boot recovery.img</code> | ||
===Comandi avanzati=== | ===Comandi avanzati=== | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot update <file zip> | fastboot update <file zip> | ||
</div> | |||
Descrizione: installa un aggiornamento da un file ZIP (ad esempio un aggiornamento OTA). | '''Descrizione:''' installa un aggiornamento da un file ZIP (ad esempio un aggiornamento OTA). | ||
Esempio: fastboot update update.zip | '''Esempio:'' <code>fastboot update update.zip</code> | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot oem device-info | fastboot oem device-info | ||
</div> | |||
Descrizione: mostra le informazioni sul dispositivo (ad esempio, lo stato del bootloader). | '''Descrizione:''' mostra le informazioni sul dispositivo (ad esempio, lo stato del bootloader). | ||
Esempio: fastboot oem device-info | '''Esempio:''' <code>fastboot oem device-info</code> | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot set_active <slot> | fastboot set_active <slot> | ||
</div> | |||
Descrizione: Consente di passare da una partizione A/B all'altra (per i dispositivi con aggiornamenti continui). | '''Descrizione:''' Consente di passare da una partizione A/B all'altra (per i dispositivi con aggiornamenti continui). | ||
Esempio: fastboot set_active a | '''Esempio:''' <code>fastboot set_active a</code> oppure <code>fastboot set_active b</code> | ||
===Esempi pratici=== | ===Esempi pratici=== | ||
Sbloccare il bootloader: | ''Sbloccare il bootloader:'' | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
adb reboot bootloader | adb reboot bootloader | ||
fastboot flashing unlock | fastboot flashing unlock | ||
</div> | |||
Confermare sul dispositivo → I dati sono stati cancellati, il bootloader è aperto. | Confermare sul dispositivo → I dati sono stati cancellati, il bootloader è aperto. | ||
''Installare la TWRP Recovery (se disponibile):'' | |||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
adb reboot bootloader | adb reboot bootloader | ||
| Zeile 406: | Zeile 447: | ||
fastboot reboot recovery | fastboot reboot recovery | ||
</div> | |||
→ Avvia la TWRP. | → Avvia la TWRP. | ||
Ripristina l'immagine di fabbrica: | |||
''Ripristina l'immagine di fabbrica:'' | |||
Scompattare l'immagine di fabbrica | Scompattare l'immagine di fabbrica | ||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
adb reboot bootloader | adb reboot bootloader | ||
fastboot flashall | fastboot flashall | ||
</div> | |||
→ Esegue il flash dell'avvio, del sistema, della recovery, ecc. | → Esegue il flash dell'avvio, del sistema, della recovery, ecc. | ||
''Test temporaneo di una recovery:'' | |||
<div style="font-family: 'Courier New'; font-size: 18px; background-color:#F0F0F0; padding:10px;"> | |||
fastboot boot twrp-<numero>.img | fastboot boot twrp-<numero>.img | ||
</div> | |||
→ Avvia la TWRP senza installazione. | → Avvia la TWRP senza installazione. | ||
| Zeile 423: | Zeile 473: | ||
===Note importanti=== | ===Note importanti=== | ||
Perdita di dati: comandi come sblocco oem o cancellazione cancellano tutti i dati. Creare prima un backup! | '''Risoluzione dei problemi:''' | ||
''“Fastboot non trovato":'' Controllare se Fastboot è installato (fastboot --version). | |||
''Il dispositivo non viene riconosciuto:'' Provare un altro cavo/porta USB o aggiornare i driver. | |||
''“Waiting for device":'' verificare che il dispositivo sia in modalità fastboot (fastboot devices). | |||
<div style="background-color:#ffcccc; padding:10px; border:1px solid #ff0000;"> | |||
'''Perdita di dati:''' comandi come sblocco oem o cancellazione cancellano tutti i dati. Creare prima un backup! | |||
Garanzia: lo sblocco del bootloader può invalidare la garanzia | '''Garanzia:''' lo sblocco del bootloader può invalidare la garanzia. | ||
'''Pericolo di brick:''' un flashing errato (ad esempio un'immagine incompatibile) può rendere il dispositivo inutilizzabile (soft brick). | |||
</div> | |||
<div style="background-color:#ffcccc; padding:10px; border:1px solid #ff0000;"> | |||
Queste istruzioni sono rivolte a tutti gli utenti che sono consapevoli dei rischi di interferenza con le opzioni dello sviluppatore e che hanno familiarizzato con le possibilità di ADB. | Queste istruzioni sono rivolte a tutti gli utenti che sono consapevoli dei rischi di interferenza con le opzioni dello sviluppatore e che hanno familiarizzato con le possibilità di ADB. | ||
Volla non si assume alcuna responsabilità in caso di perdita di dati o complicazioni del dispositivo. | Volla non si assume alcuna responsabilità in caso di perdita di dati o complicazioni del dispositivo. | ||
L'uso di questa guida è sempre a proprio rischio e pericolo ed è espressamente sconsigliato agli utenti senza esperienza. | L'uso di questa guida è sempre a proprio rischio e pericolo ed è espressamente sconsigliato agli utenti senza esperienza. | ||
</div> | |||
<div style="background-color:#cccccc; padding:10px; border:1px solid #000000;"> | <div style="background-color:#cccccc; padding:10px; border:1px solid #000000;"> | ||
Aktuelle Version vom 22. Mai 2025, 17:32 Uhr
Queste istruzioni sono rivolte a tutti gli utenti che sono consapevoli dei rischi di interferenza con le opzioni dello sviluppatore e che hanno familiarizzato con le possibilità di ADB.
Volla non si assume alcuna responsabilità in caso di perdita di dati o complicazioni del dispositivo.
L'uso di questa guida è sempre a proprio rischio e pericolo ed è espressamente sconsigliato agli utenti senza esperienza.
ADB - Android Debug Bridge
Nozioni di base sui comandi ADB I comandi ADB vengono immessi tramite un terminale (Windows: Prompt dei comandi/PowerShell, macOS/Linux: Terminale). La sintassi generale è:
adb [Opzioni] [Comando] [Parametri]
È necessario assicurarsi che ADB sia installato sul computer (tramite l'SDK Android o come strumento ADB minimo). Il dispositivo deve essere collegato con il debug USB o il debug wireless (Opzioni per gli sviluppatori - Panoramica).
Comandi di connessione e di stato
adb device
Descrizione: elenca tutti i dispositivi collegati.
Esempio: adb devices → Output: “1234567890abcdef device” (dispositivo connesso) o “192.168.1.100:5555 device” (wireless).
Suggerimento: se appare “non autorizzato”, controllare la query di debug sul dispositivo.
adb connect <IP>:<Porta>
Descrizione: consente di collegarsi a un dispositivo tramite WLAN.
Esempio: adb connect 192.168.1.100:5555
adb disconnect <IP>:<Porta>
Descrizione: Disconnette la connessione wireless.
Esempio: adb disconnect 192.168.1.100:5555
adb pair <IP>:<Porta>
Descrizione: accoppia un dispositivo con un codice di accoppiamento (per il debug wireless).
Esempio: adb pair 192.168.1.100:37000 → Inserire il codice (ad esempio “123456”).
Accesso alla shell
adb shell
Descrizione: apre una shell interattiva sul dispositivo per eseguire comandi Linux.
Esempio: adb shell → Poi, ad esempio, ls (mostra i comandi come in Windows).
adb shell <comando>
Descrizione: Esegue un singolo comando senza tenere aperta la shell. Esempio:
adb shell pm list packages
Elenca tutte le applicazioni installate (nomi dei pacchetti).
Gestione delle App
adb install <percorso-APK>
Descrizione: installa un file APK sul dispositivo.
Esempio: adb install C:\Apps\meineapp.apk
Opzione: -r sovrascrive un'applicazione esistente (ad esempio, adb install -r meineapp.apk).
adb uninstall <nome del pacchetto>
Descrizione: disinstalla un'applicazione (è richiesto il nome del pacchetto).
Esempio: adb uninstall com.example.app
Opzione: -k mantiene i dati/cache (ad esempio, adb uninstall -k com.example.app).
adb shell pm disable-user <nome del pacchetto>
Descrizione: disattiva un'applicazione senza disinstallarla (ad es. bloatware).
Esempio: adb shell pm disable-user com.samsung.bloat
adb shell pm enable <nome del pacchetto>
Descrizione: riattiva un'applicazione disattivata.
Esempio: adb shell pm enable com.samsung.bloat
Trasferimento di files
adb push <percorso locale> <percorso del dispositivo>
Descrizione: copia un file dal computer al dispositivo.
Esempio: adb push C:\Files\test.txt /sdcard/
Suggerimento: la directory di destinazione deve esistere ed essere accessibile.
adb pull <percorso del dispositivo> <percorso locale>
Descrizione: copia un file dal dispositivo al computer.
Esempio: adb pull /sdcard/test.txt C:\Files\
Informazioni sul dispositivo e debug
adb logcat
Descrizione: mostra i log in tempo reale del dispositivo (utile per gli sviluppatori).
Esempio: adb logcat → Premere Ctrl+C per uscire.
Opzione: adb logcat | grep “Error” filtra per termini specifici.
adb shell dumpsys
Descrizione: fornisce informazioni dettagliate sul sistema.
Esempio: adb shell dumpsys battery → Mostra lo stato della batteria.
adb shell getprop
Descrizione: elenca le proprietà del dispositivo (ad esempio, la versione di Android).
Esempio: adb shell getprop ro.build.version.release → Mostra ad esempio “14”.
Controllo del dispositivo
adb reboot
Descrizione: riavvia il dispositivo.
Esempio: adb reboot
Opzioni: adb reboot recovery (in modalità recovery) o adb reboot bootloader (in fastboot).
adb shell input tap <x> <y>
Descrizione: simula un tocco sullo schermo (coordinate in pixel).
Esempio: adb shell input tap 500 1000 → Tocca su X=500, Y=1000.
adb shell input text <testo>
Descrizione: Immette un testo.
Esempio: adb shell input text “Hello” → Tocca “Hello”.
Rete e schermate
adb shell screencap <percorso>
Descrizione: crea uno screenshot sul dispositivo.
Esempio: adb shell screencap /sdcard/screenshot.png → Poi scarica con adb pull.
adb shell screenrecord <percorso>
Descrizione: registra un video dello schermo (massimo 3 minuti).
Esempio: adb shell screenrecord /sdcard/video.mp4 → Ctrl+C per interrompere.
adb shell ifconfig
Descrizione: mostra i dettagli della rete (ad esempio l'indirizzo IP).
Esempio: adb shell ifconfig wlan0
Comandi avanzati
adb shell pm grant <nome pacchetto> <autorizzazione>
Descrizione: concede a un'applicazione un'autorizzazione specifica.
Esempio: adb shell pm grant com.example.app android.permission.WRITE_SECURE_SETTINGS
adb shell wm size <larghezza>x<altezza>
Descrizione: modifica la risoluzione dello schermo (per i test).
Esempio: adb shell wm size 720x1280
Reset: adb shell wm size reset
adb shell am start -n <nome pacchetto>/<attività>
Descrizione: avvia direttamente un'applicazione o un'attività.
Esempio: adb shell at start -n com.android.settings/.Settings
adb backup -apk -shared -all -f<file>
Descrizione: crea un backup del dispositivo.
Esempio: adb backup -apk -shared -all -f backup.ab
Esempi pratici
Rimuovere il bloatware senza essere root
Trovare il nome del pacchetto:
adb shell pm list packages | grep “nome pacchetto”
Disattivarlo:
adb shell pm disable-user com.<nome del pacchetto>
Fare uno screenshot e scaricarlo direttamete:
adb shell screencap /sdcard/screenshot.png && adb pull /sdcard/screenshot.png C:\Screenshot\
Installare un'applicazione senza store:
adb install C:\Downloads\app.apk
Tipps und Tricks
Se sono collegati più dispositivi, aggiungere -s , ad esempio:
adb -s 1234567890abcdef shell
Usare && per azioni multiple, ad esempio:
adb shell screencap /sdcard/test.png && adb pull /sdcard/test.png
creare scorciatoie nel terminale :ad esempio
alias screenshot='adb shell screencap...'
Restrizioni: Senza accesso root, molte aree del sistema sono bloccate (ad esempio, /system).
Fastboot
È un altro potente strumento dell'ecosistema Android che viene spesso utilizzato in combinazione con ADB, ma funziona a un livello più profondo. È particolarmente utile per le operazioni di bootloader, flashing del firmware e modifiche del dispositivo.
Che cos'è Fastboot? Fastboot è un protocollo e uno strumento a riga di comando che consente di interagire direttamente con il bootloader di un dispositivo Android. Il bootloader è il software che viene caricato all'avvio del dispositivo prima dell'avvio del sistema operativo (Android). Con Fastboot è possibile eseguire il flashing delle partizioni di sistema, sbloccare il bootloader o resettare i dispositivi, cose che non sono possibili tramite ADB.
Differenza rispetto ad ADB: ADB funziona all'interno del sistema Android in esecuzione, mentre Fastboot è attivo in modalità bootloader.
Prerequisiti: Fastboot deve essere installato sul computer (tramite l'SDK Android o come parte di Minimal ADB e Fastboot).
Requisiti per Fastboot
Driver Fastboot: assicurarsi che i driver Fastboot siano installati sul PC (spesso fanno parte dei driver USB di Google per Windows).
Cavo USB: Fastboot funziona solo tramite connessione USB (nessuna modalità wireless).
Modalità bootloader: il dispositivo deve essere avviato in modalità fastboot (detta anche “modalità bootloader”).
Ingresso: spegnere il dispositivo, quindi tenere premuta una combinazione di tasti (ad esempio, accensione + volume giù) e collegarlo al PC tramite USB.
In alternativa, tramite ADB:
adb reboot bootloader
Bootloader sbloccato (opzionale): Molti comandi richiedono lo sblocco del bootloader (vedere sotto).
Comandi di connessione e di stato
fastboot devices
Descrizione: elenca tutti i dispositivi in modalità fastboot.
Esempio: fastboot device → Uscita: “1234567890 fastboot”.
Suggerimento: se non viene visualizzato nulla, controllare la connessione USB o il driver.
fastboot getvar <variabile>
Descrizione: visualizza informazioni sul dispositivo (ad esempio lo stato del bootloader).
Esempio: fastboot getvar unlocked → Uscita: “sì” (sbloccato) o “no” (bloccato).
Operazioni del bootloader
fastboot oem unlock
Descrizione: sblocca il bootloader (attenzione: cancella tutti i dati!).
Esempio: fastboot oem unlock
Nota: non disponibile per tutti i dispositivi; alcuni (ad esempio Xiaomi) richiedono un codice di sblocco dal produttore.
Alternativa: fastboot flashing unlock (dispositivi più recenti).
fastboot oem lock
Descrizione: blocca nuovamente il bootloader.
Esempio: fastboot oem lock
Nota: spesso il dispositivo viene resettato.
fastboot flashing lock
Descrizione: alternativa al blocco (versioni Android più recenti).
Esempio: fastboot flashing lock
Partizionamento
fastboot flash <partizione> <file>
Descrizione: scrive un file immagine in una partizione specifica (ad esempio, avvio, ripristino, sistema).
Esempio: fastboot flash recovery recovery.img → Esegue il flash di un ripristino personalizzato come TWRP.
Partizioni frequenti:
boot: disco del kernel e della RAM. recovery: modalità di recupero. system: sistema operativo Android. vbmeta: dati di verifica (per Android Verified Boot).
fastboot flashall
Descrizione: esegue il flash di tutte le partizioni da un'immagine di fabbrica (ad esempio boot.img, system.img).
Esempio: fastboot flashall (i file devono trovarsi nella stessa directory).
fastboot erase <partizione>
Descrizione: cancella una partizione.
Esempio: fastboot erase userdata → Cancella tutti i dati utente.
Controllo del dispositivo
fastboot reboot
Descrizione: riavvia il dispositivo nel sistema normale.
Esempio: fastboot reboot
fastboot reboot recovery
Descrizione: avvia il menu di ripristino.
Esempio: fastboot reboot recovery
fastboot reboot bootloader
Descrizione: Avvia la modalità fastboot.
Esempio: fastboot reboot bootloader
fastboot boot <file>
Descrizione: Avvia un'immagine (ad esempio, la recovery) senza flasharla, ideale per i test.
Esempio: fastboot boot recovery.img
Comandi avanzati
fastboot update <file zip>
Descrizione: installa un aggiornamento da un file ZIP (ad esempio un aggiornamento OTA).
'Esempio: fastboot update update.zip
fastboot oem device-info
Descrizione: mostra le informazioni sul dispositivo (ad esempio, lo stato del bootloader).
Esempio: fastboot oem device-info
fastboot set_active <slot>
Descrizione: Consente di passare da una partizione A/B all'altra (per i dispositivi con aggiornamenti continui).
Esempio: fastboot set_active a oppure fastboot set_active b
Esempi pratici
Sbloccare il bootloader:
adb reboot bootloader
fastboot flashing unlock
Confermare sul dispositivo → I dati sono stati cancellati, il bootloader è aperto.
Installare la TWRP Recovery (se disponibile):
adb reboot bootloader
fastboot flash recovery twrp-<numero>.img
fastboot reboot recovery
→ Avvia la TWRP.
Ripristina l'immagine di fabbrica:
Scompattare l'immagine di fabbrica
adb reboot bootloader
fastboot flashall
→ Esegue il flash dell'avvio, del sistema, della recovery, ecc.
Test temporaneo di una recovery:
fastboot boot twrp-<numero>.img
→ Avvia la TWRP senza installazione.
Note importanti
Risoluzione dei problemi:
“Fastboot non trovato": Controllare se Fastboot è installato (fastboot --version).
Il dispositivo non viene riconosciuto: Provare un altro cavo/porta USB o aggiornare i driver.
“Waiting for device": verificare che il dispositivo sia in modalità fastboot (fastboot devices).
Perdita di dati: comandi come sblocco oem o cancellazione cancellano tutti i dati. Creare prima un backup!
Garanzia: lo sblocco del bootloader può invalidare la garanzia.
Pericolo di brick: un flashing errato (ad esempio un'immagine incompatibile) può rendere il dispositivo inutilizzabile (soft brick).
Queste istruzioni sono rivolte a tutti gli utenti che sono consapevoli dei rischi di interferenza con le opzioni dello sviluppatore e che hanno familiarizzato con le possibilità di ADB.
Volla non si assume alcuna responsabilità in caso di perdita di dati o complicazioni del dispositivo.
L'uso di questa guida è sempre a proprio rischio e pericolo ed è espressamente sconsigliato agli utenti senza esperienza.
Articolo originale (Deutsch): ADB und Fastboot
Articolo originale (English): ADB and Fastboot