Home » Recuperare codice IntelliJ IDEA: cronologia locale e ripristini selettivi

Recuperare codice IntelliJ IDEA: cronologia locale e ripristini selettivi

Immagina che un metodo scompaia durante la pulizia, ma successivamente siano seguite diverse soluzioni utili. Ripristinare l’intero progetto a ieri potrebbe ripristinare il metodo e rimuovere tali correzioni. Un obiettivo di ripristino migliore è la più piccola modifica coerente: il metodo, le relative importazioni ed eventuali aggiornamenti complementari necessari. Questo articolo si concentra su questo…

Updated on

Recuperare codice IntelliJ IDEA: cronologia locale e ripristini selettivi

Recupera la modifica prevista senza perdere il lavoro più recente

IntelliJ IDEA può conservare le revisioni locali che non hanno mai raggiunto un repository. Ciò può essere utile quando un refactoring ha rimosso codice utile, un file è scomparso o una modifica recente si è rivelata errata. Tuttavia, la storia locale è una rete di sicurezza operativa limitata piuttosto che un backup permanente. Inizia identificando l’esatta modifica mancante e preservando il progetto corrente prima di applicare qualsiasi annullamento.

Immagina che un metodo scompaia durante la pulizia, ma successivamente siano seguite diverse soluzioni utili. Ripristinare l’intero progetto a ieri potrebbe ripristinare il metodo e rimuovere tali correzioni. Un obiettivo di ripristino migliore è la più piccola modifica coerente: il metodo, le relative importazioni ed eventuali aggiornamenti complementari necessari. Questo articolo si concentra su questo approccio selettivo e spiega anche cosa controllare quando manca un intero file. In questo caso, il ripristino gratuito significa utilizzare la cronologia conservata o le copie di progetti esistenti senza acquistare un altro strumento di ripristino. È comunque necessario l’accesso legittimo all’IDE installato e a eventuali dipendenze con licenza separata.

Conserva gli editor e i file di progetto correnti

Se il codice utile rimane visibile in un editor, salvalo o copialo prima in una posizione di ripristino separata. Includi le modifiche non salvate che altrimenti potresti perdere durante un ripristino generale. Registra la radice del progetto, la versione IDE e il tempo approssimativo dell’incidente. Mantieni distinti il ​​progetto di lavoro e gli eventuali candidati al ripristino in modo da poterli confrontare senza considerarne uno automaticamente autorevole.

Evitare di aggiornare, reinstallare o cancellare i dati del sistema IDE mentre la cronologia locale è ancora una possibile fonte. Le sue regole di conservazione e archiviazione differiscono dai normali file di progetto. Un backup del progetto potrebbe non includere il database della cronologia locale dell’IDE, mentre la sola copia delle impostazioni dell’IDE non preserva l’albero di origine. Conserva entrambe le categorie quando possibile e nota quale rappresenta ciascuna copia.

Conferma il progetto e il ramo prima di ripristinare

Controlla il percorso completo del progetto e il ramo corrente. Un clone con nome simile, un altro albero di lavoro o un checkout modificato possono far apparire il codice mancante anche se rimane nella posizione prevista altrove. Confronta una modifica recente riconoscibile e lo stato del repository. Se è aperto il progetto sbagliato, cambialo deliberatamente invece di provare a ricreare il codice assente attraverso reversioni non necessarie.

Controlla anche se un filtro di visualizzazione, una directory esclusa o un pacchetto rinominato spiega il file mancante. Cerca un simbolo distintivo nel progetto reale. Un file spostato dal refactoring potrebbe essere presente con un nuovo nome. Trovare quel file preserva più contesto rispetto al ripristino di un duplicato precedente che potrebbe entrare in conflitto con la progettazione corrente. Confermare l’assenza fisica prima di trattare il problema come una cancellazione.

Definire un obiettivo di recupero verificabile

Scrivi cosa significa successo in termini concreti. Ad esempio, potrebbe essere necessario che un parser accetti nuovamente un input noto, un dispositivo di test eliminato da restituire o una chiave di configurazione per mantenere il suo valore precedente. Questo è più utile del vago obiettivo di far sembrare il progetto come ieri. Guida sia la selezione dei candidati che la convalida finale.

