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.