Home > GNU/Linux, Guide pratiche GNU/Linux, newbie > Guida per principianti a GNU/Linux: convivere con NTFS

Guida per principianti a GNU/Linux: convivere con NTFS

NTFS sta per NT File System ed è il file system predefinito di Windows. NT è infatti il nome interno di tutti i sistemi operativi Windows odierni, sia XP che Vista che il prossimo Windows 7 (difatti si tratterà di Windows NT versione 7).

Per chi ha ancora Windows sul proprio pc, o chi comunque deve convivere con questo filesystem (ad esempio per i dischi esterni), viene in aiuto ntfs-3g, il driver che si appoggia a FUSE e permette la lettura e la scrittura su partizioni Windows.

Nelle distribuzioni recenti ntfs-3g è già installato perché ritenuto abbastanza stabile. Ma attenzione: non lo è. E questo nonostante esista addirittura un installer per GNU/Linux (Wubi) che permette di installare tale sistema operativo su una partizione NTFS.

Non pensate di poter sfruttare una partizione NTFS come se fosse una nativa. Prima di tutto le prestazioni non sono eccelse. In secondo luogo, tale partizione probabilmente dovrà convivere con Windows, creando piccoli problemi che tra poco spiegheremo. Terzo, ntfs-3g è affidabile finché si tratta di copiare file, ma utilizzarlo per compiti più impegnativi (ad esempio condividere i download torrent o amule/emule) significa metterlo sotto sforzo, con il rischio di qualche errore. Nel migliore dei casi perdete il vostro download, nel peggiore rischiate persino di compromettere la partizione e tutti i dati in essa contenuti.

Ntfs-3g difatti è costruito con il reverse engineering in quanto il formato ntfs è segreto ed è stato ricostruito, più o meno, per tentativi.

Come abbiamo detto Ntfs-3g si appoggia a FUSE ed è quindi un driver che funziona in user space. Esiste un driver ntfs nel kernel Linux, ma supporta per ora solo la lettura.

Molti utenti hanno sperimentato questo terribile messaggio:

Di fronte a questo errore e all’impossibilità di accedere ai propri dati, l’utente si spaventa, entra nel panico, pensa di aver perso ogni cosa e in ultimo lancia un appello disperato sul forum di supporto della propria distribuzione. Se non si tratta del forum di Ubuntu, riceverà, meritatamente, insulti e sberleffi.

Basterebbe leggere il messaggio per sapere cosa è successo e per risolvere il problema. Ok, è in inglese, ma si tratta di inglese a livello di scuola media.

La traduzione è molto semplice:

Il file di log indica uno spegnimento “sporco”. Fallimento nel montaggio di ‘/dev/sda1′ (la partizione può cambiare, ndr). Operazione non supportata, il montaggio è negato perché NTFS è marcata in uso.

E qui cerchiamo di capire che cappero vuol dire. In sostanza, ntfs-3g ci dice che Windows non ha chiuso correttamente il filesystem e quindi essa non verrà montata, per motivi di sicurezza. Perché accade ciò?

A volte accade per colpa dell’utente perché stacca il cavetto usb senza fare la “rimozione sicura hardware“. Cavolo, se ce l’hanno messa a qualcosa serve no? Lo stesso vale se si usa l’hd esterno su GNU/Linux: bisogna sempre smontare il dispositivo prima di staccarlo.

Altre volte accade per colpa di Windows: semplicemente Windows si chiude e si “dimentica” di chiudere il filesystem. Poi ci si chiede come mai ogni tanto i file si corrompono…

Ntfs-3g però non si limita a dirci il problema, ma ci spiega pure come risolverlo:

Scelta 1: se hai Windows allora disconnetti il dispositivo esterno usando la “Rimozione sicura hardware”.

Questa prima scelta può apparire così, se si tratta di dispositivi interni:

avvia e chiudi Windows (2 volte)

in modo tale – sottintende ntfs-3g – che Win si convinca a chiudere la partizione NTFS correttamente.

Se invece non abbiamo Windows, possiamo optare per la scelta 2:

Usa l’opzione “force” sotto tua responsabilità. Ad esempio digita da riga di comando: mount -t ntfs-3g /dev/sda1 /media/disk -o force oppure aggiungi l’opzione alla riga di fstab …:

In certi casi compare anche l’opzione 3:

Usa ntfsfix

Vediamo come comportarci. La scelta 1 mi pare chiara. Però si perde tempo a riavviare, con in rischio che magari Windows ci fa lo scherzetto di non chiudere il file system lo stesso.

La scelta 2 è più rischiosa, perché l’opzione “force”, come dice il nome, forza il montaggio ignorando gli errori. Ma, tutto sommato, non mi è mai capitato che qualcuno riferisse danni. E’ molto semplice:

1. creiamo il punto di mount:

sudo mkdir /media/disk

2. montiamo la partizione:

sudo mount -t ntfs-3g  /dev/sda1  /media/disk -o force

Ovviamente /dev/sda1 può cambiare, ma il messaggio di errore ci dice chiaramente qual è la partizione giusta.

La terza opzione richiede l’installazione di ntfsprogs, il pacchetto che contiene il programma ntfsfix. Una volta installato (ad esempio tramite synaptic) da terminale diamo:

sudo ntfsfix  /dev/sda1

A questo punto dovremmo essere in grado di montare la partizione anche senza l’opzione -o force.

Vediamo ora di affrontare un altro problema: rendere stabile il montaggio di una partizione NTFS.

Questa operazione ha senso solo se parliamo di hard disk interni, perché quelli esterni è bene non montarli in modo stabile, in quanto vanno attaccati e staccati.

Possiamo farlo sia per via grafica che da terminale. Per via grafica abbiamo bisogno di ntfs-config. A volte però fa cilecca, quindi vediamo come intervenire da terminale. Prima di tutto scopriamo quale partizione è quella di Windows:

nome@host:~$ sudo fdisk -l

Disk /dev/sda: 100 GB, 100027630080 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device    Boot  Start    End    Blocks   Id  System
/dev/sda1 *         1    191   1534176   82  Linux swap
/dev/sda2 *       192   2103  15350107   83  Linux
/dev/sda3        2104  10886  70541415   83  Linux
/dev/sda4 *     10887  12161  10233405   83  HPFS/NTFS

Nel caso in esame abbiamo che la partizione incriminata è sda4. Apriamo fstab con i privilegi di super utente:

sudo gedit /etc/fstab

e aggiungiamo questa riga:

/dev/sda4 /media/disk ntfs-3g
silent,umask=0,locale=it_IT.utf8 0 0

tutto su una riga, mi raccomando! Notate che silent,umask=0,locale=it_IT.utf8 è scritto senza spazi. Difatti, come abbiamo detto, fstab è una tabella in cui ogni colonna è delimitata da uno spazio. la terza colonna contiene le opzioni e non deve avere spazi, altrimenti è come se creiamo una quarta colonna.

Nel caso specifico le opzioni indicano di non stampare errori (silent), di permettere a tutti di scrivere e leggere (umask=0) e di usare la tabella caratteri italiana per i nomi dei file (locale=it_IT.utf8) in modo da gestire nomi con gli accenti.

Salviamo e diamo:

sudo mkdir /media/disk

per creare il punto di mount (il nome può cambiare chiaramente, ma deve corrispondere a quello messo in fstab), poi

sudo mount -a

che monta ciò che è in fstab.

Se abbiamo problemi di permessi:

sudo chmod 777 /media/disk

dovrebbe risolverli.