Se non ricordi l’implementazione esatta, utilizza prove provenienti da test, note di rilascio o risultati noti per restringere la ricerca. Mantieni le prove separate dalle ipotesi. La storia locale può mostrare ciò che esisteva, ma non decide quale implementazione fosse corretta. Una revisione recuperata necessita di una ragione per essere accettata, soprattutto quando diversi esperimenti contengono nomi di metodi simili e comportamenti diversi.

Metodo gratuito 1: recuperare un frammento di codice dalla cronologia locale

Per un file che esiste ancora, apri la visualizzazione Cronologia locale e controlla le revisioni relative all’incidente. Il confronto può mostrare il file corrente accanto a uno stato precedente. Individua il frammento mancante ed esamina il contesto circostante. Conserva prima il file corrente, quindi ripristina solo il blocco pertinente quando gli strumenti di confronto supportano tale azione nella tua versione.

Leggere il codice ripristinato nel suo nuovo contesto. Le importazioni, i simboli rinominati e le firme dei metodi modificati possono influire sull’appartenenza di un frammento precedente. Non accettare l’unione semplicemente perché le linee desiderate ricompaiono. Confronta i siti di chiamata e i test dipendenti. Un piccolo restauro selettivo può preservare il lavoro più recente, ma solo se si comprendono le relazioni previste dal codice precedente.

  1. Apri la cronologia locale per il file esistente e trova lo stato precedente pertinente.
  2. Confronta il blocco mancante con il codice corrente e conserva la versione corrente separatamente.
  3. Ripristina il frammento coerente più piccolo, comprese le modifiche richieste al compagno.
  4. Esamina la differenza risultante ed esegui un controllo mirato per il comportamento ripristinato.

Preferire un frammento rispetto a un file intero Ripristina quando appropriato

Supponiamo che tu abbia eliminato un ramo di convalida dell’input prima di risolvere un problema di registrazione non correlato. Il ripristino del solo blocco di convalida può mantenere la correzione della registrazione. Un ripristino dell’intero file rimuoverebbe entrambe le modifiche. Usa il confronto storico per comprendere quel confine. Se il blocco mancante dipende da un refactoring più ampio, espandere deliberatamente l’ambito del ripristino anziché dare per scontato che poche righe copiate saranno sempre sufficienti.

Prendi nota della revisione e del motivo per cui l’hai scelta. Questo record aiuta quando un compagno di squadra chiede perché è ricomparsa un’implementazione precedente. Inoltre, semplifica la revisione successiva nel caso in cui la prima prova fallisca. È possibile tornare alla versione corrente preservata e testare un altro candidato senza indovinare quali modifiche manuali provenissero dal ripristino e quali dal successivo debug.

Metodo gratuito 2: ripristinare un file eliminato tramite il suo genitore

Quando il file stesso non c’è più, controlla la cronologia locale nella directory principale o nel nodo del progetto. Cerca uno stato che contenga ancora il file mancante. Esaminarne il contenuto e il percorso prima di ripristinare la selezione. Un’azione di cronologia a livello di file non può essere d’aiuto se non hai file da selezionare, motivo per cui il contesto principale è importante per questo percorso di ripristino.

Ripristina inizialmente solo la risorsa necessaria. Quindi ispeziona i nomi dei pacchetti, i riferimenti e qualsiasi controparte generata che potrebbe ora essere in conflitto. Un file eliminato può avere una sostituzione corrente con un altro nome. Se ripristini il vecchio file senza verificare la modifica, potresti introdurre un comportamento duplicato anziché ripristinare la funzionalità mancante. Utilizza le differenze del progetto per vedere esattamente cosa ha aggiunto il restauro.

Controlla eliminazioni e ridenominazioni correlate

Un evento di eliminazione può far parte di un’operazione più ampia. Esamina le modifiche successive per determinare se un test, una risorsa o una voce di configurazione sono scomparsi contemporaneamente. Il ripristino solo del file sorgente potrebbe lasciare la sua funzionalità inutilizzabile. Al contrario, il ripristino di tutti i file dell’evento potrebbe annullare la pulizia intenzionale. Tratta ogni elemento correlato come un candidato di cui puoi spiegare il ruolo.

Per i file rinominati, confrontare il contenuto anziché fare affidamento solo sui nomi dei percorsi. L’implementazione desiderata può sopravvivere nella destinazione rinominata, mentre viene interrotto solo un vecchio riferimento. In tale situazione, riparare il riferimento può essere più appropriato che ripristinare l’originale cancellato. Tieni in vista l’obiettivo del ripristino: desideri il comportamento previsto e una fonte affidabile, non semplicemente un nome file familiare nell’albero del progetto.

