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
-
Domande più frequenti
- Altri
punti interessanti
- Nota
utile
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? |
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? |
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.
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).
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).
Puoi installare Windows NT su un filesystem FAT16 e Windows 2000 o XP su un filesystem FAT32. In seguito puoi aggiornarti ad NTFS.
No. Sembrano simili, ma le versioni più recenti hanno caratteristiche extra. Per esempio, Windows 2000 ha le quote.
NTFS | Versione di Windows |
---|---|
v1.2 | NT 3.51, NT 4 |
v3.0 | 2000 |
v3.1 | XP |
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.
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.
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).
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.
Il comando non è facilmente reversibile. Vedi la successiva FAQ.
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.
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.
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
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
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.
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:
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.
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.
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.
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.
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.
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:
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.
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.
Certo. Il Driver può leggere qualunque versione di NTFS, ma in sola lettura.
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.
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
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.*.
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
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
Il comando
è chiamato umount
(solo una 'n').
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
-r.
mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222
mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=flatcap mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=500
mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=winusers mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=520
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
.
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
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
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
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
.
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
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
.
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
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
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
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
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
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
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.
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
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.
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
.
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.
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.
Vorrei tanto saperlo. Voci dicono che ha problemi legali.
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.
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.
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.
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.
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/
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.
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.
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.
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.
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.
Copyright © flatcap (Richard Russon) |