Lettura e scrittura partizioni NTFS
Da Linux@P2P Forum Italia.
GNU/linux legge senza problemi partizioni ntfs, la scrittura ultimamente ha raggiunto un certo grado di stabilità, ma comunque si corre il rischio di corrempere i proprio dati. Vediamo come abilitare la lettura e/o scrittura di una partizione NTFS
Indice |
Lettura partizione NTFS
Impostare il nostro sistema, affinche legga una partizione ntfs è una procedura abbastanza banale e tutte le maggiori distro in fase di installazione dovrebbe rilevare configurare il tutto automaticamente. Se ciò non dovesse accadere vediamo come procedere manualmente.
Localizzare la partizione NTFS
Per prima cosa dobbiamo identificare (se già non lo sappiamo) la partizione NTFS, quindi apriamo un terimnale/shell/konsole e diamo:
su
(inseriamo la password di root che non apparirà a schermo!)
Attenzione: Se usate ubuntu/kubuntu/xubuntu dovete saltare il precedente passaggio in quanto basta anteporre a tutti i comandi che seguiranno "sudo". Facciamo quindi la copia:
fdisk -l
o se abbiamo ubuntu/kubuntu/xubuntu
sudo fdisk -l
L'output sarà simle al seguente, localizziamo quindi la partizione NTFS:
Disk /dev/hda: 10.2 GB, 10242892800 bytes 255 heads, 63 sectors/track, 1245 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 803 6450066 7 HPFS/NTFS /dev/hda2 804 1222 3365617+ 83 Linux /dev/hda3 1223 1245 184747+ 5 Extended /dev/hda5 1223 1245 184716 82 Linux swap / Solaris
Nel nostro esempio è /dev/hda1 (d'ora in poi useremo questa come partizione, ma voi dovrete sostituire ovviamente la vostra), ma potrebbe variare da sistema a sistema.
Impostare il montaggio della partizione NTFS in sola lettura
Procediamo creando una cartella che sarà il punto di mount (nota:mettete qualsiasi altro nome al posto di windows, non ha importanza):
mkdir /media/windows
o se abbiamo ubuntu/kubuntu/xubuntu
sudo mkdir /media/windows
Quindi montiamo la partizione:
mount /dev/hda1 /media/windows -t ntfs -o umask=000,utf8
o se abbiamo ubuntu/kubuntu/xubuntu
sudo mount /dev/hda1 /media/windows -t ntfs -o umask=000,utf8
Sostanzialmente abbiamo indicato con il comando mount -t il tipo di filesystem in questo caso ntfs, con -o come “otranto” (non uno zero) in minuscolo i parametri da aggiungere in questo caso umask=000, che significa assegnare alle directory e ai file della partizione di windows montata in /media/windows la lettura ed esecuzione. Per altre opzioni del comando mount vi rimando al man della vostra distribuzione, sintassi: man mount
Purtroppo operando come abbiamo fatto, non risulterà montata ad ogni avvia, quindi procediamo automatizzando il tutto. Ad andiamo quindi a modificare /etc/fstab, dove risiedono i dispositivi che vengono montati in automatico all'avvio dell'OS:
Smontiamo la partizione appena montata:
umount /media/windows
o se abbiamo ubuntu/kubuntu/xubuntu
sudo umount /media/windows
Faciamo una copia di sicurezza:
cp /etc/fstab /etc/fstab.bak
o se abbiamo ubuntu/kubuntu/xubuntu
sudo cp /etc/fstab /etc/fstab.bak
Bene ora possiamo fare le modifiche che ci servono, se si usa gnome:
gedit /etc/fstab
Se si ha ubuntu/kubuntu/xubuntu
sudo gedit /etc/fstab
Se si usa kde:
kate /etc/fstab
Se si ha ubuntu/kubuntu/xubuntu:
sudo /etc/fstab
Se invece si vuole usare un editor testuale (consigliato) si puo usare nano (per informazioni sull'utilizzo vedere Editare i files di testo con nano) o vi:
nano /etc/fstab
Se si ha ubuntu/kubuntu/xubuntu:
sudo nano /etc/fstab
Inseriamo la stringha:
/dev/hda1 /media/windows ntfs umask=000,defaults,nls=utf8 0 0
oppure:
/dev/hda1 /media/windows ntfs umask=022,defaults,nls=utf8 0 0
Il risultato non cambia, potete tranquillamente leggere ed eseguire i file al suo interno dal vostro utente, quindi il vosto dovrebbe più o meno risultare di questo tipo (ovviamente cambierà da sistema a sistema)
# /etc/fstab: static file system information. # # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # Entry for /dev/hda2 : UUID=9a3c835e-2ba2-41b8-89c0-2a0a1257ac97 / ext3 defaults,errors=remount-ro 0 1 # Entry for /dev/hda5 : UUID=20586bf5-4c3e-44bb-a74c-f9429c1822b2 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 /dev/hda1 /media/windows ntfs umask=000,defaults,nls=utf8 0 0
Salviamo il file appena editato (con nano CTRL+O oppure CTRL+X ci chiedera' di sovrascrivere, premiamo S o Y a seconda della lingua impostata nel sistema). Rimontiamo la partizione:
mount -a /media/windows
Se si ha ubuntu/kubuntu/xubuntu:
sudo mount -a /media/windows
Piccola disgressione suI flag GID e UID
GID(groupid) /etc/group UID(userid) /etc/passwd
Tutti i file della partizione ntfs di default appartengono all'utente e al gruppo ROOT, come potete notare dall'output del comando ls -l /media/windows. Possiamo modificare l'utente e il gruppo proprietario, cambiando i flag GID e UID. Esempio:
cat /etc/passwd
Che produrra un output simile a questo
root:x:0:0:root:/root:/bin/bash .....ecc ecc scorrete vostroutente:x:1000:1000:vostroutente,,,:/home/vostroutente:/bin/bash
Volendo quindi possiamo, aggiungere alle opzioni
umask=000,utf8,uid=vostroutente
Potete mettere anche il valore numerico esempio uid=1000,la stessa cosa con gid.
Scrittura partizioni NTFS
Il progetto più stabile al momento per scrivere su partizioni NTFS è NTFS-3G, ovviamente prima di procedere vi raccomando di fare sempre e comunque un backup dei vostri dati
Installare e settare NTFS-3G in Ubuntu/Kubuntu/Xubuntu
Apriamo un terminale/konsole e editiamo il file /etc/apt/sources.list
sudo nano /etc/apt/sources.list
Inseriamo questi repositories:
Se abbiamo Ubuntu/Kubuntu/Xubuntu dapper 6.06
deb http://flomertens.keo.in/ubuntu/ dapper main main-all deb http://givre.cabspace.com/ubuntu/ dapper main main-all deb http://ntfs-3g.sitesweetsite.info/ubuntu/ dapper main main-all
Se abbiamo Ubuntu/Kubuntu/Xubuntu edgy 6.10
deb http://flomertens.free.fr/ubuntu/ edgy main main-all deb http://ntfs-3g.sitesweetsite.info/ubuntu/ edgy main main-all deb http://flomertens.keo.in/ubuntu/ edgy main main-all
Importiamo la chiave gpg:
wget http://flomertens.keo.in/ubuntu/givre_key.asc -O- | sudo apt-key add -
Diamo in serie:
sudo apt-get update sudo apt-get upgrade sudo apt-get install ntfs-config
(verra' installato fuse-utils,ntfs-3g,libntfs-3g0,libfuse2)
sudo apt-get install fuse-source ntfsprogs
Facciamo come al solito una copia di sicurezza dell'fstab:
sudo cp /etc/fstab /etc/fstab.bak
Editiamo come visto sopra l'fstab
sudo nano /etc/fstab
(oppure al posto di nano, gedit se usate gnome, kate se usate kde) Inseriamo questa stringha (ovviamente al posto di hda1 dovete sosttituire la vostra partizione ntfs):
/dev/hda1 /media/windows ntfs-3g defaults,nls=utf8 0 0
Quindi /etc/fstab dovbrebbe risultare così (cambierà da sistema a sistema)
# /etc/fstab: static file system information. # # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # Entry for /dev/hda2 : UUID=9a3c835e-2ba2-41b8-89c0-2a0a1257ac97 / ext3 defaults,errors=remount-ro 0 1 # Entry for /dev/hda5 : UUID=20586bf5-4c3e-44bb-a74c-f9429c1822b2 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 /dev/hda1 /media/windows ntfs-3g defaults,nls=utf8 0 0
poi carichiamo il modulo fuse:
sudo modprobe fuse
e per montare la partizione
sudo mount -a /media/windows
o piu' semplicemente si riavvia
Abilitazione della scrittura su NTFS con ntfs-config
Hanno inserito nei repositories un utilita' grafica di configurazione automatica che si chiama ntfs-config, che automaticamente configura il dispositivo di archiviazione di massa HD ide o sata, ed esterni usb:
sudo ntfs-config
Devo essere sincero nel mio caso, per il dispositivo esterno (sara' che ho provato su una memory card formattata in ntfs) non ha funzionato e neanche il metodo di givre' cioe' quello di montare la partizione esterne manualmente con pmount-hal /dev/sdc1 (sdc1 nel mio caso),con o senza privilegi con sudo, ma sono riuscito editando con il metodo classico il file /etc/fstab. P.S. per l'HD ide non ho avuto problemi.
esempio:
il dispositivo usb e' rilevabile o con :
sudo fdisk -l
Device Boot Start End Blocks Id System /dev/hda1 * 1 803 6450066 7 HPFS/NTFS /dev/hda2 804 1222 3365617+ 83 Linux /dev/hda3 1223 1245 184747+ 5 Extended /dev/hda5 1223 1245 184716 82 Linux swap / Solaris
Disk /dev/sdc: 127 MB, 127139840 bytes
8 heads, 32 sectors/track, 970 cylinders
Units = cilindri of 256 * 512 = 131072 bytes
Dispositivo Boot Start End Blocks Id System
/dev/sdc1 * 1 970 124143+ 7 HPFS/NTFS
La partizione 1 ha diversi elementi iniziali fisici/logici (non Linux?):
phys=(0, 1, 1) logico=(0, 1, 2)
La partizione 1 ha diversi elementi finali fisici/logici:
phys=(968, 7, 32) logico=(969, 7, 32)
o con:
dmesg | grep sd
[17202397.448000] sd 0:0:0:0: Attached scsi removable disk sda [17202397.476000] sd 0:0:0:1: Attached scsi removable disk sdb [17202397.524000] SCSI device sdc: 248320 512-byte hdwr sectors (127 MB) [17202397.524000] sdc: Write Protect is off [17202397.524000] sdc: Mode Sense: 43 00 00 08 [17202397.524000] sdc: assuming drive cache: write through [17202397.548000] SCSI device sdc: 248320 512-byte hdwr sectors (127 MB) [17202397.552000] sdc: Write Protect is off [17202397.552000] sdc: Mode Sense: 43 00 00 08 [17202397.552000] sdc: assuming drive cache: write through [17202397.552000] sdc: sdc1 [17202397.552000] sd 0:0:0:2: Attached scsi removable disk sdc [17202397.584000] sd 0:0:0:3: Attached scsi removable disk sdd [17202397.604000] sd 0:0:0:0: Attached scsi generic sg0 type 0 [17202397.608000] sd 0:0:0:1: Attached scsi generic sg1 type 0 [17202397.608000] sd 0:0:0:2: Attached scsi generic sg2 type 0 [17202397.608000] sd 0:0:0:3: Attached scsi generic sg3 type 0 [17202696.484000] SCSI device sdc: 248320 512-byte hdwr sectors (127 MB) [17202696.484000] sdc: Write Protect is off [17202696.484000] sdc: Mode Sense: 43 00 00 08 [17202696.484000] sdc: assuming drive cache: write through [17202696.484000] SCSI device sdc: 248320 512-byte hdwr sectors (127 MB) [17202696.488000] sdc: Write Protect is off [17202696.488000] sdc: Mode Sense: 43 00 00 08 [17202696.488000] sdc: assuming drive cache: write through [17202696.488000] sdc: sdc1
Smontiamo il dispositivo usb che si e' automaticamente aggiunto con l'automount in /media/ con il nome, nel mio caso usbdisk:
sudo umount /dev/sdc1
Creiamo un nuovo punto di mount
sudo mkdir /media/usb
come prima cosa un backup dell'fstab
sudo cp /etc/fstab /etc/fstab.bak
editiamo:
sudo nano /etc/fstab
# /etc/fstab: static file system information. # # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # Entry for /dev/hda2 : UUID=9a3c835e-2ba2-41b8-89c0-2a0a1257ac97 / ext3 defaults,errors=remount-ro 0 1 # Entry for /dev/hda5 : UUID=20586bf5-4c3e-44bb-a74c-f9429c1822b2 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 /dev/hda1 /media/windows ntfs-3g defaults,nls=utf8 0 0 /dev/sdc1 /media/usb ntfs-3g defaults,nls=utf8 0 0
rimontiamo il dispositivo usb:
sudo mount -a /media/usb
Installare e settare NTFS-3G in Fedora core
Apriamo una console/terminale:
su
(inseriamo la password di root)
Installiamo NTFS-3G
yum -y install ntfs-3g
Creiamo un cartella per il mount point
mkdir /media/windows
Facciamo come al solito una copia di sicurezza dell'fstab:
cp /etc/fstab /etc/fstab.bak
Editiamo come visto sopra l'fstab
nano /etc/fstab
(oppure al posto di nano, gedit se usate gnome, kate se usate kde) Inseriamo questa stringha (ovviamente al posto di hda1 dovete sosttituire la vostra partizione ntfs):
/dev/hda1 /media/windows ntfs-3g defaults,nls=utf8 0 0
Quindi /etc/fstab dovbrebbe risultare così (cambierà da sistema a sistema)
# /etc/fstab: static file system information. # # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # Entry for /dev/hda2 : UUID=9a3c835e-2ba2-41b8-89c0-2a0a1257ac97 / ext3 defaults,errors=remount-ro 0 1 # Entry for /dev/hda5 : UUID=20586bf5-4c3e-44bb-a74c-f9429c1822b2 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 /dev/hda1 /media/windows ntfs-3g defaults,nls=utf8 0 0
poi carichiamo il modulo fuse:
modprobe fuse
e per montare la partizione
mount -a /media/windows
o piu' semplicemente si riavvia
Purtroppo puo capitare che questa procedura non funzioni, in questa caso procediamo nel seguente modo:
Scarichiamo da questo sito la versione più aggiornata di fuse, installiamo (se già non lo abbiamo fatto in precedenza) il compilatore GCC:
yum -y install gcc
Ci spostiamo nella cartella dove abbiamo salvato FUSE (nel mio caso il Desktop):
cd Desktop
Scompattiamo il pacchetto:
tar xvfz nomepacchetto.tar.gz
E procediamo nella compilazione
./configure --enable-kernel-module
make
make install
Ora tutto dovrebbe funzionare a dovere.
Installare e settare NTFS-3G in Gentoo
Per gentoo gnu/linux è possibile quest'ottimo how-to
Installare e settare NTFS-3G in Opensuse
Fare riferimento a questa pagina del wiki di Opensuse per poter scrivere su partizioni NTFS in questa distro