Metodo gratuito 3: utilizzare le revisioni del repository esistente in modo selettivo

Se il progetto dispone già del controllo della versione, ispeziona la cronologia impegnata e i rami sopravvissuti per il materiale mancante. Esporta il file desiderato o crea un checkout di prova separato anziché reimpostare il progetto corrente. Il repository fornisce un’utile base di riferimento, ma potrebbe non includere le modifiche recenti non salvate. Confrontalo con la storia locale e con il contenuto dell’editor sopravvissuto prima di decidere quale fonte è più completa.

Per una modifica distribuita su più file, una revisione coerente e confermata può essere più semplice da convalidare rispetto a frammenti isolati. Conserva comunque le correzioni successive di cui hai bisogno. Utilizzare un differenziale o una patch revisionata per combinare le modifiche accettate e testare il risultato in un luogo di lavoro separato quando possibile. Questa è un’operazione di ripristino, quindi mantieni la formattazione non correlata e gli aggiornamenti delle dipendenze fuori dalla stessa modifica.

Mantieni distinte la cronologia del repository e la cronologia locale

Un commit del repository registra uno stato deliberato del progetto, mentre la cronologia locale dell’IDE può acquisire ulteriori modifiche locali. Nessuno dei due contiene automaticamente l’altro. Se una funzione mancante è stata scritta dopo l’ultimo commit, la cronologia del repository potrebbe offrire solo l’impalcatura precedente. Se la cronologia locale è scaduta, una versione confermata potrebbe rimanere l’unica fonte affidabile. Scegli in base ai contenuti effettivi, non a quale funzionalità sembra più completa.

Non inviare o pubblicare un esperimento recuperato semplicemente per creare un backup durante la diagnosi. Per prima cosa conservalo localmente e rivedi cosa contiene. Il codice recuperato può includere endpoint obsoleti, debug temporaneo o funzionalità incomplete. Un checkpoint di ripristino locale verificato è utile, ma la condivisione esterna è un’azione separata con un proprio pubblico e uno scopo. Mantieni la revisione incentrata sul ripristino sicuro del progetto previsto.

Comprendere la conservazione e l’archiviazione della cronologia locale

IntelliJ IDEA archivia la cronologia locale separatamente dai normali file di origine e l’archiviazione può dipendere dalla versione del prodotto e dalla configurazione della directory di sistema. Consulta le impostazioni e la documentazione dell’installazione utilizzata. Se hai modificato versioni o percorsi di sistema, l’installazione corrente potrebbe non visualizzare la stessa cronologia conservata. Conserva i dati di sistema esistenti prima di tentare una migrazione o una pulizia.

Non dare per scontato che l’installazione di un nuovo IDE ricostruisca le vecchie revisioni. I limiti di conservazione e gli aggiornamenti possono rimuovere l’accesso alla cronologia locale precedente. L’aumento di un’impostazione di conservazione ora influisce sull’archiviazione futura, non sugli stati già eliminati. Se non viene visualizzata alcuna cronologia rilevante, registra il limite e passa ad altre fonti reali, come un clone esistente o una copia del progetto salvato. La modifica ripetuta delle preferenze non può ricreare le revisioni assenti.

Evitare di modificare direttamente il database della cronologia

L’archivio della cronologia locale non è una cartella di normali file di origine che è possibile rinominare. Tratta i dati interni come gestiti dall’applicazione. Se lo conservi, copialo mentre l’applicazione è chiusa quando possibile e mantieni la copia invariata. Utilizza le interfacce di ripristino supportate per l’ispezione invece di modificare i record interni nella speranza che una revisione mancante ricompaia.

Se l’intero progetto viene eliminato, il ripristino può diventare più dipendente dai percorsi, dai dati di sistema conservati e dall’esatta versione IDE. Non creare nuovi file di progetto su un volume in cui il recupero dei file eliminati potrebbe essere ancora importante. Conserva innanzitutto le prove esistenti e valuta le opzioni supportate per la tua situazione. Il ripristino dell’intero progetto non deve essere presentato come un’estensione garantita del semplice flusso di lavoro della cronologia dei file.

Esaminare un refactoring recuperato come modifica coerente

