Tabella delle partizioni danneggiata (unità flash USB)


9

È una chiavetta Patriot da 8 GB, che ho usato ampiamente con molti dati. Oggi viene rilevato, ma tutti i dati sono spariti: ( EDIT almeno alcuni dati sono ancora lì, ma la tabella delle partizioni è sparita)


EDIT @Sathya (grazie) ecco l'output rilevante di sudo fdisk -l:

Disk /dev/sdc: 8019 MB, 8019509248 bytes
247 heads, 62 sectors/track, 1022 cylinders
Units = cylinders of 15314 * 512 = 7840768 bytes

Disk /dev/sdc doesn't contain a valid partition table

Sembra che sia / dev / sdc, con quegli 8 GB ... e nessuna tabella delle partizioni.

Ho provato a montare / dev / sdc (e poi dmesg | tail):

/media> sudo mount /dev/sdc mytmp
mount: wrong fs type, bad option, bad superblock on /dev/sdc,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

/media> dmesg | tail
[   24.300000]  sdc: unknown partition table
[   24.320000] sd 2:0:0:0: Attached scsi removable disk sdc
[   24.370000] usb-storage: device scan complete
[   26.870000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[   26.870000] EXT2-fs: group descriptors corrupted!
[   50.420000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[   50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[   50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[ 5565.470000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[ 5565.470000] EXT2-fs: group descriptors corrupted!

EDIT @Col: risultati da testdisk

Disk /dev/sdc - 8013 MB / 7642 MiB - CHS 1022 247 62
Current partition structure:
     Partition                  Start        End    Size in sectors

Partition sector doesn't have the endmark 0xAA55

Dopo che ho colpito [proceed], dice:

Structure: Ok.


Keys A: add partition, L: load backup, Enter: to continue

La "Struttura: Ok". sembra rassicurante ... "A: aggiungi partizione" renderà accessibili i miei vecchi dati (se sono ancora lì) o creerà una nuova partizione nuova?

Un'altra opzione è " [ MBR Code ] Write TestDisk MBR code to first sector" - sarebbe meglio farlo?


EDIT Ho scoperto che almeno alcuni dei miei dati sono ancora sull'unità flash, usando il seguito e cercando il testo inglese in meno (come "il"):

cat /dev/sde | tr -cd '\11\12\40\1540-\176' | less

(L'unità è cambiata da "/ dev / sdb" a "/ dev / sde" perché ho collegato alcune unità extra oggi). Ho imparato che "/ dev / sde1" sarebbe la prima partizione; e "/ dev / sde" è l'intero disco. Poiché unix tratta questi dispositivi come file, è possibile utilizzare tutti i normali comandi di file unix su di essi, come cat, e quindi elaborarli come qualsiasi altro flusso di dati. Quanto trsopra rimuove i caratteri non stampabili ("\ 40" è spazio, che volevo preservare). In meno, è possibile utilizzare "/" per la ricerca, simile a Vim.

Come posso recuperare i miei dati (supponendo che siano ancora lì)? Se solo la tabella delle partizioni è corrotta, esiste uno "strumento per il recupero delle partizioni" standard? C'è un modo per "ripartizionare" senza eliminare tutto?


@ChrisF Quella risposta non funziona ... e non posso rispondere lì - quindi ho qui (vedi la modifica alla domanda).
13

@ 13ren - Se usi lo stesso OpenID su entrambi i siti puoi associare i tuoi account. Tuttavia, per ora, inviare un'e-mail a team@superuser.com e chiedere loro di fare l'associazione. Nel frattempo ho unito le due domande.
BinaryMisfit,

1
@ 13ren - So che non puoi rispondere lì. Stavo includendo il link per i moderatori in modo che potessero trovare la domanda.
ChrisF,

Grazie ChrisF, scusa se ho capito male. Ho inviato un'email come da te suggerito. @Diago grazie per la fusione, posso commentare ora. Li invierò di nuovo via email.
13

1
Inserisci l'unità e fai un sudo fdisk -l e puoi aggiornare il post con l'output?
Sathyajith Bhat

Risposte:


6

Potrebbe valere la pena eseguire testdisk sul dispositivo, sembra che la tua tabella delle partizioni sia diventata pop. Testdisk dovrebbe essere in grado di recuperare i tuoi dati.


@Col grazie, ma non ho testdisk - ho provato sudo testdiske man testdisk. Ho appena installato apt-get e rileva / dev / sdc con 8 GB (come aggiunto alla domanda). Non voglio proseguire fino a quando non capirò un po 'di più.
13

@Col, l'ho provato e ho aggiunto i risultati alla domanda
13

Se ti senti nervoso, potrebbe valere la pena usare dd per creare un'immagine della chiavetta USB sul tuo disco rigido, penso che dovrebbe funzionare anche con un'unità non montabile poiché copia poco a poco.
Col

Grazie, è una buona idea! Ma come faccio a copiare un file con dd? La pagina man parla di "file" ... oh, / dev / sdc conta come "file"? Quindi posso solo copiare l'intero / dev / sdc in un file di convenzione come " dd /dev/sdc mybackupfile?
13ren

1
Ora ho alcuni punti reputazione ora, quindi posso votarti!
13

1

Non preoccuparti, i tuoi dati non sono spariti --- hai ragione sul fatto che il disco non venga montato, indipendentemente da ciò che dice l'interfaccia grafica.

Puoi montarlo facendo (come root) qualcosa come:

mount /dev/sdb1 /media/Patriot\ Memory

Dove penso che si sdb1riferisca alla tua chiavetta USB - potrebbe essere sdc1osdd1


O anche sda1, a seconda dell'età del computer (cioè, se i dischi
rigidi

@Michiel grazie - ma dice "mount: nessun supporto trovato". Usando sdc1 e sdd1 ho dato "mount: il dispositivo speciale / dev / sdc1 non esiste", il che mi fa pensare che "sdb1" esiste ma c'è qualcosa che non va. Ha funzionato per mesi e non è cambiato nulla di cui io sia a conoscenza - quindi temo che si
tratti

1

Sebbene sia possibile ricostruire la tabella delle partizioni, la prima cosa da fare è scattare un'immagine del dispositivo. Puoi farlo con dd if=/dev/sdb of=~/memstick.img- cambiando i percorsi secondo necessità.

Una volta fatto, esegui PhotoRec , che dovrebbe essere in grado di estrarre tutti i file presenti. Se hai tutto ciò di cui hai bisogno, formatta lo stick e riavvia, in caso contrario, puoi provare un ulteriore recupero dei dati.


1

ddrescue è lo strumento di cui hai bisogno. Non credo che sarai in grado di salvare la tabella delle partizioni e accedere ai dati in altro modo, in base all'output che hai pubblicato da testdisk ecc.

http://www.forensicswiki.org/wiki/Ddrescue

ddrescue è uno strumento di recupero dati. Copia i dati da un file o blocca il dispositivo (disco rigido, cdrom, ecc.) In un altro, cercando di salvare i dati in caso di errori di lettura.

L'operazione di base di ddrescue è completamente automatica. Cioè, non è necessario attendere un errore, interrompere il programma, leggere il registro, eseguirlo in modalità inversa, ecc.

Se si utilizza la funzione file di registro di ddrescue, i dati vengono salvati in modo molto efficiente (vengono letti solo i blocchi necessari). Inoltre è possibile interrompere il salvataggio in qualsiasi momento e riprenderlo successivamente nello stesso punto.

Ddrescue non scrive zeri nell'output quando trova settori danneggiati nell'input e non tronca il file di output se non viene richiesto. Quindi, ogni volta che lo esegui sullo stesso file di output, prova a riempire gli spazi vuoti senza cancellare i dati già salvati.

Se hai due o più copie danneggiate di un file, cdrom, ecc. Ed esegui ddrescue su tutti, uno alla volta, con lo stesso file di output, probabilmente otterrai un file completo e privo di errori. Questo perché la probabilità di avere aree danneggiate negli stessi punti su file di input diversi è molto bassa. Utilizzando il file di registro, vengono letti solo i blocchi necessari dalla seconda e successive copie.

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.