NTFS FAQ (Frequently Asked Questions / Domande frequenti)

English Italian Japanese Vietnamese German Simplified Chinese French Spanish Brazilian Traditional Chinese Russian

Questa FAQ è parte del Linux NTFS Project.
La versione aggiornata è disponibile online all'indirizzo:
ntfs.html

Se avete una domanda su NTFS che non è presente in questa FAQ, o avete commenti sulla FAQ, scriveremi: linux-ntfs-dev@sourceforge.net

Sommario

Chiavi

** - Domande più frequenti
!! - Altri punti interessanti
NB - Nota utile

 Comandi o output

1. Domande generali su NTFS

  1.1 Cos'è NTFS?
  1.2 NTFS è migliore di FAT/FAT32?
  1.3 Dovrei usare NTFS? (O aggiornarmi?)
!! 1.4 NTFS è uguale in ogni versione di Windows?
  1.5 Quali sono i limiti di NTFS?

2. Le unità NTFS

  2.1 Come faccio a leggere una unità NTFS da Windows 95/98/ME or DOS?
  2.2 Come faccio a convertire una unità FAT NTFS in una unità NTFS?
!! 2.3 Come faccio a convertire una unità NTFS in una unità FAT?
  2.4 Come faccio a cancellare una unità NTFS?
  2.5 Come faccio a deframmentare una unità NTFS?
** 2.6 Come faccio a ridimensionare una unità NTFS?

3. Linux e NTFS

!! 3.1 Quali versioni di NTFS può leggere Linux?
** 3.2 Il Driver può scrivere su una unità NTFS?
  3.3 Quali caratteristiche di NTFS supporta Linux?
  3.4 Cosa dovrei fare se qualcosa va male?
** 3.5 Come faccio ad aggiungere il supporto di NTFS a Linux?
  3.6 Quale versione è la migliore?
  3.7 Quali altri strumenti ci sono?
  3.8 Come è stato scritto il Driver NTFS per Linux?
  3.9 Chi dobbiamo ringraziare?

4. Montare unità NTFS

  4.1 Posso montare una unità NTFS?
  4.2 Quanto sicuro è il Driver NTFS?
  4.3 Quale partizione dovrei usare?
  4.4 Quale versione del Driver NTFS possiedo?
!! 4.5 Come faccio a montare una unità NTFS?
  4.6 Opzioni di mount comuni.
  4.7 Opzioni di mount del Driver Originale.
  4.8 Opzioni di mount del Nuovo Driver.
** 4.9 Come faccio a cambiare i permessi di una unità NTFS montata?
!! 4.10 Come faccio a montare una unità NTFS automaticamente?

5. Avviare Sistemi Operativi su NTFS

  5.1 Posso avviare Windows con il boot loader da una unità NTFS?
  5.2 Come faccio con lilo?
  5.3 Come faccio con grub?

6. Distribuzioni Linux

  6.1 Quali distribuzioni hanno un supporto interno per NTFS?
  6.2 Come mai RedHat non supporta NTFS?
  6.3 Perchè RedHat Linux si blocca quando accede ad un'unità NTFS?
  6.4 Alcune distribuzioni possono essere installate su NTFS?

7. Il Nuovo Driver NTFS per Linux

  7.1 Cos'è il nuovo Driver NTFS?
  7.2 Dovrei usarlo?
  7.3 Come faccio ad usare il nuovo Driver?
  7.4 Cos'è una patch?
  7.5 Cosa faccio se ancora non capisco?
  7.6 Quando il nuovo codice sarà nel Kernel Linux?
  7.7 Possiamo scrivere un'adattamento dei driver di Windows?

Torna all'inizio


1. Domande Generali su NTFS

1.1 Cos'è NTFS?

NTFS è l'abbreviazione di New Technology Filesystem. NT perchè originariamente veniva usato in Windows NT e un filesystem è solo il procedimento usato dal computer per memorizzare i files su disco. Sistemi operativi diversi memorizzano i files in maniera diversa.

NTFS è usato da Windows NT, 2000 e XP.

Torna all'inizio

1.2 NTFS è migliore di FAT/FAT32?

Nell'insieme, si. E' molto più robusto, supporta i nomi dei files in Unicode, una appropriata sicurezza, compressione e criptazione. La sua mancanza più grave è che può essere letto solo da Windows NT, 2000 o XP, ad es. non puoi usare un disco di avvio DOS e leggere i tuoi dati.