Il refactoring spesso aggiorna insieme dichiarazioni, utilizzi, test e configurazione. Se si ripristina solo una dichiarazione precedente, il progetto potrebbe essere compilato in modo errato o non riuscire in fase di esecuzione. Confronta il grafico delle chiamate interessato e cerca i nomi dei simboli vecchi e nuovi. Ciò identifica i riferimenti che necessitano di una gestione deliberata e ti aiuta a evitare di mescolare due fasi incompatibili dello stesso refactoring.

Guarda oltre gli errori di compilazione. Un vecchio sovraccarico potrebbe ancora essere compilato accettando una regola di unità, impostazione predefinita o gestione null diversa. Utilizzare test rappresentativi per confermare il comportamento previsto. Quando un blocco recuperato modifica il comportamento pubblico, rivedi esplicitamente gli input e gli output previsti. Il ripristino ha esito positivo quando il progetto si comporta correttamente con la fonte accettata, non quando l’editor smette di mostrare le sottolineature rosse.

Conserva le modifiche più recenti utili durante l’unione

Prima di applicare un ripristino più grande, identificare le modifiche più recenti che devono rimanere. Salvali come patch o copie separate utilizzando gli strumenti disponibili nel tuo flusso di lavoro. Quindi confrontare attentamente il risultato combinato. Una patch può preservare le differenze di testo, ma i conflitti richiedono comunque un giudizio. Non risolvere ogni conflitto scegliendo automaticamente il lato ripristinato o il lato più recente nell’intero progetto.

Dopo l’unione, controlla la differenza finale senza la finestra di dialogo della cronologia. Questa nuova visualizzazione rivela eliminazioni accidentali, importazioni duplicate e formattazione non correlata che un confronto mirato dei frammenti può nascondere. Rimuovi solo le modifiche che comprendi e mantieni disponibili i candidati originali. Se non riesci a spiegare una differenza, contrassegnala per la revisione anziché trattarla silenziosamente come parte di un recupero riuscito.

Controlla gli input di creazione e le risorse esterne

Un albero dei sorgenti recuperato può dipendere da file esterni alle directory del codice ovvio. Esamina script di build, pacchetti di risorse, schemi, modelli e dati di test. Se il comportamento perso riguarda la configurazione, il file pertinente potrebbe trovarsi all’esterno del pacchetto in cui viene visualizzato l’errore. Un frammento di codice può essere corretto mentre una risorsa mancante ne impedisce l’esecuzione, quindi convalida il percorso completo della funzionalità.

Registra anche le versioni di runtime e di dipendenza utilizzate dalla revisione accettata. Uno stato di origine precedente può basarsi su un’API modificata in seguito. Decidi se stai recuperando quell’ambiente storico o adattando il codice a quello attuale. Mantieni tali operazioni distinguibili nelle note e nelle modifiche. In caso contrario, una modifica della compatibilità può rendere difficile stabilire se l’implementazione originale è stata ripristinata in modo accurato.

Utilizzare una sequenza di convalida controllata

Inizia con una revisione statica e una build locale, quindi esegui test mirati per il comportamento ripristinato. Utilizzare una configurazione di prova quando il progetto normalmente scrive nei database, invia richieste o modifica file importanti. Una configurazione precedente potrebbe puntare a qualcosa di inaspettato. Conferma le destinazioni prima dell’esecuzione, perché il ripristino di uno script autentico non stabilisce che rimanga appropriato per l’ambiente corrente.

Una volta superati i controlli mirati, eseguire una volta i controlli di progetto più ampi pertinenti. Non continuare a modificare il codice solo per far sì che la versione recuperata assomigli a uno screenshot precedente. Se il risultato accettato soddisfa l’obiettivo verificabile e preserva il lavoro più recente necessario, salva un punto di controllo di ripristino chiaro. Ciò ti offre una posizione stabile in cui riprendere lo sviluppo ordinario senza continuare a mescolare le decisioni di ripristino con miglioramenti non correlati.

Recupero da un refactoring con modifiche positive e negative miste

Un refactoring ampio può migliorare diverse aree rimuovendo accidentalmente un comportamento utile. Prima di ripristinare, elenca le modifiche successive che desideri mantenere. Confrontali con il blocco mancante nella storia locale e identifica la più piccola combinazione coerente. Ciò trasforma il ripristino in una revisione mirata piuttosto che in una scelta tutto o niente tra il progetto corrente e uno snapshot precedente. Conserva lo stato corrente in modo da poter testare alternative senza sacrificare il lavoro valido.

