La formattazione rimuove davvero tutto su un disco rigido fisico?


19

Vorrei capire cosa rimuove davvero la formattazione.

Quando si avvia un computer, viene visualizzato qualcosa che assomiglia a DOS. Questo non può essere memorizzato su un disco rigido? Dove si trova quindi?

Ho letto che c'è un settore di avvio sul disco rigido, c'è qualche avanzi sul disco rigido dopo averlo formattato? Si finisce davvero con 0 byte rimasti su un'unità?


6
La formattazione non rimuove tutto. Per rimuovere tutto ciò che si vorrebbe usare un programma per scrivere zeri sull'intero disco
barlop

6
Un formato non rapido su Vista o più recenti in effetti scrive zero. Le versioni precedenti di Windows eseguivano invece ciò che è essenzialmente chkdsk /b.
Daniel B

5
Questa "cosa che assomiglia a DOS" potrebbe essere un prompt UEFI.
user253751

3
Almeno una "risposta" si riferisce al BIOS come un "sistema operativo" . Questa è una descrizione errata per un programma autonomo. Per ulteriori discussioni, consultare superuser.com/questions/424892/is-bios-considered-an-os
segatura

Risposte:


51

Sono davvero tre domande diverse, con una lunga e difficile strada per la piena comprensione.

Vorrei provare a comprimerlo in idee più piccole e più semplici ...

Pensa a un disco rigido come un libro di consultazione con un indice sul retro per cercare rapidamente sezioni pertinenti. Quindi rimuovere l'indice. Il libro è ancora leggibile, ma solo in modo più lineare. È più difficile trovare il capitolo giusto, ma non impossibile.

Se si formatta rapidamente un'unità, tutto ciò che si sta realmente facendo è rimuovere l '"indice": tutti i dati effettivi sono ancora lì. A questo punto, se qualcosa dovesse tentare di scrivere sul disco, non "saprebbe" che i vecchi dati erano lì e quindi costruirebbe un nuovo "indice" e scrivere su tutti i vecchi dati.

Un formato completo sovrascriverebbe i dati effettivi stessi, anche se potrebbero essere ancora recuperabili con tecniche avanzate.

Quando avvii un computer con un disco rigido cancellato o completamente vuoto, quello che vedi è un piccolo sistema operativo (in realtà un programma autonomo, ma si comporta come un piccolo sistema operativo, a tutti gli effetti) che viene mantenuto nell'hardware del computer reale , non sul disco rigido stesso, che indica semplicemente alla macchina dove cercare le istruzioni.

Il settore di avvio è un piccolo settore del disco rigido che contiene un'istruzione che dice al computer dove cercare un sistema completamente avviabile.


1
Nota: il "settore di avvio" informa il computer, non il disco rigido stesso, in merito a dove cercare il prossimo disco rigido per ulteriori istruzioni.
Makyen,

5
EFI fa tutto ciò che fa un sistema operativo.
Zan Lynx,

6
Immagino invece di dire che è inaccurato e fuorviante, dovrai provare a fornire un'alternativa. Non riesco davvero a pensare a un modo per comprimere questo particolare "sistema" qui senza immergermi in dettagli inutili e ugualmente fuorvianti. Potrebbe essere più preciso, ma non aiuterà necessariamente l'OP a capire cosa sta succedendo. Dubito fortemente che l'OP abbia una comprensione accurata e diretta di ciò che deve iniziare un sistema operativo.
Nelson,

Vale la pena ricordare che questo è valido per l'HDD. Le unità SSD sono ancora più complesse.
Hauleth

@Hashim - Accetterò le altre modifiche, ma "BIOS" è troppo specifico e non intendevo. Non possiedo alcun computer con un BIOS.
Tetsujin,

9

Ci sono 3 domande qui.

Vorrei capire cosa rimuove davvero la formattazione.

Per quanto riguarda la formattazione: ci sono alcuni metodi per formattare. Uno si chiama formato rapido. Tutto ciò che fa è contrassegnare la partizione formattata come vuota senza rimuovere effettivamente i dati. Il formato normale contrassegnerà la partizione come vuota e inoltre scriverà 0 sull'intera partizione. Ciò consentirà comunque a un programma non formattato di recuperare i dati, ma richiederà più tempo. Quindi ci sono anche programmi che possono cancellare in modo sicuro un disco scrivendo molti dati casuali sul disco in più di un ciclo, rendendo molto difficile per un programma non formattato recuperare i dati.