Come sempre ci sono eccezioni a questa regola. Linux ha un driver per NTFS dal Dicembre 1997. C'è anche un programma che da un supporto NTFS al DOS (vedi Sezione 2.1 per i dettagli).

Torna all'inizio

1.3 Dovrei usare NTFS? (O aggiornarmi?)

No, non è necessario, però per molte persone è una buona idea. Probabilmente non noterai la differenza. L'unico cambiamento, è che non puoi riconvertirti a FAT (vedi Sezione 2.3 per i dettagli).

NB Puoi installare Windows NT su un filesystem FAT16 e Windows 2000 o XP su un filesystem FAT32. In seguito puoi aggiornarti ad NTFS.

Torna all'inizio

1.4 NTFS è uguale in ogni versione di Windows?

No. Sembrano simili, ma le versioni più recenti hanno caratteristiche extra. Per esempio, Windows 2000 ha le quote.

NTFS Versione di Windows
v1.2NT 3.51, NT 4
v3.02000
v3.1XP

La versione 1.2 talvolta è conosciuta come 4.0.
Le versioni 3.0 e 3.1 sono talvolta riferite come 5.0 e 5.1.

Torna all'inizio

1.5 Quali sono i limiti di NTFS?

GRANDI. NTFS supporta files fino a 263 bytes di dimensione. Le unità NTFS possono avere fino a 263 clusters e ogni cluster può essere esteso fino a 64KiB. Questo da a NTFS un limite superiore di circa 500 trilioni di gigabytes.

Torna all'inizio


2. Le Unità NTFS

2.1 Come faccio a leggere una unità NTFS da Windows 95/98/ME o DOS?

Sfortunatamente non puoi. Queste versioni di Windows possono comprendere solo la FAT. NTFS può venir letta da Windows NT, 2000 e XP.