Ad esempio, un metodo recuperato potrebbe prevedere un vecchio tipo di dati mentre il progetto corrente utilizza un modello rinominato. Copiare il metodo senza modifiche può creare una sottile discrepanza semantica anche se il compilatore accetta un sovraccarico. Esaminare i valori che attraversano quel confine e testare gli input rappresentativi. Se è necessario un adattamento, registralo come una nuova modifica di compatibilità insieme alla logica recuperata, non come prova che la vecchia implementazione è stata trasferita senza modifiche.

Confronta i test con il comportamento previsto

Un test storicamente superato costituisce una prova utile, ma potrebbe riguardare requisiti modificati in seguito. Esaminare lo scopo del test prima di ripristinarlo con il codice. Se il comportamento mancante appartiene ancora al prodotto, utilizzare un test significativo attuale per convalidarlo. Se i requisiti cambiano, preserva l’implementazione storica come prova senza renderla nuovamente il comportamento attivo automaticamente.

Esamina anche i test che sono stati eliminati durante lo stesso evento. Potrebbero rivelare casi limite necessari per il metodo recuperato. Ripristina insieme gli impianti rilevanti e i dati di supporto e verifica che rappresentino lo scenario attuale previsto. Evitare di indebolire le asserzioni semplicemente per ottenere un risultato verde dopo il recupero. Un controllo positivo dovrebbe supportare il comportamento specifico che intendevi ripristinare, piuttosto che rispecchiare il candidato più semplice da compilare.

Gestire i file all’esterno della radice del progetto

Parte del lavoro dipende da file temporanei, script locali o configurazioni esterne all’albero dei sorgenti principale. Identificarli separatamente dai normali file di progetto. Se il frammento mancante proviene da un’altra posizione, la cronologia della radice del progetto o del repository potrebbe non coprirlo. Cerca le fonti effettivamente conservate e preserva qualsiasi testo dell’editor sopravvissuto. Non dare per scontato che un backup del progetto includa tutti i file esterni aperti durante lo sviluppo.

Quando inserisci uno script esterno recuperato nel progetto accettato, rivedi attentamente i percorsi e i presupposti di esecuzione. Un aiutante locale potrebbe aver fatto affidamento su una macchina particolare o su una directory temporanea. Salva una versione revisionata separata anziché eseguire direttamente il candidato non elaborato. Ciò fornisce un utile risultato di ripristino evitando che il comportamento storico specifico della macchina diventi una parte inaspettata del flusso di lavoro del progetto corrente.

Crea una patch rivedibile per il ripristino accettato

Dopo aver scelto la fonte e aver unito le modifiche previste, ispeziona il diff completo risultante. Mantieni la patch focalizzata sull’obiettivo del ripristino e includi i file associati richiesti. Una piccola patch rivista è più facile da comprendere rispetto a un ripristino a livello di progetto con modifiche di formattazione e ambiente non correlate. Conserva i candidati grezzi separatamente in modo che un revisore possa distinguere il testo originale recuperato dagli adattamenti deliberati apportati durante l’unione.

Scrivi la nota di recupero sul risultato concreto: quale comportamento è tornato, quale lavoro più recente è rimasto e quali controlli supportano tale conclusione. Menziona direttamente le lacune irrisolte se la cronologia disponibile era incompleta. Questo pratico registro ti aiuta a interrompere la ricerca una volta verificato il recupero previsto. Fornisce inoltre un punto di partenza più chiaro per lo sviluppo futuro rispetto a una raccolta non documentata di frammenti copiati e versioni storiche incerte.

Quando il recupero dei file cancellati diventa un’opzione separata

PandaOffice Drecov può aiutare a cercare un file sorgente o una copia di progetto esistente che è stata effettivamente eliminata dalla memoria leggibile. Non decodifica automaticamente il database della cronologia locale interno di IntelliJ IDEA in un progetto completo. Inoltre, non è in grado di recuperare il codice che non ha mai raggiunto lo spazio di archiviazione conservato. Usalo quando l’elemento mancante è un file del disco reale e la cronologia nativa o i percorsi del repository non lo forniscono.