Tieni presente che una volta che un'unità è stata formattata e viene visualizzata come vuota (anche con il metodo di formattazione rapida) una volta che inizi a scrivere i dati su di essa, sovrascriverà i dati sulla posizione in cui erano precedentemente memorizzati. Ciò renderà difficile per un programma non ripristinato ripristinare quei dati specifici.

Quando si avvia un computer, viene visualizzato qualcosa che assomiglia a DOS. Questo non può essere memorizzato su un disco rigido? Dove si trova quindi?

Quindi, la schermata di testo che vedi all'avvio di un computer si chiama BIOS. Il BIOS (Basic Input Output System) è il sistema operativo che comunica con l'hardware e consente a Windows o qualsiasi altro sistema operativo di interagire con l'hardware. Dato che a volte è necessario determinare quando l'hardware sta morendo, il BIOS ha un'interfaccia di testo e un programma SETUP per interagire con esso. Questa interfaccia di testo è quella che vedi quando avvii un computer. Si noti che la maggior parte dei BIOS ha una funzione per mostrare un'immagine invece di non confondere l'utente.

Ho letto che c'è un settore di avvio sul disco rigido, c'è qualche avanzi sul disco rigido dopo averlo formattato? Si finisce davvero con 0 byte rimasti su un'unità?

Il Bootsector di un disco rigido è una posizione specifica sul disco rigido che viene modificata solo quando si modificano le partizioni. Il bootector determina da quale partizione avviare se si tenta di avviare da questo particolare hard disk. La formattazione NON influenza il settore di avvio. Alterare solo il settore di avvio farà comunque funzionare correttamente il disco rigido, tranne per il fatto che non è possibile avviarlo.


2
"The bootsector basically is a config file"- forse su (U) sistemi EFI / GPT? Sui sistemi basati su MBR, almeno, il settore di avvio contiene codice. (Il fatto che ci sia una configurazione in realtà dipende piuttosto dal codice all'inizio del settore.)
TOOGAM

6
"... inoltre scrivi 0 sull'intera partizione. Ciò consentirà comunque a un programma non formattato di recuperare i dati ..." - Sarà un trucco davvero accurato per recuperare i dati che sono stati azzerati. IOW ti stai contraddicendo ..
segatura

4
@sawdust È ancora possibile recuperare alcuni dati. O, almeno, alcuni pezzi di esso, attraverso metodi avanzati. Recuva PUO ' essere in grado di recuperare ALCUNI di tali dati. Un singolo passaggio potrebbe non essere sufficiente per modificare VERAMENTE l'intero campo magnetico del disco rigido. Con gli SSD, l'azzeramento dei dati potrebbe non funzionare bene a causa di tecniche di livellamento dell'usura che potrebbero lasciare intatti i settori. Ciò significa che, con il tempo / la fortuna / alcune conoscenze, è ancora possibile recuperare i dati. Questo è il motivo per cui usi ATA Secure Erase su SSD.
Ismael Miguel,

@IsmaelMiguel __ Quindi fai una distinzione che il recupero dei dati potrebbe essere possibile da tecnici qualificati. Recuva non ha alcuna pretesa sul recupero di file sovrascritti, solo per i file "cancellati". Ma la mia critica è che questa risposta afferma che chiunque abbia qualche programma "non formattato" è in grado di eseguire questa impresa di recupero! Cordiali saluti, ho programmato il filesystem e il driver del disco, nonché scritto il firmware del controller del disco, quindi ho una certa comprensione di questo argomento.
segatura

@sawdust So che non fanno argille. Sto facendo queste affermazioni. E quelli non sono affermazioni solide. La parola "may" è la parola chiave lì. Recuva è in grado di rilevare file parzialmente eliminati, ma non sono sicuro di quanto possa estrarre da quei file parzialmente sovrascritti.
Ismael Miguel,

6

Vorrei capire cosa rimuove davvero la formattazione.

Quando un computer "formatta" un disco o una partizione, ciò significa creare un volume di filesystem. Un "volume" è fondamentalmente un luogo in cui sono memorizzati i file; per i vecchi floppy disk, l'intero disco era sostanzialmente il volume. Per i dischi rigidi, un volume è stato archiviato in una partizione e un disco potrebbe avere più partizioni (il che significa che avrebbe più volumi).

Fondamentalmente, la formattazione finisce per creare una tabella vuota. Quando dico "tabella", puoi pensare a un grafico con righe e colonne. Ogni riga fa riferimento a un nome file. Ogni colonna identifica un frammento di file. Ad esempio, "il primo frammento di questo file è nel settore 1000". "Il secondo frammento di questo file è nel settore 2000". Il processo di formattazione crea una tabella vuota, quindi quella tabella viene compilata quando vengono creati i file. Con DOS, il tipo di filesystem è stato chiamato dopo questa tabella, che è stata chiamata "Tabella di allocazione dei file".

Se non sei preoccupato per i vecchi dati e chi potrebbe accedere ai vecchi dati (il che potrebbe essere un problema se tali dati sono riservati / sensibili), allora la soluzione migliore è fare un "formato rapido", che crei solo i dettagli minimi per il volume del filesystem che tiene traccia dei file. Se hai una scelta tra un formato "minimo" / "rapido" e un formato "completo" / "esteso", è probabile che quest'ultimo formato faccia qualcosa per ogni settore del disco che fa parte del volume del filesystem. Ciò può significare cancellare ogni settore o semplicemente provare a fare qualche altro controllo per assicurarsi che il settore sia fisicamente utilizzabile.

Quando si avvia un computer, viene visualizzato qualcosa che assomiglia a DOS.

Come la risposta di LPChip, presumo che tu intenda il processo di "avvio del sistema". Su macchine più vecchie, questo era comunemente chiamato il sistema di input / output di base, abbreviato come BIOS. Esistono alcuni standard su come funzionava un BIOS, in modo che il software del computer (come il sistema operativo) potesse interagire con parti del computer. Molti sistemi più recenti utilizzano uno standard più recente, chiamato (U) EFI ((Unified) Extensible Firmware Interface). Non ho trovato alcun termine che l'industria ha ampiamente usato per descrivere sia il BIOS che gli standard (U) EFI, quindi ho appena inventato il termine "avvio del sistema".

Il motivo principale per cui potrei pensare che potresti chiamarlo "somigliante a DOS" è l'uso della modalità testo. (Buon vecchio CP437 !) Tuttavia, da quello che ho letto, ho avuto l'impressione che (U) EFI possa essere controllato da una riga di comando (forse con solo alcune implementazioni).

Questo non può essere memorizzato su un disco rigido? Dove si trova quindi?

Questo è in genere memorizzato interamente in alcuni chip. Sui sistemi più vecchi, erano ROM (memoria di sola lettura). Tuttavia, quando la nuova tecnologia (come i dischi rigidi più grandi) è diventata incompatibile con i chip, le persone hanno dovuto sostituire fisicamente i chip per supportare la tecnologia più recente. Alla fine degli anni '90, le persone iniziarono a usare la memoria scrivibile, che spesso chiamavano "memoria flash". Tale memoria non è pensata per essere scritta molto frequentemente.

Quando si modificano le opzioni di configurazione in quel softare di avvio del sistema, i dettagli della configurazione vengono archiviati in un'altra memoria, comunemente chiamata CMOS. Questo è un po 'di memoria (diversa dalla RAM), memorizzata sulla scheda madre.

Ho letto che c'è un settore di avvio sul disco rigido, c'è qualche avanzi sul disco rigido dopo averlo formattato?

Sistemi che utilizzano lo standard BIOS controllerebbe dischi rigidi per vedere se i byte 511 ° e 512th contenevano questi bit: 0101 0101 1010 1010

In tal caso, il disco era considerato "avviabile" e il BIOS indicava alla CPU di iniziare seguendo le istruzioni che si trovano sul primo byte del disco. I primi 512 byte del disco erano chiamati "Master Boot Record" ("MBR"). Il codice archiviato nell'MBR doveva essere piuttosto piccolo, perché il 511 ° byte doveva essere 01010101 se il computer si avviava. In realtà, ciò che la maggior parte di questo codice di avvio farebbe è controllare i 447 ° - 510 ° byte usando uno standard chiamato "tabella delle partizioni". Byte in quel tavolo dovrebbe specificare dove c'era una partizione (o più di una partizione). Comunemente, la prima partizione si avvia sul secondo cilindro del disco rigido. (Con vecchi dischi rigidi, il termine "cilindro" di cui una caratteristica fisica del disco rigido.

(U) EFI è un po 'più complicato, comprendendo la struttura GPT più complicata.

In ogni caso, la formattazione non ha nulla a che fare con questo. La formattazione è correlata ai dati all'interno della partizione (spesso a partire dal secondo cilindro, che era spesso chiamato cilindro numero 1, perché il primo cilindro veniva spesso chiamato cilindro numero zero). Pertanto, la formattazione non dovrebbe influire sul codice di avvio iniziale utilizzato dall'MBR sul disco. Tuttavia, la formattazione può influire sul codice che il computer tenta di utilizzare dopo l'utilizzo dei dati dell'MBR.

Si finisce davvero con 0 byte rimasti su un'unità?

Intendi 0 byte esauriti? Assolutamente no. Ci sono assolutamente byte esauriti sull'unità. La partizione memorizza il volume del filesystem, che contiene la tabella che verrà utilizzata per tenere traccia dei nomi dei file e dove vengono memorizzati i frammenti del file. Comunemente ci sono altri dettagli, come una "etichetta" (che è un nome che puoi assegnare al volume del filesystem). Dovrebbe essere una quantità relativamente piccola dei dati totali del disco, ma questa è una parte del disco che viene utilizzata.

Quando chiedi al tuo sistema operativo quanti byte sono disponibili, i sistemi operativi in ​​genere segnalano quanti byte possono essere usati per archiviare i file. Questi sono i dati che interessano molte persone. Il sistema operativo non sta segnalando i byte utilizzati per archiviare la tabella dei file, né i byte esterni alla partizione (come l'MBR).

Tuttavia, poiché la tabella è vuota, sono disponibili tutti i byte che possono contenere frammenti di file e ne vengono utilizzati zero. Il contenuto dei vecchi file potrebbe essere sul disco, se il disco è stato formattato rapidamente. (Un programma come TestDisk potrebbe essere in grado di aiutare a trovare tali contenuti.) Tuttavia, quando chiedi al sistema operativo di memorizzare nuovi contenuti in nuovi file, il sistema operativo utilizzerà quelle aree del disco (perché la tabella non dice che quelle aree del disco stanno memorizzando tutti i frammenti di file che ci interessano). Quindi, i vecchi dati possono essere sovrascritti da nuovi dati (il che farà sì che TestDisk sia in grado di recuperare quei vecchi dati quando ciò accade). Si noti che anche se il contenuto dei file viene salvato, dettagli come i nomi di tali file potrebbero essere stati sovrascritti durante la formattazione del disco. (Dico "potrebbe" perché ci sono diversi modi per archiviare i file. Alcuni di questi modi di tracciare i dati potrebbero comportare una tabella che ha una dimensione coerente, utilizzando lo spazio per tenere traccia delle sezioni sul disco anche quando quelle non sono archiviare ancora i file. Altri metodi possono variare le dimensioni della tabella in base ai dati archiviati sul disco, quindi un disco vuoto può avere una piccola tabella. Quindi forse alcuni di questi nomi di file sono ancora archiviati fisicamente sul disco, ma il sistema operativo non tiene traccia di quei vecchi dati e quindi è probabile che anche i dati vengano eliminati quando il sistema operativo trova un vantaggio nel farlo.)


3

La formattazione rimuove davvero tutto su un disco rigido fisico? Vorrei capire cosa rimuove davvero la formattazione.

Sulla base di esperimenti reali (piuttosto che indovinare o fare riferimento a un'altra fonte), quali vecchi dati sovrascritti dipenderanno da come si esegue questo "formato" .

Quando si crea una partizione formattata e da Linux (usando GParted) (sia per NTFS o Ext4) o "rapida" formattato da Windows 7, solo un numero minimo di settori sono sovrascritti sufficienti per inizializzare il file system. Settori che sono (per essere utilizzato da file utente e libere) non allocato sono intatte e conservano i vecchi dati.

Quando si crea una partizione formattata e da Windows 7 (non si utilizza l'opzione rapida), tutti i settori nella partizione vengono sovrascritti. I vecchi dati in settori che sono (per essere utilizzato da file utente e di connessione) non allocato sono ovewritten con zeri. Non ci sarà "non formattato" possibile per recuperare vecchi dati e file.

Quando si avvia un computer, viene visualizzato qualcosa che assomiglia a DOS. Questo non può essere memorizzato su un disco rigido? Dove si trova quindi?

Probabilmente ti riferisci al BIOS o al programma UEFI, che verrebbe (tipicamente) memorizzato in un chip di memoria flash (sulla scheda madre).
Puoi facilmente verificare che questo programma autonomo (che non è un sistema operativo) sia locale sul PC e non su alcun HDD o SSD riavviando la scheda madre senza unità collegate. (Naturalmente scollegare le unità mentre il PC non è alimentato.)

Ho letto che c'è un settore di avvio sul disco rigido, c'è qualche avanzi sul disco rigido dopo averlo formattato?

C'è un programma di avvio che esiste nel primo settore del disco (ad esempio il MBR, Master Boot Record), e un altro programma di avvio all'inizio di ogni partizione avviabile.
L'MBR è un semplice programma di avvio che carica il programma di avvio della partizione che è contrassegnato "attiva".
Il programma di avvio della partizione attiva verrà installato dal filesystem. Potrebbe essere un altro caricatore intermedio per un programma di avvio in grado di caricare effettivamente un sistema operativo (ad esempio GRUB).

Si finisce davvero con 0 byte rimasti su un'unità?

Non è ovvio quello che stai chiedendo.

Si noti che ci saranno settori che non sono assegnati a nessuna partizione che non saranno mai scritti da alcun tipo di formato. Ci potrebbero essere fino a 1024 (la creazione di partizioni da Linux) o 2047 (creazione partizione Win7) settori non utilizzati tra l'MBR e la prima partizione. Ci potrebbe essere anche settori non utilizzati in tra le partizioni. Il numero effettivo di settori può variare, a seconda di dove precedenti estremità di partizione, e dove inizia la partizione "adiacente", che dipende dal tipo di allineamento di partizione (per esempio su un "cilindro" o per megabyte).


2

I vecchi dischi rigidi avevano un meccanismo per muovere la testa in passi discreti; informazioni su dove ogni settore inizia è stato immagazzinato nella stessa "flusso di dati", come il contenuto dei settori attuali. Per scrivere il settore n. 5 di una traccia, l'unità si avvia in modalità "lettura" fino a quando non viene visualizzato un marcatore "Questo è l'inizio del settore n. 5", passa alla modalità di scrittura, scrivi un piccolo spazio vuoto seguito da un avvio secondario marker, inizia a sputare tutti i byte nel settore, quindi torna alla modalità lettura quando è stato fatto.

Se una traccia non è noto per avere un insieme opportunamente posto dei marcatori di settore (come sarebbe il caso con un disco non formattato totalmente vuoto), essa dovrebbe essere formattata prima dell'uso. Per fare ciò, l'unità si attiverà modalità di scrittura, scrivere un gap, e poi ripetutamente scrivere un'intestazione settore, un piccolo spazio, un'intestazione secondaria-start e valore di un settore di dati arbitrari, e un'altra lacuna. Dopo aver fatto ciò, l'unità passerebbe alla modalità di lettura e assicurerebbe che tutti i settori fossero leggibili (se gli spazi tra i settori fossero troppo lunghi, l'ultimo settore potrebbe sovrascrivere il primo; se gli spazi sono troppo brevi, le variazioni nella velocità dell'azionamento potrebbero causare un'operazione successiva di scrittura settoriale per estendere al settore successivo).

Fare un formato "di basso livello" su tale unità cancellerebbe abbastanza bene qualsiasi informazione su di esso, ma richiederebbe più tempo di un tipico comando di formato "di alto livello" che garantisce semplicemente che ogni settore sia leggibile senza preoccuparsi di riscrivere le intestazioni di settore di settori che sono.

dischi moderni richiedono una formattazione marcatori che vengono messe in piatti utilizzando attrezzature specializzate che è più precisamente calibrato di ogni altra cosa nel lettore. Facendo un formato di basso livello su tali unità sarebbe impossibile senza equipaggiamento extra. Sovrascrivere i dati in tutti i settori probabilmente renderebbe la maggior parte irrecuperabile, ma alcune unità hanno una logica speciale per rilevare quando le aree del disco sembrano andare male e spostare le informazioni che normalmente verrebbero archiviate in tali aree, altrove. Se un settore contenente dati riservati viene spostato perché l'unità ritiene che potrebbe trovarsi su una parte instabile del disco, i successivi tentativi di cancellare quel settore potrebbero distruggere la copia successiva lasciando intatto l'originale.


1

No, in primo luogo la formattazione è un processo eseguito su una partizione e non l'unità nel suo complesso in modo da non influenzare la tabella delle partizioni, altre partizioni o l'MBR sul disco. Quello che stai vedendo sembra il bootloader, questo è un piccolo programma che viene eseguito direttamente dal BIOS che ha quindi il compito di selezionare ed eseguire il kernel del sistema operativo, in questo caso la partizione essendo stata formattata significa che il bootloader non riesce a trovare il kernel da eseguire.

Detto questo, anche se il processo applicato all'intera unità è un errore pensare che la formattazione in realtà rimuove il contenuto del file dal disco in quanto in realtà non fa nulla del genere. Cosa succede quando il disco è formattato è che i metadati come la tabella di allocazione file, ecc superblocks viene cancellata e una struttura vuota è scritto al suo posto.

Il contenuto effettivo dei file non viene influenzato dal processo di formattazione stesso. Un'analogia sarebbe Eliminazione da l'indice di un libro capitoli sarebbero ancora lì, anche se non esiste una tabella di contenuti per elencarli.

Software esiste, che può ignorare i metadati e guardare direttamente per l'impronta reale dei stessi file sul disco ed è abbastanza banale nella maggior parte dei casi, per recuperare i file a meno che una parte dello spazio occupato dal file è stato riutilizzato e sostituiti dai nuovi dati.

Se in realtà volessi distruggere i dati sul disco, ci sono dei metodi che sarebbero appropriati dipende da fattori come il tipo di unità (gli SSD hanno un modo più semplice per proteggere la cancellazione rispetto all'HDD, ad esempio), per le unità magnetiche un altro fattore è proprio a quale livello di distruzione è desiderato. C'è una differenza tra il distruggere i dati in modo che non può essere recuperato da un hard disk commerciale e cercando di distruggerla fino al punto altamente sensibile apparecchiature di analisi forense non può recuperare alcuna traccia dei dati.

EDIT: Nota a meno che la macchina è stata murata da un aggiornamento del BIOS interrotto o simile, anche una macchina con un'unità completamente vuote installate mostrerà qualcosa quando si tenta di accenderlo. Il BIOS non è memorizzato in qualsiasi unità è un piccolo programma memorizzato in un piccolo chip di memoria a stato solido sulla scheda madre stessa.


Il BIOS è archiviato nella EEPROM che è un chip ROM, non un piccolo chip di memoria a stato solido. La più grande differenza è che l'acronimo di ROM Read Only Memory. Deve essere lampeggiato per modificare il programma.
LPChip

2
@LPChip è ancora una forma di memoria flash, infatti gli SSD hanno lo stesso limite fondamentale che non possono semplicemente sovrascrivere e devono cancellare e poi scrivere, la differenza è che la dimensione del blocco di cancellazione di un SSD è solo una frazione del totale capacità del chip e alcuni cambiamenti nel funzionamento del circuito è costruito ma è ancora una forma di memoria a stato solido. Stavo solo non realmente cercando di entrare nei dettagli delle numerose implementazioni tecniche diverse di chip di memoria aggiornabili mediante flash.
MttJocy

@LPChip - L'unica parte del tuo commento che è accurata è l'espansione della sigla ROM. "Il BIOS è memorizzato nella EEPROM che è un chip ROM ..." . EEPROM in ROM non considerata, poiché può essere cancellata e scritta in-circuit. ROM viene creato dal processo di mascheratura semiconduttore. Flash, non EEPROM, è stato utilizzato per la memorizzazione del BIOS per circa due decenni. EEPROM e flash sono entrambi "memoria a stato solido" . È un termine ambiguo, ma ancora più preciso del tuo tentativo di correzione.
segatura
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.