Πως κάνουμε mount NTFS σκληρούς δίσκους στο Linux;

Το NTFS είναι το σύστημα αρχείων στα Windows. Εμείς είμαστε χρήστες linux, αλλά μπορεί να έχουμε έναν δίσκο από μια παλιά εγκατάσταση Windows και να θέλουμε να το κάνουμε mount στο Linux για να πάρουμε αρχεία. Η' μπορεί να μας έχουν δώσει ένα καινούριο δίσκο με NTFS σύστημα αρχείων και να θέλουμε να το βάλουμε στο PC μας που τρέχει Linux. Εδώ εξηγούμε πως γίνεται η προσάρτηση ενός τέτοιου δίσκου στο Linux.

 Για να προσαρτήσετε NTFS συστήματα αρχείων, υπάρχουν δύο μέθοδοι: Η read-only και η read-write. Στην πρώτη περίπτωση θα μπορείτε μόνο να διαβάσετε τα αρχεία ενώ στη δεύτερη περίπτωση θα μπορείτε κιόλας να γράφετε στο δίσκο αυτό χωρίς πρόβλημα.

Θεωρούμε ότι έχετε συνδέσει το δίσκο στο PC σας σωστά (καλώδια/ρεύμα) και ότι ο δίσκος περιέχει μέσα μια τουλάχιστον κατάτμηση NTFS.

Κατ'αρχάς, πρέπει να επιβεβαιώσετε ότι ο δίσκος έχει αναγνωριστεί από το linux, ότι δουλεύει και να βρειτε το όνομα και το UUID της κάθε κατάτμησης (μια μοναδική συμβολοσειρά που αντιστοιχεί σε κάθε partition του δίσκου σας).

Για να δείτε αν το Linux έχει "δει" το δίσκο, ανοίξτε ένα Τερματικό (Ctrl+Alt+T στο Ubuntu/Gnome) και δώστε την εντολή:

lsblk -o NAME,UUID,FSTYPE

Θα εμφανιστούν όλοι οι δίσκοι στο PC σας με το όνομα τους, αλλά και το UUID και τον τύπο του συστήματος αρχείων κάθε κατάτμησής τους.

NAME                  UUID                                   FSTYPE
sdb                                                          
└─sdb1                80F05B48F05B5B96                       ntfs
sdc                                                          
└─sdc1                e0b3b140-1590-48a9-bccb-1f1a9fd496a7   ext4
sda                                                          
├─sda2                7c22049e-d4c4-4434-9b59-e8686f58b9bc   ext2
├─sda3                gCfJQB-mZ79-A1Uv-qtjP-ojap-7jVc-HlzoL0 LVM2_member
│ ├─ubuntu--vg-swap_1 898b58e6-7f17-463e-8e52-4b336b7989e3   swap
│ └─ubuntu--vg-root   5deae769-8eb9-40a8-8379-9f310e6a62c6   ext4
└─sda1                1189-3604                              vfat

Αν έχετε πολλούς δίσκους, ή για να μην μπερδεύεστε, μπορείτε να του ζητήσετε να σας δείξει μόνο τις NTFS κατατμήσεις (αν υπάρχουν) με την εντολή:

lsblk -o NAME,UUID,FSTYPE | grep ntfs

Σε κάθε περίπτωση, αν ο Windows σκληρός δίσκος σας δουλεύει και έχει μέσα κάποια κατάτμηση NTFS, θα πρέπει να δείτε κάτι σαν κι αυτό:

└─sdb1                80F05B48F05B5B96                       ntfs

Αυτό σημαίνει ότι το Linux μου έχει "δει" σωστά το Windows δίσκο (του έχει δώσει το όνομα /dev/sdb) ο οποίος έχει μέσα μια NTFS κατάτμηση /dev/sdb1 με UUID 80F05B48F05B5B96.

Τώρα, σε γενικές γραμμές, για να προσαρτήσουμε μια NTFS κατάτμηση πρέπει να κάνουμε 2 βήματα:

α) να δημιουργήσουμε το φάκελο όπου θα γίνει το mount και

β) να προσθέσουμε μια γραμμή στο αρχείο ρυθμίσεων /etc/fstab

Ας πούμε ότι θέλετε να προσαρτήσετε την NTFS κατάτμηση στο φάκελο /mnt/teras. Γιατί στο /mnt ; Γιατί σε αυτόν τον φάκελο συνηθίζεται να κάνουμε mount τις συσκευές αποθήκευσης (διαβάστε περισσότερα για το σύστημα αρχείων του Linux).

Οπότε το πρώτο βήμα να είναι φτιάξουμε το φάκελο:

sudo mkdir /mnt/teras

Και επειδή θέλουμε να είμαστε ασφαλείς, ορίζουμε ότι αυτός ο φάκελος ανήκει μόνο σε εμάς:

sudo chown $USER /mnt/teras/

Προσάρτηση Read-Only

Εχοντας δημιουργήσει τον απαιτούμενο φάκελο προσάρτησης, για να κάνουμε mount το NTFS partition μας, μόνο για ανάγνωση, πρέπει να δούμε αν ο πυρήνας μας υποστηρίζει/διαθέτει τον read-only driver

Οπότε πάλι από το Τερματικό δίνουμε την εντολή:

ls /lib/modules/`uname -r`/kernel/fs | grep ntfs

Αν υπάρχει το module, θα πρέπει να μας απαντήσει: ntfs

Παράδειγμα:

$ ls /lib/modules/`uname -r`/kernel/fs | grep ntfs
ntfs

Οπότε τώρα θα ανοίξουμε το αρχείο ρυθμίσεων /etc/fstab για να προσθέσουμε μια γραμμή που θα λέει στο Linux να κάνει mount τη συγκεκριμένη κατάτμηση NTFS κάθε φορά που κάνουμε boot το PC μας.

Αν έχετε Ubuntu 18.04, πατήστε Alt+F2 και γράψτε την εντολή:

gedit admin:///etc/fstab

Αν έχετε άλλη διανομή, στο Τερματικό δώστε την εντολή:

sudo nano /etc/fstab

Εκεί μέσα, πηγαίνετε στο τέλος του αρχείου και γράψτε το εξής:

UUID=80F05B48F05B4396                     /mnt/teras ntfs defaults 0 1

Προσοχή: πρέπει να αντικαταστήσετε το UUID με το σωστό (αυτό που έδωσε η εντολή lsblκ στον υπολογιστή σας) και με το σωστό όνομα φακέλου (αυτόν που φτιάξατε εσείς με την εντολή sudo mkdir ...)

Αποθηκεύστε το αρχείο (Ctrl+X και Y στο nano ή Ctrl+S στο Gedit) και κλείστε το.

Μετά μπορείτε να προσαρτήσετε το NTFS partition με την εντολή (αντικαταστήστε το /mnt/teras με το δικό σας φάκελο!!!):

sudo mount /mnt/teras  

Αν όλα πάνε καλά, δεν θα δείτε μήνυμα σφάλματος και θα μπορείτε να δείτε τα περιεχόμενα του δίσκου με την εντολή:

ls -ls /mnt/teras

Στην περίπτωσή μας:

$ ls /mnt/teras/ -ls
total 278
 8 drwxrwxrwx 1 root root  8192 Δεκ  12  2010 Age of Empires II
 0 drwxrwxrwx 1 root root     0 Δεκ  16  2009 autorun
 1 -rwxrwxrwx 1 root root    36 Οκτ  16  2002 autorun.inf
 0 drwxrwxrwx 1 root root     0 Νοέ  16  2016 Books
16 drwxrwxrwx 1 root root 16384 Ιούλ 31 09:03 Documents
40 drwxrwxrwx 1 root root 40960 Μάρ   9 19:36 Downloads
 0 drwxrwxrwx 1 root root     0 Νοέ  16  2016 Fonts
 8 drwxrwxrwx 1 root root  8192 Ιούλ 31 09:25 ISOs
12 drwxrwxrwx 1 root root 12288 Μάρ  15  2017 Music
 1 -rwxrwxrwx 2 root root   270 Δεκ   4  2009 My Book 3.0 Online Documentation.url
92 drwxrwxrwx 1 root root 94208 Αύγ   1 15:30 Pictures
 0 drwxrwxrwx 1 root root     0 Δεκ  17  2011 $RECYCLE.BIN
 0 drwxrwxrwx 1 root root     0 Δεκ  13  2017 SteamLibrary
 4 drwxrwxrwx 1 root root  4096 Ιαν  22  2015 TTC - Secrets of Mental Math
 0 drwxrwxrwx 1 root root     0 Δεκ  16  2009 User Manuals
 4 drwxrwxrwx 1 root root  4096 Ιούλ 31 09:08 VirtualMachines
 4 drwxrwxrwx 1 root root  4096 Νοέ  16  2016 Μουσικη

 