Interrompere le scritture non necessarie sul volume interessato prima della scansione. Conserva gli output recuperati altrove e conserva prima le cartelle di progetto e di sistema accessibili. Se i dati del progetto e del sistema IDE risiedevano su volumi diversi, notare questa distinzione. Una scansione può produrre diverse versioni plausibili, quindi pianifica di confrontare i contenuti piuttosto che presumere che il candidato più grande o più recente sia l’implementazione desiderata.

Passaggio 1: selezionare lo spazio di archiviazione che conteneva la fonte mancante

Scegli il volume fisico contenente il file di progetto eliminato o la copia salvata. Conferma la posizione attraverso il percorso completo del progetto registrato in precedenza. Evitare di installare software di ripristino o di creare un progetto sostitutivo su quel volume. Prenota un’altra destinazione salutare per i candidati. L’interfaccia di selezione della sorgente è illustrativa; il layout di archiviazione effettivo e le etichette delle unità determineranno la selezione corretta.

Interfaccia di selezione della sorgente PandaOffice Drecov

Passaggio 2: confrontare il codice del candidato e il contesto del progetto

Controlla i nomi, i percorsi, le date, le dimensioni e le anteprime supportate disponibili. Conserva più revisioni plausibili se contengono diverse modifiche utili. Confronta i simboli distintivi e il codice circostante anziché fidarti di un nome file generico. Includi file di build e risorse pertinenti quando sopravvivono. Un file sorgente con il nome di classe corretto può ancora appartenere a un altro ramo, esercizio o copia di un progetto precedente.

Interfaccia dei risultati della scansione di PandaOffice Drecov

Passaggio 3: ripristinare separatamente e convalidare l’unione accettata

Salva i candidati in una destinazione separata, quindi crea un progetto di prova dalle copie. Rivedi l’origine prima di eseguirla, controlla le dipendenze e unisci solo il materiale che soddisfa il tuo obiettivo di ripristino. Esegui test mirati e ispeziona il differenziale finale. Mantieni invariati i candidati originali recuperati finché non avrai confermato sia il comportamento mancante sia il lavoro più recente che intendevi preservare.

Interfaccia di anteprima e ripristino di PandaOffice Drecov

Stabilire un chiaro checkpoint di ripristino

Registrare quale revisione o candidato ha fornito ciascun file o frammento ripristinato. Includi i controlli eseguiti e qualsiasi incertezza rimasta. Se il risultato contiene logica appena ricostruita, etichettala separatamente dal codice recuperato. Ciò facilita la revisione futura ed evita di sopravvalutare ciò che la storia disponibile ha dimostrato. Una breve e precisa nota di recupero è più utile di una dichiarazione generale che tutto è tornato alla normalità.

  1. Conferma il percorso del progetto, il ramo e i file o i frammenti accettati.
  2. Esaminare la differenza finale per reversioni indesiderate e dipendenze mancanti.
  3. Esegui la convalida mirata e i relativi controlli del progetto in un ambiente controllato.
  4. Salva un checkpoint verificato e un backup del progetto indipendente prima di continuare lo sviluppo.

Rafforzare la protezione per il prossimo refactoring

Utilizza checkpoint significativi per il controllo della versione prima di modifiche importanti e mantieni backup indipendenti dei dati importanti del progetto. Le etichette della cronologia locale possono semplificare la navigazione a breve termine, ma non trasformano la funzionalità in un controllo della versione condiviso permanente. Esamina le impostazioni di conservazione in base al tuo modello di lavoro e alla capacità di archiviazione. Proteggi i file sorgente e crea gli input, non solo l’elenco dei progetti aperti di recente dell’IDE.

Infine, provare un recupero selettivo con una lima usa e getta. Elimina un piccolo blocco, esamina la cronologia, ripristina solo quel blocco e verifica che rimanga una modifica successiva non correlata. Questo insegna il comportamento esatto della versione installata senza rischiare codice prezioso. L’abilità pratica è saper recuperare un cambiamento coerente preservando l’opera che dovrebbe sopravvivere attorno ad esso.

Esplora le opzioni di ripristino pertinenti: Recupero del disco rigido, Recupero hard disk esterno.

Per un altro caso di recupero e le relative verifiche pratiche, leggere la relativa guida al ripristino.

Controlla le indicazioni del fornitore per la versione installata: documentazione ufficiale di recupero 1, documentazione ufficiale di recupero 2, documentazione ufficiale di recupero 3.