Comunque, con un piccolo lavoro, puoi usare un sacco di utilità da SysInternals "NTFS for Windows 98" e "NTFSDOS" ti permettono di leggere NTFS da Windows 95, 98 e DOS. Se sei disposto a pagare, ci sono perfino versioni che scrivono su NTFS (N.B. E' veramente costoso).

Torna all'inizio

2.2 Come faccio a convertire una unità FAT in una unità NTFS?

Apri un prompt di comando e digita (sostituendo x: con l'unità corretta):

    convert x: /fs:ntfs
    

Se l'unità è in uso, la conversione avverrà al successivo avvio.

NB Il comando non è facilmente reversibile. Vedi la successiva FAQ.

Torna all'inizio

2.3 Come faccio a convertire una unità NTFS in una unità FAT?

La risposta più semplice è, "Non puoi". C'è un'eccezione se hai denaro da spendere. Partition Magic, disponibile presso norton.com può effettuare conversioni tra diversi filesystems, inclusi NTFS e FAT.

Torna all'inizio

2.4 Come faccio a cancellare una unità NTFS?

Questo dipende da quale sistema operativo stai usando.

DOS, Windows 95/98/ME: fdisk. Usa un disco di avvio, o chiedi a Windows di riavviarsi in modo DOS. Dopo ciò esegui fdisk. Se hai più di un disco, per prima cosa seleziona su quale effettuare i cambiamenti. Scegli di cancellare una partizione non-DOS. Stai molto attento, i cambiamenti sono effettuati immediatamente.

Windows NT: Gestione computer.

Windows 2000, XP: Gestione delle Unità Logiche. Partendo dal Pannello di Controllo, scegli Strumenti di Amministrazione, poi Gestione Computer.

Torna all'inizio

2.5 Come faccio a deframmentare una unità NTFS?

Dopo che un'unità e stata usata per un po', dopo molte scritture su disco, i files possono frammentarsi. Cioè non sono più memorizzati in un blocco unico consecutivo sul disco, ma in molti piccoli pezzi sparsi. Questo causa un rallentamento quando si prova ad accedere a questi files.

Windows 2000 e XP hanno un programma di deframmentazione interno. Per gli utenti di Windows NT, c'è un programma gratuito che fa lo stesso lavoro. Diskeeper Lite può essere scaricato da: http://diskeeper.com

Torna all'inizio

2.6 Come faccio a ridimensionare una unità NTFS?

Fino a poco tempo fa l'unico modo per ridimensionare le unità NTFS senza perdita di dati, era di pagare un sacco di soldi. Ora, c'è il programma che abbiamo scritto, ntfsresize. E' stato testato, ma dovrebbe ancora essere considerato sperimentale. Per maggiori informazioni, leggere la FAQ ntfsresize.

Un programma non gratuito che può ridimensionare NTFS è Partition Magic reperibile presso: http://powerquest.com

Torna all'inizio


3. Linux e NTFS

3.1 Quale versione di NTFS può leggere Linux?

Il Driver per Linux può leggere tutte le versioni di NTFS. Ogni versione è un po' diversa, ma il driver deve solo interpretare i files e le directories. Tutti gli indici che NTFS mantiene possono essere ignorati tranquillamente.

Quando il driver potrà scrivere su una unità NTFS, allora adatterà quella capacità in base alla versione di NTFS sulla quale sta scrivendo.

Torna all'inizio

3.2 Il Driver può scrivere su una unità NTFS?

Non realmente, ma se necessiti solo di compiare files da Linux a Windows in una macchia dual-boot, vedi "Come scrivere su NTFS" più avanti per un possibile modo di lavorare attorno la mancanza del supporto alla scrittura. Per il supporto alla scrittura in Linux, leggi il seguito.

Ci sono due drivers, attualmente. Il driver originale, nel kernel 2.4 ha del codice per la scrittura, ma è estremamente pericoloso da usare. La possibilità di distruggere il tuo filesystem è molto alta.

Il nuovo driver, introdotto nel kernel 2.5.11, ha del codice per la scrittura, ma è veramente limitativo. Il driver può sovrascrivere files esistenti, ma non può cambiarne la lunghezza, aggiungerne di nuovi o cancellare quelli esistenti.

L'aggiunta del supporto alla scrittura prenderà un lungo tempo. NTFS è strutturato come un database. Ogni cambiamento che fai, necessità di far cambiamenti in molti posti, per la consistenza. Si fa un errore e il filesystem verrà danneggiato, si fanno molti errori e il filesystem sarà distrutto. Inoltre, gli sviluppatori attuali stanno solo lavorando sull'NTFS come un hobby, durante il loro tempo libero. Se hai voglia di aiutarci, per favore manda un email a: linux-ntfs-dev@sourceforge.net

Come scrivere su NTFS. Se stai usando una macchina dual-boot e necessiti il supporto alla scrittura su NTFS solo per trasferire files da Linux a Windows, puoi usare un driver ext2/ext3 per Windows e, mentre esegui Windows, leggere i files dalla partizione Linux. In questo modo, usando due driver di sola lettura, puoi copiare files da un file system all'altro.

Al 4 Giugno 2003, si conoscono questi drivers open source che supportano ext2 e ext3 Linux filesystem per Windows:

Torna all'inizio

3.3 Quali caratteristiche di NTFS supporta Linux?

NTFS supporta un esteso insieme di caratteristiche, ma poche sono considerate dal Driver NTFS per Linux.

Il Driver NTFS per Linux supporta: nomi dei files in Unicode (convertiti nelle codifiche di pagina locali o utf8); files compressi; files sparsi.

Comunque, il driver non può leggere files criptati, ignora le informazioni di sicurezza di Windows e ignora le quote definite da Windows.

Torna all'inizio

3.4 Cosa dovrei fare se qualcosa va male?

Il driver è piuttosto sicuro in sola lettura, ma è impossibile testare ogni eventualità. Se qualcosa va male, per favore aiutaci a trovare il problema e a correggerlo.

Per favore manda un'email al team di sviluppo presso linux-ntfs-dev@lists.sourceforge.net e dicci quale versione del driver stai usando, quale versione di Linux (uname -a) e quale versione di NTFS (Win NT, 2K or XP).

In aggiunta, se ci sono dei logs (/var/log/messages) che pensi possano essere utili, per favore includili.

Grazie.

Torna all'inizio

3.5 Come faccio ad aggiungere il supporto di NTFS a Linux?

Molti utenti non dovranno compilare alcunché per abilitare il supporto per NTFS. Pressoché ogni distribuzione di Linux (con la notevole eccezione di RedHat) posseggono già il supporto NTFS al loro interno.

Se stai usando RedHat 9 (Shrike), 8.0 (Psyche) o 7.3 (Valhalla), allora puoi semplicemente installare un rpm per il supporto di NTFS. Il pacchetto rpm è fornito di dettagliate istruzioni.

Se hai una vecchia versione di RedHat, o un'altra distribuzione che non include il supporto per NTFS, allora devi compilare il kernel te stesso. Questa operazione non è difficile quanto sembra. Dai un'occhiata alla Pagina di Compilazione per maggiori dettagli.

Torna all'inizio

3.6 Quale versione è la migliore?

La nuova versione del driver è migliore. E' scritta meglio, più veloce, ha meno bugs ed è SMP-sicura. Il nuovo driver è disponibile dal kernel 2.5.11 in poi e una patch è disponibile per aggiungere il nuovo driver ai kernels 2.4.

Torna all'inizio

3.7 Quali altri strumenti ci sono?

Al momento, ci sono solo pochi strumenti e sono mirati agli sviluppatori. Teniamo una status list di tutti i nostri strumenti.

Naturalmente la priorità è rivolta nel rendere il supporto alla scrittura su NTFS codificato.

Torna all'inizio

3.8 Come è stato scritto il Drive NTFS per Linux?

Microsoft non ha realizzato alcuna documentazione riguardo la struttura interna di NTFS, così abbiamo dovuto procedere in senso inverso all'analisi del filesystem dalle basi. Il metodo fu all'incirca:

  1. Visualizzare l'unità con un editor esadecimale
  2. Eseguire qualche operazione, ad es. creare un file
  3. Usare l'editor esadecimale per visualizzare i cambiamenti
  4. Classificare e documentare i cambiamenti
  5. Ripetere i passi 1-4 sempre

Se questo sembra un sacco di lavoro, probabilmente capisci quanto duro sia stato il compito. Ora capiamo pressoché ogni cosa riguardo l'NTFS e lo abbiamo documentato per il beneficio degli altri:
../ntfs/index.html

Attualmente la scrittura del driver è stata considerevolmente più semplice che l'acquisizione delle informazioni.

Torna all'inizio

3.9 Chi dobbiamo ringraziare?

Primo fra tutti, dobbiamo ringraziare Martin von Löwis. Egli ha creato il driver NTFS originale nel lontano 1995. E' stato aggiunto al Kernel di Linux nel Dicembre 1997 (2.1.74). E' stato aiutato dalle seguenti anime gentili:

Albert Cahalan, Anton Altaparmakov, Damon Casale, David Dillard, Domagoj Pensa, Joseph Malicki, Matthew Fanto, Olof Wolgast, Rani Assaf, Régis Duchesne, Richard Russon, Steve Dodd, Werner Seiler.

Poi dobbiamo ringraziare Anton Altaparmakov, è stato il suo entusiasmo a tenere il progetto vivo. In un momento nel quale il progetto era effettivamente non mantenuto, lui rilevò e stabilizzò il codice. Perseverò a riscrivere il driver dal principio con lo scopo di avere una base pulita da cui progredire con il supporto alla scrittura. E' stato aiutato da:

Pawel Kot, Richard Russon.

Torna all'inizio


4. Montare Unità NTFS

4.1 Posso montare unità NTFS?

Certo. Il Driver può leggere qualunque versione di NTFS, ma in sola lettura.

Torna all'inizio

4.2 Quanto sicuro è il driver NTFS?

Quando usati per la sola lettura, sia il Driver Originale che il Nuovo Driver sono sicuri per un uso generale. NON effettuano alcun cambiamento al tuo filesystem, cosicché non possono causare alcun danneggiamento.

In aggiunta, il Nuovo Driver è SMP-safe.

Torna all'inizio

4.3 Quale partizione dovrei usare?

In Linux gli hard disk sono chiamati hda, hdb per il primi due dischi del primo controller IDE e hdc, hdd per il terzo ed il quarto disco. I dischi SCSI sono chiamati sda, sdb, ecc, nell'ordine nel quale vengono rilevati.

Un modo semplice per cercare unità NTFS è usare:

    fdisk -l
    

L'output dovrebbe essere simile a questo:

    Disk /dev/hda: 64 heads, 63 sectors, 4465 cylinders
    Units = cylinders of 4032 * 512 bytes

       Device Boot    Start       End    Blocks   Id  System
       /dev/hda1             1      2125   4283968+  07  NTFS/HPFS
       /dev/hda2          2126     19851  35735616   0f  Win95 Ext'd (LBA)
       /dev/hda5   *      2126      4209   4201312+  83  Linux
       /dev/hda6          4210      4465    516064+  82  Linux swap
    

Torna all'inizio

4.4 Quale versione del Driver NTFS possiedo?

Se la versione del tuo kernel è 2.4.*, o 2.5.0 - 2.5.10, allora probabilmente hai il Driver NTFS Originale. Se hai la versione 2.5.11 o superiore, allora hai il Nuovo Driver NTFS.

Un controllo migliore consiste nel cercare all'interno dei logs del kernel i messaggi di log di NTFS. Prova entrambi i comandi (potresti aver bisogno dei privilegi di root per leggere i logs).

    dmesg | grep -i ntfs
    grep -i ntfs /var/log/messages
    

Il Driver Originale ha la versione 1.1.*, laddove il Nuovo Driver ha versione 2.*.

Torna all'inizio

4.5 Come faccio a montare una unità NTFS?

Prima di tutto, potrebbe essere un'idea controllare che il tuo kernel comprenda NTFS. Il comando seguente restituirà una lista di tutti i filesystems che Linux capisce. Se appare ntfs allora è tutto OK. Potrebbe essere una buona idea anche leggere il manuale di mount, man 8 mount.

    cat /proc/filesystems
    

Dopociò devi creare un posto dove montare l'unità NTFS. Infine puoi montare l'unità.

    mkdir /mnt/windows
    mount /dev/hda1 /mnt/windows -t ntfs -r
    

NB Per alterare le autorizzazioni del filesystem montato, vedi l'opzione umask nella Sezione 4.6. Se vuoi che l'unità sia montata automaticamente all'avvio, vedi la Sezione 4.10.

Quando hai finito, puoi smontare la partizione con entrambi questi comandi:

    umount /mnt/windows
    umount /dev/hda1
    

NB Il comando è chiamato umount (solo una 'n').

Torna all'inizio

4.6 Opzioni di mount comuni

Queste opzioni di mount sono comuni ad entrambi i drivers. E' raccomandato di leggere anche la pagina di mount dei manuali. La sintassi generale di mount è:

    mount device directory [options]
    

Le opzioni addizionali, precedute da -o, possono essere date individualmente oppure come un unico parametro separandole con la virgola. Questi due comandi sono equivalenti:

    mount /dev/hda1 /mnt/windows -o X -o Y -o Z
    mount /dev/hda1 /mnt/windows -o X,Y,Z
    
-t ntfs
Specifica il tipo di filesystem che verrà montato. Questa opzione non è necessaria da quando mount conosce come identificare molti tipi di filesystem.
-r
Monta l'unità in sola lettura. Di impostazione predefinita, mount tenterà di montare l'unità in lettura-scrittura. Eccetto quando viene forzato, il driver monterà automaticamente il filesystem in sola lettura.
-o ro
Identico a -r.
-o umask={VALUE}
Le autorizzazioni predefinite date ad una unità NTFS montata sono rwx------ (questo è per una ragione di sicurezza). Il parametro umask controlla le autorizzazioni dei files e delle directories. Per maggiori dettagli ed esempi, vedi la Sezione 4.9.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222
    
-o uid={USERID}
Tutti i files di una unità NTFS montata, se non viene fornita altra indicazione, sono di proprietà dell'utente root. Se fornisci il parametro uid puoi decidere il proprietario dei files. Il valore userid può essere qualunque nome contenuto nel file /etc/passwd, o qualunque numero rappresentante un id utente.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=flatcap
    mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=500
    
-o gid={GROUPID}
In mancanza di altre indicazioni, tutti i files di una unità NTFS montata avranno come gruppo proprietario il gruppo root. Se fornisci il parametro gid puoi decidere il gruppo a cui appartengono i files. Il valore groupid può essere qualunque nome contenuto nel file /etc/group, o qualunque numero rappresentante un id di gruppo.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=winusers
    mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=520
    

Torna all'inizio

4.7 Opzioni di mount del Driver Originale.

Per vedere quale driver stai usando, vai alla Sezione 4.4. Questa sezione tratta le opzioni presenti solo nel Driver Originale. Tutte le opzioni di mount in comune ai due drivers sono discusse nella Sezione 4.6.

Molte opzioni vogliono un parametro true o false.
Devi sostituire true con yes o 1.
Devi sostituire false con no o 0.

-o iocharset={NAME}

NTFS memorizza tutti i nomi di files e di directories nel formato Unicode che può rappresentare qualunque carattere di qualunque linguaggio. Come impostazione predefinita, il driver NTFS per Linux converte i nomi in ASCII che va bene ad alcune persone, ma non va bene se il tuo linguaggio include lettere come å o é.

NLS (Native Language Support) controlla come i caratteri sono visualizzati. Puoi scegliere sia utf8 che, come Unicode, può rappresentare tutti i caratteri, o il tuo codepage, ad es. iso8859-1 (Europa Occidentale), iso8859-2 (Europa Centrale), gb2312 (Cinese Semplificato), iso8859-8 (Ebraico). I seguenti sono esempi del comando mount:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=utf8
    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=iso8859-2
    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=gb2312
    
utf8=true

Se il tuo kernel non supporta utf8, puoi usare questa opzione per lavorare con il supporto di utf8 implementato nel driver NTFS. Dovresti comunque usare -o iocharset=utf8 quando possibile.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o utf8=true
    
-o posix={BOOL}

Windows conserva le maiuscole e le minuscole nei nomi di files, ma non le distingue quando li legge. Quindi puoi creare un file con nome MyFileName e in seguito aprirlo chiamandolo mYfILEname.

Di impostazione predefinita Linux distingue maiuscole e minuscole, MyFile, MyFilE e myfile sono tutti files differenti. Se vuoi che Linux si comporti come Windows, per una unità NTFS, imposta l'opzione posix a true. Impostando l'opzione a false il driver si comporterà come Linux.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o posix=true
    
-o show_sys_files={BOOL}

Se questa opzione è impostata a true, i metadati del filesystem saranno visibili. Se non sono visibili, possono ancora essere elencati esplicitamente fornendo il loro nome, ad es. ls -l \$MFT.

NB A causa di una limitazione di glibc, $MFT potrebbe non apparire nell'elenco perchè è l'inode numero zero.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o show_sys_files=true
    

Torna all'inizio

4.8 Opzioni di mount del Nuovo Driver.

Per sapere che driver stai usando, vedi Sezione 4.4. Questa sezione discute solamente le opzioni del Nuovo Driver. Tutte le opzioni di mount comuni sono discusse nella Sezione 4.6.

Molte opzioni vogliono un parametro true o false.
Devi sostituire true con yes o 1.
Devi sostituire false con no o 0.

-o nls={NAME}

NTFS memorizza tutti i nomi di files e di directories nel formato Unicode che può rappresentare qualunque carattere di qualunque linguaggio. Come impostazione predefinita, il driver NTFS per Linux converte i nomi in ASCII che va bene ad alcune persone, ma non va bene se il tuo linguaggio include lettere come å o é.

NLS (Native Language Support) controlla come i caratteri sono visualizzati. Puoi scegliere sia utf8 che, come Unicode, può rappresentare tutti i caratteri, o il tuo codepage, ad es. iso8859-1 (Europa Occidentale), iso8859-2 (Europa Centrale), gb2312 (Cinese Semplificato), iso8859-8 (Ebraico). I seguenti sono esempi del comando mount:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=utf8
    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=iso8859-2
    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=gb2312
    
-o fmask={VALUE}
-o dmask={VALUE}

Il parametro umask altera le autorizzazioni sia dei files che delle directories (vedi Sezione 4.6 come promemoria). fmask influisce sui files e dmask influisce sulle directories alla stessa maniera. L'effetto di queste opzioni può essere anche combinato. Ecco alcuni esempi:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0222
    mount /dev/hda1 /mnt/windows -t ntfs -r -o dmask=0222
    mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0077,dmask=0222
    
-o case_sensitive={BOOL}

Windows conserva le maiuscole e le minuscole nei nomi di files, ma non le distingue quando li legge. Quindi puoi creare un file con nome MyFileName e in seguito aprirlo chiamandolo mYfILEname.

Di impostazione predefinita Linux distingue maiuscole e minuscole, MyFile, MyFilE e myfile sono tutti files differenti. Se vuoi che Linux si comporti come Windows, per una unità NTFS, imposta l'opzione case_sensitive a false. Impostando l'opzione a true il driver si comporterà come Linux.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=true
    mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=false
    
-o sloppy={BOOL}

Come impostazione predefinita, il driver si rifiuterà di montare se alcune opzioni sono scorrette. Aggiungendo il parametro sloppy il driver semplicemente ignorerà i parametri sbagliati.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=true
    mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=false
    
-o errors={VALUE}

Questa opzione controlla come il driver fa fronte ai problemi. L'impostazione predefinita è continue. Eventuali malfunzionamenti verranno segnalati e saltati. L'alternativa è di configurare il driver affinché tenti di risolvere il problema con l'impostazione recover. Attualmente l'unica riparazione che il driver può fare è di sostituire il settore di boot con una copia di backup.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=continue
    mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=recover
    

Torna all'inizio

4.9 Come faccio a cambiare i permessi di una unità NTFS montata?

Ci sono tre opzioni per controllare i permessi e i proprietari di files e directories. Ci sono: umask, uid e gid. Sono menzionati in "Opzioni di mount comuni".

I seguenti esempi mostrano ogni opzione e il suo effetto sui files. Useremo lo stesso comando di mount ogni volta, mostrando solo le opzioni.

    mount /dev/hda1 /mnt/windows -t ntfs -r
    

umask è un filtro di permessi, quindi lavora in maniera opposta a chmod. I pieni permessi sono espressi da 777 (rwxrwxrwx). Un umask 0222 (-w--w--w-) lascia 555 (r-xr-xr-x).

L'umask predefinito è impostato a 0077, per ragioni di sicurezza.

    mount ... -o umask=0277

    -r-x------ 1 root    root    28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o umask=0222

    -r-xr-xr-x 1 root    root    28096 Aug 24 1996 chkdsk.exe
    

Finora i files sono ancora di proprietà dell'utente e del gruppo root. Di seguito proviamo le opzioni uid e gid.

    mount ... -o uid=flatcap

    -r-x------ 1 flatcap root    28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o gid=winuser

    -r-x------ 1 root    winuser 28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o uid=flatcap,gid=winuser

    -r-x------ 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
    

In conclusione usiamo una combinazione di opzioni per un controllo preciso. Di seguito assegnamo all'utente flatcap il pieno controllo, al gruppo degli utenti winuser i permessi di lettura e agli altri utenti nessun permesso di accesso.

    mount ... -o umask=0027,uid=flatcap,gid=winuser

    -rwxr-x--- 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
    

Torna all'inizio

4.10 Come faccio a montare un'unità NTFS automaticamente?

Una volta che sei felice del tuo comando di mount, puoi insegnare a Linux come montare l'unità automaticamente aggiungendo una linea al file /etc/fstab (filesystem table).

Di seguito sono mostrati alcuni esempi di comandi di mount e il loro equivalente in fstab.
NB Non preoccuparti del significato dei simboli 0 0 presenti alla fine.

    mount /dev/hda1 /mnt/windows -t ntfs -r

    /dev/hda1 /mnt/windows ntfs ro                                    0 0
    

Di seguito abbiamo trasformato -r nell'equivalente -o ro.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222

    /dev/hda1 /mnt/windows ntfs ro,umask=0222                         0 0
    
    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222,uid=flatcap,gid=winuser

    /dev/hda1 /mnt/windows ntfs ro,umask=0222,uid=flatcap,gid=winuser 0 0
    

Torna all'inizio


5. Avviare Sistemi Operativi su NTFS

5.1 Posso avviare Windows con il boot loader da una unità NTFS?

Si, sia grub che lilo possono avviare Windows da una unità NTFS. Quello che accade è che il Linux boot loadercerca il boot loader NTFS e gli cede il controllo.

Torna all'inizio

5.2 Come faccio con lilo?

Aggiungi questa riga al file /etc/lilo.conf, ed esegui lilo.

    other = /dev/hda1
        table = /dev/hda
        label = Windows
    

La voce other si riferisce alla partizione contenente Windows e la voce table si riferisce alla tabella delle partizioni del disco.

Torna all'inizio

5.3 Come faccio con grub?

Aggiungi questa riga al file /boot/grub/grub.conf

    title Windows
        root (hd0,0)
        makeactive
        chainloader +1
    

In accordo con la numerazione dei dischi di grub, /dev/hda è hd0, hdb è hd1, ecc. Le partizioni sono numerate da zero. Quindi, hda1 è hd0,0, hdc4 è hd2,3.

Torna all'inizio


6. Distributioni Linux

6.1 Quali distribuzioni hanno un supporto interno per NTFS?

Le Distributioni Linux che, a nostra conoscenza, supportano NTFS sono: Mandrake, Debian, SuSE, Gentoo e Caldera

In sostanza, se il nome non è RedHat allora NTFS viene supportato.

Torna all'inizio

6.2 Come mai RedHat non supporta NTFS?

Vorrei tanto saperlo. Voci dicono che ha problemi legali.

Torna all'inizio

6.3 Perchè Linux RedHat si blocca quando accede ad una unità NTFS?

Controlla quale versione del kernel stai usando con il comando uname -a. Se la versione è 2.4.9 allora è importante ce tu aggiorni il tuo kernel. Vai al sito web di RedHat per maggiori dettagli.

Se tu preferisci, puoi compilare il tuo kernel. Vedi Come faccio ad aggiungere il supporto di NTFS a Linux? per maggiori dettagli.

Torna all'inizio

6.4 Alcune distribuzioni possono essere installate su NTFS?

Non ancora. Phat Linux può essere installata su una partizione FAT assieme a Windows, e avviarsi internamente da Windows. Il Nuovo Driver ha quasi il supporto sufficiente per far fare questo stratagemma usando NTFS.

Torna all'inizio


7. Il nuovo driver NTFS per Linux

7.1 Cos'è il nuovo driver NTFS?

E' una completa riscrittura del driver NTFS. Il driver originale fu scritto in un periodo di molti anni. All'inizio conoscevamo poco di NTFS o Linux e il codice sorgente divenne difficile da mantenere.

Creammo un nuovo driver, con le nostre nuove conoscenze, che è molto più semplice, più veloce e più facile da mantenere.

Torna all'inizio

7.2 Dovrei usarlo?

No. C'è già un driver NTFS nel kernel Linux corrente, così non necessiti del nuovo driver. Il driver originale, sebbene sia vecchio, è sicuro abbastanza per l'utilizzo comune.

Torna all'inizio

7.3 Come faccio ad usare il nuovo Driver?

Abbiamo realizzato il nuovo driver come una patch al codice sorgente ufficiale del kernel Linux.

../downloads.html
http://www.kernel.org/pub/linux/kernel/v2.4/

Torna all'inizio

7.4 Cos'è una patch?

Una patch è un insieme di cambiamenti di un gruppo di files di testo. Finché stiamo solo alterando il codice NTFS, è inefficiente compilare tutto il codice del kernel ogni volta che facciamo una piccola modifica. Produciamo le nostre patches in corrispondenza con le versioni ufficiali del kernel Linux.

Una volta scompattato il sorgente, vai nella directory del codice sorgente e usa il comando (sostituendo il percorso e il nome della patch come necessario):

    patch -p1 < percorso/verso/il/patch
    

Questo modificherà il codice sorgente. Non dovrebbero esserci rigetti o fallimenti. Successivamente compila il kernel come al solito. Ci sono le istruzioni per questa operazione altrove in questa FAQ.

Torna all'inizio

7.5 Cosa faccio se ancora non capisco?

Perdonaci. Proviamo ad aiutare chiunque come possiamo, ma abbiamo poco tempo disponibile. Ci sono alcuni siti che possono aiutarti a capire le basi di Linux. Alternativamente, guarda se c'è un Linux User Group vicino a te.

Torna all'inizio

7.6 Quand'è che il nuovo codice sarà nel kernel Linux?

Ci sono due kernel da considerare. Il nuovo codice è già in sviluppo nel kernel Linux. E' stato introdotto nella versione 2.5.11.

Il kernel Linux stabile, attualmente la versione 2.4.20, ha ancora il vecchio driver. Siamo felici della condizione del codice, ma ancora dobbiamo convincere i Dei del Kernel che il codice è buono.

Finchè non è incorporato, produrremo sempre nuove versioni in forma di patch.

Torna all'inizio

7.7 Possiamo scrivere un'adattamento dei driver di Windows?

Sembrerebbe una grande idea, per cominciare, ma ci sono numerosi problemi.

Il problema tecnico più grande è quello di collegare le DLL di sistema di Windows con il VFS Linux. Può essere fatto, ma non sarebbe carino but it wouldn't be pretty. Dovrebbero essere eseguite come parte del kernel, il che significherebbe che se qualcosa va storto potrebbe bloccarsi il sistema. Senza sorgenti, non siamo in grado di aggirare il problema.

Il maggior problema successivo è la compatibilità. Quale versione del file di sistema di Windows dovremmo usare? Optare per una, limiterebbe il suo uso, fare il wrapper versatile per tutte vorrebbe dire un lavoro di programmazione mostruoso.

Ed è peggio ancora. Le implicazioni legali di distribuire files di sistema di Windows causerebbero dei problemi. Anche la natura proprietaria del driver significherebbe che gli altri codificatori del kernel non risolverebbero alcun problema se qualcuno di essi ha usato il wrapper NTFS.

Torna all'inizio

Questo documento è una traduzione dell'originale "NTFS FAQ" di Richard Russon come da copyright in piè di pagina.
Questo documento è stato scritto da Michele Marchioro michele@webxpert.it ed è ancora in fase sperimentale. Alcuni punti non sono stati ancora tradotti correttamente. Si accettano commenti, suggerimenti, critiche e altro. Per qualunque forma di chiarimento inviare una email a michele@webxpert.it.