About these ads
  1. 7 ottobre 2008 alle 19:54 | #1

    Ciao finalmente chiara quella finestra, non tanto su cosa fare, ma su cosa significa e su ciò che è successo. Ottimo.

    Io due partizioni una ntfs e c’è windows ma non uso quasi mai questa partizione, mentre l’altra in fat32 la utilizzo per i dati (documetni ecc.)

    Il discorso sulla sicurezza di ntfs vale anche per la fat32? Pensi di approfondirlo e ci sono dei consigli come hai fatto in questo postper la ntfs?

    Ciao e grazie di nuovo.

  2. 8 ottobre 2008 alle 1:49 | #2

    no, fat32 è supportato al 100%.

  3. Andrea
    8 ottobre 2008 alle 10:24 | #3

    ottimo articolo… ma una cosa non ho capito, ne tanto meno apprezzato:

    “Se non si tratta del forum di Ubuntu, riceverà, meritatamente, insulti e sberleffi.”

    mi spieghi che cavolo vuol dire? gli utenti di ubuntu sono dei signori e ti chiedono perdono se non riesci a montare la partizione mentre gli altri sono dei pezzenti che ti prendono a male parole? la cosa oltre ad essere ridicola è anche falsa (e pure tendenziosa come direbbe qualcuno)

  4. Sara
    8 ottobre 2008 alle 12:01 | #4

    @Andrea: credo voglia dire che il messaggio d’errore è talmente chiaro che solo sul forum di Ubuntu si ricevono risposte.
    E non credo fosse un complimento al forum di Ubuntu. ;)

  5. 8 ottobre 2008 alle 14:03 | #5

    @Andrea: è solo una battuta per dire che sul forum di Ubuntu “siamo” molto buoni. Io un po’ meno ;)

  6. cluedo
    8 ottobre 2008 alle 20:52 | #6

    Bè, la tua personale correttezza è fuori discussione, ma sul “siamo” dissento: io , dopo un pò, ci ho trovato supponenza, maleducazione e alla fine anche espressioni offensive, per cui ho cancellato il mio account e non lo seguo neanche da visitatore.
    Per fortuna hai aperto questo blog…

  7. 9 ottobre 2008 alle 22:10 | #7

    cluedo vai a chiedere sul forum di gentoo cosa è un “mount”, poi vediamo se il forum di ubuntu non ti sembra ricco di buonismo…

    anche se ammetto che il livello di preparazione del forum di gentoo è in media molto piu elevato….

  8. cluedo
    10 ottobre 2008 alle 18:08 | #8

    ciao spillo, non conosco l’altro forum nè ci tengo, visto quanto affermi: il mio è un discorso più generale, trovo che sia cmq da barbari, su un forum, offendere chiunque chieda informazioni.
    Se la domanda è ritenuta troppo banale dal luminare di turno, questi potrebbe limitarsi a non rispondere, nessuno lo obbliga, no?

    Ma stiamo divagando; tornando al topic, per fortuna nessun problema di mount per quanto mi riguarda. Mai avuto il terribile messaggio :-)

  9. aleida
    12 ottobre 2008 alle 18:22 | #9

    Tornando in argomento Guiodic ha scritto:

    “Nel caso specifico le opzioni indicano di non stampare errori (silent), di permettere a tutti di scrivere e leggere (umask=0)”.

    Il “non stampare errori” significa solo non renderli visibili, oppure risolverli? Nel primo caso mi sembra poco utile nascondere la polvere sotto il tappeto. Noo?

    L’opzione umask=0 permette a tutti di scrivere e leggere. Ecco, e se volessi permetterlo soltanto a me (user) e ovviamente al root (che sono sempre io, modestia a parte, gh!), umask a cosa dovrebbe equivalere?

    Poi, sudo chmod 777 /media/disk dovrebbe dare anche quello i permessi a tutti? Per darli solo a me e al root? Ed eventualmente, è un comando da dare a partizione montata, credo, altrimenti si danno i permessi a una directory vuota…
    Infine, se si vogliono dare i permessi a determinati utenti o gruppi per montare/smontare, ma anche di accesso, lettura e scrittura in tutte le directory, subdir e files di quella partizione, non sarebbe il caso di dare un sudo chmod -R 777 /media/disk, sempre a partizione montata?

  10. 15 ottobre 2008 alle 16:01 | #10

    “…(ad esempio condividere i download torrent o amule/emule) significa metterlo sotto sforzo, con il rischio di qualche errore. Nel migliore dei casi perdete il vostro download, nel peggiore rischiate persino di compromettere la partizione e tutti i dati in essa contenuti.”

    Mi sembra che tu esageri. Ho usato per due anni e passa una partizione ntfs condivisa tra XP e Ubuntu, ci tenevo solo dei dati e vi puntavano i programmi p2p di entrambi gli OS, condividendo i download. Mai perso dati. Ora l’ho formattata in ext3, perché non uso quasi più XP e perché mi ero rotto di deframmentare. Ma questo era l’unico inconveniente. Quindi direi potrebbe essere questo il ‘migliore dei casi’, non certo perdere i file, dai.

    ..e complimenti per essere sempre molto esauriente. ciao

  11. 16 ottobre 2008 alle 19:58 | #11

    Gran bel blog….. Se non ti dispiace ti aggiungerei al mio bloroll e tra gli amici di facebook.

    A presto

  12. streetcross
    16 ottobre 2008 alle 21:36 | #12

    Bella guido, appena arriva un niubbo che chiede aiuto per un errore irrisolvibile :-) con la sua partizione windows gli linko l’articolo, così non perdo tempo neanche a spiegargli che dovrebbe usare la ricerca (oppure RTFM) perchè qua troverà anche questo “sberleffo” ;-) ottima ottima come sempre

  13. ago
    17 ottobre 2008 alle 13:13 | #13

    Qualche precisazione:

    Il problema principale di ntfs(-3g) e’ che al momento non esiste fsck per ntfs in Linux. Questo significa che per riparare eventuali problemi, bisogna avviare windows ed eseguire chkdsk /r nel drive in questione. Trovo strano che chkdsk non venga neanche menzionato.

    La stragrande maggioranza dei problemi riscontrati con ntfs sono dovuti a spegnimento non corretto della macchina. Da notare che questo comporta problemi per qualsiasi file-system, solo che negli altri casi il consistency check e’ attivato automaticamente in avvio e spesso l’utente neanche se ne accorge. Nel caso di ntfs invece, non essendo presente fsck, non e’ possibile risolvere automaticamente eventuali problemi, se non riavviando Windows.

    Da notare che ntfsfix attiva la dirty flag in modo che al riavvio di Windows venga effettuato un consistency check. Quindi se lo scopo e’ eliminare la dirty flag, ntfsfix fa esattamente l’opposto. Sconsiglio vivamente di montare le partizioni con -o force. Se ci sono problemi, riparateli prima con chkdsk da Windows.

    Quanto alla solidita’ di ntfs-3g, il file system e’ stato stress tested dai developers di ntfs-3g e da TUTTE le distribuzioni di Linux, nonche’ da varie societa’ che lo utilizzano quotidianamente. E si tratta di tests rigorosi come la creazione di vari milioni di files e directories, operazioni di I/O con partizione a piena capacita’ etc… Questo per oltre due anni. E’ ovviamente sempre possibile che vi siano bugs (come in ogni altro software), ma pensare che Ubuntu, Fedora, OpenSuse etc mettano in giro un file system con noti problemi di perdita dati o corruzione e’ alquanto puerile.

    In particolare se vi sono bugs ancora da scoprire si tratta di corner cases, e’ invece estremamente improbabile che si possano presentare problemi durante normali operazioni di I/O anche se legate all’utilizzo di programmi di file sharing. Queste sono le parole di szaka, lead developer di ntfs-3g sull’argomento: http://forum.ntfs-3g.org/viewtopic.php?t=890&sid=7bc253264be81a5cf13bca4fcdfce80f

    Per la performance si veda http://www.ntfs-3g.org/performance.html

    Per finire sconsiglio l’uso di fat32 rispetto ad ntfs-3g. A) fat32 non e’ un journaled file system, B) la performance e’ peggiore in molti casi, come si evince dalla tabella sopra, C) vi sono varie altre restrizioni (no chmod/chown, no hard links, limiti di dimensione file, etc…).

  14. saxtro
    18 ottobre 2008 alle 2:43 | #14

    beh non è che ntfs-3g supporti il chmod o il chown, dall’ fstab l’ ho montato in tutte le salse, l’ ls -l mostrava correttamente le proprietà impostate al mount ( propietario e permessi) però chiunque (anche un non owner con permessi 700 su directory e files) poteva creare files che ereditavano permessi impossibili su un fs nativo ( owner non proprio!)

  15. saxtro
    18 ottobre 2008 alle 2:52 | #15

    se guio permette aggiungo questo link
    http://forum.ubuntu-it.org/index.php/topic,62640.0.html

    ci sono delle prove che feci con un altro utente tempo addietro
    ciao

  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 724 follower

%d blogger cliccano Mi Piace per questo: