Δημοσιεύτηκε: 05 Ιαν 2017, 13:30
από Tassos10
Πρόσφατα, ήθελα να κάνω φορματ κάτι δίσκους μέσω τερματικού. Δεν είχα διεκπεραιώσει όμως ξανά μια τέτοια διαδικασία μέσω τερματικού ( εξαιτίας του GParted ) και έτσι σαν πρώτη φορά, αν και εν τέλει τα κατάφερα, θα ήθελα να σας ανέφερα κάποια πράγματα, να σας ρώταγα για άλλα και γενικά να το συζητάγαμε το θέμα. Το παρών θέμα θα μπορούσε στο τέλος να καταλήξει να γίνει και σαν οδηγός για του υπόλοιπους.

Σκοπός αυτού το θέματος, είναι και για εμένα τον ίδιο, αλλά και για όλους μας, να καταλάβουμε καλύτερα κάποια πράγματα πάνω στο φορμάτ των δίσκων και γενικά την διαχείριση τους μέσω όμως μη γραφικών διεπαφών όπως το GParted, αλλά από το αγαπημένο μας τερματικό.
Για τα πειράματα μου λοιπόν, έτυχε να έχω έναν δίσκο ολοκαίνουριο των 4ΤΒ και αντί να τον κάνω φορμάτ μέσω του GParted πήγα μέσω τερματικού, ώστε να διαπιστώσω τι γίνεται.

Οπότε εξ αρχής, να ξεκαθαρίσουμε και το εξής : Δεν ήθελα να κάνω διαμερίσματα ( partitions ) σε ένα δίσκο, ήθελα έναν καινούριο δίσκο να τον αρχικοποιήσω και να ορίσω ένα file system για αυτόν.

Πρώτα από όλα έπρεπε να βρω πως ονομάζει το σύστημα μου τον δίσκο όπου ήθελα να κάνω φορμάτ, παρατήρησα πως με την εντολή :
Κώδικας: Επιλογή όλων
df -alh
αν δεν έχει γίνει προσάρτηση του δίσκου ( άλλο να τον βλέπεις στον ναυτίλο πως μπορείς να τον ανοίξεις και άλλο να τον ανοίξεις ).
Δεν τον βλέπεις. Δηλαδή έχω δύο δίσκους στον υπολογιστή συνδεδεμένους με sata. Τον καινούριο και τον παλιό όπου έχω μέσα δεδομένα. Αν και τον παλιό μου τον δείχνει στον ναυτίλο, αν δεν τον πατήσω να τον ανοίξω για μια φορά, δεν θα μου τον δείχνει η παραπάνω εντολή. Μονάχα αν έστω μια φορά τον πατήσω και δω τα δεδομένα του.
Οπότε εφόσον δεν μου δείχνει αυτόν ( όπου έχω ορίσει σύστημα αρχείων και έχω μέσα δεδομένα ), που να μου δείξει και τον καινούριο δίσκο. :P

Εδώ έχω και την εξής απορία, ( ώστε να το διαλευκάνω πλήρως ) εξ αρχής αφού ο ναυτίλος εμφανίζει τον δίσκο στην πλαϊνή μπάρα, σε τι κατάσταση είναι όμως ο δίσκος; Δεν έχει γίνει η προσάρτησή του, απλώς τον αναγνωρίζει το σύστημα; Η προσάρτηση γίνεται με το που τον ανοίξω για πρώτη φορά;


Με τις παρακάτω όμως εντολές, βλέπεις όλους σου τους δίσκους προσαρτημένους και μη :
Κώδικας: Επιλογή όλων
sudo fdisk -l

Κώδικας: Επιλογή όλων
sudo fdisk -l | grep '^Disk'

Κώδικας: Επιλογή όλων
sudo lshw -C disk

Κώδικας: Επιλογή όλων
sudo lshw -class disk -short

Κώδικας: Επιλογή όλων
sudo lsblk


Οπότε, εφόσον είδα πλέον πως το σύστημα έχει ορίσει τον δίσκο μου ως /dev/sdb μένει να δω πως θα τον κάνω φορμάτ.
Αρχικά πήγα πρώτα από όλα στο κλασικό εργαλείο fdisk. Το οποίο όμως δε κατέστη το καλύτερο για εμένα, διότι πέρα από το ότι ίσος εγώ φταίω που δεν θα κατάλαβα και πολύ καλά το πως δουλεύει, δεν έκανε φορμάτ όλον τον δίσκο. Το fdisk, αυτό που κατάφερνα μονάχα ήταν να του κάνω ένα partition (διαμέρισμα) - να χώριζε ο σκληρός σε δύο μέρη. Δεν ήθελα αυτό όμως.

Έτσι πήγα στο πιο εύκολο ( κατ εμέ ) εργαλείο, το parted. Χάρης αυτό κατάφερα να κάνω την δουλειά μου, με τα εξής βήματα :

sudo parted /dev/sdb
Κώδικας: Επιλογή όλων
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.


(parted) print
Κώδικας: Επιλογή όλων
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos

Number  Start  End  Size  Type  File system  Flags


(parted) mklabel gpt
Κώδικας: Επιλογή όλων
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes


(parted) print
Κώδικας: Επιλογή όλων
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags


(parted) mkfs
Κώδικας: Επιλογή όλων
WARNING: you are attempting to use parted to operate on (mkfs) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs.  We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Warning: The existing file system will be destroyed and all data on the partition will be lost. Do you want to continue?
Yes/No? y                                                                 
Partition number? 1                                                       
Error: Partition doesn't exist.


(parted) print
Κώδικας: Επιλογή όλων
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags


(parted) check
Κώδικας: Επιλογή όλων
WARNING: you are attempting to use parted to operate on (check) a file system.
parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs.  We recommend
you use parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Partition number? 1                                                       
Error: Partition doesn't exist


(parted) mkpart
Κώδικας: Επιλογή όλων
Partition name?  []? WD_RED_Storage
File system type?  [ext2]? ntfs                                           
Start? 0%                                                                 
End? -1


(parted) print
Κώδικας: Επιλογή όλων
Model: ATA WDC WD40EFRX-68W (scsi)
Disk /dev/sdb: 4001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name            Flags
1      1049kB  4001GB  4001GB               WD_RED_Storage  msftdata



(parted) quit
Κώδικας: Επιλογή όλων
Information: You may need to update /etc/fstab.




Κατά αυτόν τον τρόπο ενώ η αλήθεια είναι πως περίμενα να είχα έτοιμο τον δίσκο με NTFS, δεν ήταν. Έτσι έκανα και το παρακάτω βήμα :

sudo mkfs.ntfs /dev/sdb1
Κώδικας: Επιλογή όλων
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes:   100% - Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.


Η παραπάνω εντολή ολοκληρώθηκε έπειτα από αρκετές ώρες. Γιατί όμως έκανε τόσο πολύ; Μιλάμε για ώρες.

Τέλος ήθελα να δώσω στον δίσκο και ένα ωραίο όνομα - Label, έτσι έτρεξα την παρακάτω εντολή :
Κώδικας: Επιλογή όλων
sudo ntfslabel /dev/sdb1 WD_RED


Οπότε πλέον ο δίσκος φαινόταν όπως και ο παλιός στον ναυτίλο. Έτοιμος για χρήση.
Όμως πάλι δεν ήθελα να τον ανοίξω μέσω της γραφική διεπαφής, αλλά μέσω τερματικού και η εντολή :
Κώδικας: Επιλογή όλων
ls -alh

δεν τον εμφάνιζε. Οπότε έπρεπε να τον προσαρτήσω στο σύστημα.

Προσάρτηση με αυτόματο τρόπο.

gvfs-mount -d /dev/sdb1
Κώδικας: Επιλογή όλων
Mounted /dev/sdb1 at /media/WD_RED


και μου τον προσάρτησε αυτόματα και πλέον τον έβλεπα από παντού. :)

Προσάρτηση με χειροκίνητο τρόπο.
Πρώτα από όλα θα πρέπει να δημιουργήσουμε έναν φάκελο όπου σε αυτόν θα γίνει η προσάρτηση του δίσκου και μέσω αυτού θα μπορούμε να βλέπουμε τον δίσκο και τα περιεχόμενα του.
Κώδικας: Επιλογή όλων
sudo mkdir /media/myMountFolder


τέλος για να προσαρτήσουμε τον δίσκο, γράφουμε :
Κώδικας: Επιλογή όλων
sudo mount -o defaults /dev/sdb1 /media/myMountFolder


Πλέον μέσω του καταλόγου /media/myMountFolder , έχουμε πρόσβαση στα περιεχόμενα του δίσκου ( /dev/sdb1 ) .
Για να αποπροσαρτήσουμε τον δίσκο αρκεί να γράψουμε :
Κώδικας: Επιλογή όλων
sudo umount /media/myMountFolder/

και επειδή δεν χρειάζεται και ο κατάλογος "myMountFolder", τον διαγράφουμε και αυτόν με την εντολή :
Κώδικας: Επιλογή όλων
sudo rm -r /media/myMountFolder


Αυτά ακριβώς τα βήματα κάνει αυτόματα το σύστημα με την γραφική διασύνδεση ή κάνει και κάτι περαιτέρω;
Αυτή ήταν η διαδικασία που έκανα εγώ. Ήταν σωστή, λάθος, θα πρέπει να διορθώσω κάτι; Παρακαλώ πολύ πείτε μου την άποψη σας.


Τέλος επειδή το GParted είναι κατά την γνώμη μου, καταπληκτικό ανοιχτού κώδικα εργαλείο, ήθελα να δω τι κάνει εκείνο όταν του λέμε να κάνει φορματ σε ένα στικάκι π.χ. Και γιατί εκείνο δεν αργεί;
Είναι τόσο φοβερό και στην νοοτροπία του ανοιχτού και ελεύθερου λογισμικού, που το GParted σου λέει ακριβώς τι κάνει, ποιες εντολές εκτελεί.
Έτσι διαπίστωσα πως για να κάνει το φορμάτ σε NTFS εκτέλεσε την παρακάτω εντολή :

Κώδικας: Επιλογή όλων
mkntfs -Q -v -L "" /dev/sdc


και για να δώσει όνομα στο στικάκι :
Κώδικας: Επιλογή όλων
ntfslabel --force /dev/sdc1 "Onoma"



Περιμένω τις απόψεις & τις παρατηρήσεις σας! :)