Newsgroup: it.comp.os.linux.sys
Titolo: NTFS recovery

Salve a tutti.
# La situazione:
- Ho un disco di un cliente da recuperare (per quanto possibile ... 
perso per perso ... ).
- Il disco e' formattato in NTFS e io a disposizione ho solo macchine Linux
- Cercando di montarlo e di visionarlo ho visto che:
     > fdisk mi dice che e' il FileSystem e' un SFS
     > cercandolo di montare con il comando:
       mount /dev/sda1 /mnt/ntfs/ -t ntfs -r -o errors=recover
       e andando a vedere i log in /var/log/syslog vedo che:
Jun 13 09:48:04 localhost kernel: [4415600.556000] NTFS-fs error (device 
sda1): map_mft_record_page(): Mft record 0x6 is corrupt.  Run chkdsk.
[ prosegue alla fine del messaggio ]
Quindi parrebbe che sia cioccata la MFT (Master File Table).
(
http://www.ntfs.com/ntfs-mft.htm
 )
# La domanda:
Avete idea di un modo per recuperare questo discaccio ?
Secondo me "basterebbe" recuperare la MFT ... si, ma come ?
Ogni idea o esperienza sul campo sono ben accette :)
Grazie infinite
                 Ciao
# Il resto del LOG:
Jun 13 09:48:04 localhost kernel: [4415600.556000] NTFS-fs error (device 
sda1): map_mft_record(): Failed with error code 5.
Jun 13 09:48:04 localhost kernel: [4415600.556000] NTFS-fs error (device 
sda1): ntfs_read_locked_inode(): Failed with error code -5.  Marking 
corrupt inode 0x6 as bad.  Run chkdsk.
Jun 13 09:48:04 localhost kernel: [4415600.556000] NTFS-fs error (device 
sda1): load_system_files(): Failed to load $Bitmap.
Jun 13 09:48:04 localhost kernel: [4415600.556000] NTFS-fs error (device 
sda1): ntfs_fill_super(): Failed to load system files.
Jun 13 09:59:22 localhost kernel: [4416279.092000] atkbd.c: Unknown key 
released (translated set 2, code 0xaa on isa0060/serio0).
Jun 13 09:59:22 localhost kernel: [4416279.092000] atkbd.c: Use 
'setkeycodes e02a <keycode>' to make it known.

 hai un backup.. vedi se riesci a montare la partizione e leggerla.
Come sopra.
Grazie 1000
Ciao

 
Cosa intendi precisamente con "se sai come era partizionato" ?
So che su tale disco c'era una unica partizione (primaria) in NTFS, e 
nel mio caso si troverebbe in sda1 (e fdisk me la vede come SFS...ma 
sbaglia).
grazie

> fdisk mi dice che e' il FileSystem e' un SFS
L'unica  volta che  ho  incontrato questo  caso  e` stato  con il  LaCie
Ethernet Disk: fa vedere 4 dischi da 250 GB come un unico disco da 1 TB:
il primo fdisk lo vede come NTFS, gli altri come SFS.
Forse anche nel tuo caso il  disco in questione fa parte di uno "stripe"
NTFS, pero` non ho piu`  approfondito la questione (mi sono "limitato" a
installarci su Linux... :-)).
Saluti,
Luca Polo.
-- 
Luca...@gest.unipd.it
 --- 
http://www.gest.unipd.it/~jake
----------------------------------------------------------
One Ping to rule them all. One Ping to find them.
One Ping to bring down them all.
And in the darkness crash them.         [The Lord of the Pings]

 installarci su Linux... :-)).
Disco singolo SATA partizionato con NTFS in un'unica partizione primaria.
Usato solo per il salvataggio dati (niente OS).
Grazie
Ciao

 e ricostruire la tabella con fdisk.
Non e' un server, ma un disco di un utente home.
Singola partizione primaria in NTFS su disco SATA.
Grazie
Ciao

 quindi piu' danni di cosi' non puoi farne.
Nessun backup, ma mi e' stato proprio detto di provarci liberamente, 
tanto ormai "perso per perso", tanto vale provare.
Mi piacerebbe solo riuscire nell' impresa (parolona), anche per sola 
soddisfazione personale.
Grazie infinite
Ciao

 
sfdisk -l /dev/sda
Disk /dev/sda: 19929 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
    Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1          0+  19928   19929- 160079661   42  SFS
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty
Mi pare un po' sballata pero' :)
Di sicuro so che il disco sda e' stato partizionato con una unica 
partizione primaria NTFS.
Ciao

 
ma veramente speri di poter riparare un filesystem NTFS (per il quale non
esiste ancora un supporto in scrittura) sotto Linux? boh.... dio ti aiuti.
ammesso che la MFT sia danneggiata, ma e` possibile che non hai un windows
xp dove agganciare il disco come secondario e fare un chkdsk in windows?
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
  printf $i }'; echo

 writes:
c> Disco singolo SATA partizionato con NTFS in un'unica partizione primaria.
Googlando un po', leggo che si tratta della gestione dinamica dei dischi
di Win2k/XP. 
Stando a 
http://www.colug.net/pipermail/colug432/2006-June/003061.html
 ,
e` riuscito a vedere la partizione modificandone esplicitamente il tipo
da 42 (SFS) a 7 (HPFS/NTFS) seguito da un "udevcontrol reload_rules".
In un archvio di 
lkml.org
 ho trovato pure:
    Normal behaviour  [vedere la partizione come SFS,  cioe`].  The disk
    in question is a dynamic disk  as created by Windows 2k/xp or later.
    You need to compile in  windows dynamic disk (LDM) support into your
    kernel and then your  disk's partitions will be recognised properly.
    Note AFAIK there are no tools in existence for Linux that will allow
    you to modify the dynamic disk partition layout.
Prima di fare danni irreversibili, io controllerei meglio la questione e
poi al piu` proverei quanto scritto sopra.


 xp dove agganciare il disco come secondario e fare un chkdsk in windows?
E' sufficiente la console di ripristino che si trova sul cd bootable.
Il 90% delle volte un chkdsk /r  ripristina correttamente la MFT.
Ma questo è altamente OT...

 
prova con 
testdisk
gddrescue

 
io magari userei un cd di boot di win xp e magari chiuderei anche con
questo thread OT :)


 
mah potresti provare anche con una distro qualsiasi che contiene
ddr_rescue (anche ghost4linux)

 
ricordo che una persona era riuscita a recuperare un disco con ntfs da una
distro linux
mi ricordo solo che usava dmesg
e poi fsck 
usando una knoppix



non diciamo ca$$ate.