Προσάρτηση Read-Write

Καλά όλα αυτά, αλλά μήπως θέλετε να μπορείτε να γράφετε κιόλας στον NTFS δίσκο; Ε, τότε χρειάζεστε ένα άλλο module που λέγεται ntfs-3g. Και αυτό γιατί λόγω πατεντών/copyrights κλπ, o πυρήνας Linux δεν ενσωματώνει τη λειτουργία εγγραφής.

Στο Ubuntu, το Mint και γενικά σε Debian-based διανομές, γράψτε την εντολή:

sudo apt install ntfs-3g

Στις υπόλοιπες διανομές ψάξτε το πακέτο ntfs-3g με τον διαχειριστή πακέτων σας. Π.χ. σε Fedora:

sudo dnf install ntfs-3g

Σε CentOS

sudo yum install ntfs-3g

OK, έχοντας εγκαταστήσει το πακέτο ntfs-3g, το μόνο που χρειάζεται είναι να αλλάξουμε λίγο τη ρύθμιση που κάναμε στο αρχείο /etc/fstab.

Ανοίξτε πάλι το /etc/fstab

sudo nano /etc/fstab

Πηγαίνετε στη γραμμή που προσθέσατε προηγουμένως και αλλάξτε το ntfs σε ntfs-3g.
Στο παράδειγμά μας, η γραμμή στο /etc/fstab μου είναι πλέον:

UUID=80F05B48F05B4396                     /mnt/teras ntfs-3g defaults 0 1

Μετά από αυτές τις ρυθμίσεις, είμαστε έτοιμοι. Για να κάνετε μια δοκιμή, αν έχετε ήδη προσαρτήσει το δίσκο με τη Read-Only μέθοδο, κάντε απο-προσάρτηση:

sudo umount /mnt/teras

Και στη συνέχεια κάντε ξανά mount - αυτή τη φορά ο δίσκος θα προσαρτηθεί μέσω του ntfs-3g module:

sudo mount /mnt/teras

Και για να τεστάρετε ότι μπορείτε να γράψετε εκεί, δώστε την εντολή:

touch /mnt/teras/mytest.txt

Τώρα αν κάνετε ls /mnt/teras θα πρέπει να δείτε ότι δημιουργήθηκε το αρχείο mytest.txt.

Αυτό πιστοποιεί ότι πλέον μπορείτε να κάνετε mount με δικαιώματα ανάγνωσης και εγγραφής στο NTFS δίσκο.

Και επειδή έχουμε κάνει όλα τα απαραίτητα στο /etc/fstab, αν κάνετε reboot θα διαπιστώσετε ότι το Linux σας θα κάνει αυτόματα την προσάρτηση σε κάθε εκκίνηση του υπολογιστή χωρίς να χρειάζεται να ξαναδώσετε την εντολή mount...

Δικαιώματα αρχείων στο NTFS

Η ρύθμιση που κάναμε παραπάνω στο /etc/fstab, δίνει πλήρη δικαιώματα ανάγνωσης/εγγραφής στα αρχεία του δίσκου σε όλον τον κόσμο (ισοδυναμεί όπως λέμε στο Linux με "777"). Μια πιο ασφαλής λύση, ειδικά αν χρησιμοποιείτε συχνά τον ntfs δίσκο στο Linux είναι να δώσετε στα αρχεία και στους φακέλους τις σωστές άδειες και να ορίσετε και σε ποιον χρήστη ανήκουν τα αρχεία. Δηλαδή 755 για φακέλους και 644 για αρχεία, που σημαίνει ανάγνωση/εγγραφή μόνο για τον ιδιοκτήτη και μόνο  ανάγνωση για όλους τους άλλους . Για να το πετύχετε αυτό, πρέπει να προσθέσετε μετά το defaults το εξής: ,uid=1000,dmask=022,fmask=133

ώστε να γίνει

UUID=80F05B48F05B4396                     /mnt/teras ntfs-3g defaults,uid=1000,dmask=022,fmask=133  0 1

Εναλλακτικά, μπορείτε να βάλετε umask=0022 αντί για dmask και fmask.

Προσοχή: στο uid πρέπει να βάλετε τον αριθμό που βλέπετε με την εντολή id:

$ id

uid=1000(dimitris) gid=1000(dimitris) groups=1000(dimitris),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)

 

Δώσε αστέρια!

MO: 4.5 (ψήφοι: 11)

Comments