Το προφίλ μας στο Google Plus
4

Πώς γράφουμε αρχεία ISO σε USB sticks, από οποιοδήποτε λειτουργικό

Οι νεοφερμένοι στον κόσμο του Linux συχνά ακούτε και διαβάζετε ότι πρέπει να κατεβάσετε το τάδε ISO image και μετά να το γράψετε σε CD, DVD ή USB stick. Για τέτοιες δουλειές παλιότερα χρησιμοποιούσαμε δισκάκια CD/DVD, σήμερα όμως είναι προτιμότερο να καταφεύγουμε σε USB sticks. Σε κάθε περίπτωση, η εγγραφή αρχείου ISO δεν σημαίνει ότι απλά το αντιγράφουμε στο νέο μέσο.

Τα αρχεία ISO μπορούμε να τα φανταζόμαστε ως ακριβή αντίγραφα αποθηκευτικών μέσων, τα οποία τις περισσότερες φορές είναι bootable. Ας υποθέσουμε για παράδειγμα ότι θέλουμε να εγκαταστήσουμε στον υπολογιστή μας το openSUSE Leap 42.2. Πρώτη μας δουλειά είναι να κατεβάσουμε το ISO image που “μέσα” του έχει τον installer του Leap, εκατοντάδες (ή μάλλον χιλιάδες) πακέτα εργαλείων κι εφαρμογών, καθώς κι ένα σωρό άλλα συνοδευτικά αρχεία. Το εν λόγω ISO image είναι bootable. Αυτό σημαίνει ότι αν το γράψουμε με τον κατάλληλο τρόπο σε δισκάκι DVD (δεν χωράει σε CD) ή σε USB stick (επαρκούς χωρητικότητας) και φροντίσουμε ώστε ο υπολογιστής μας να ξεκινήσει από το δισκάκι ή το στικάκι, τότε θα φορτώσει ο boot loader του ISO και θα έχουμε την ευκαιρία να ξεκινήσουμε τον installer του openSUSE, επομένως και να εγκαταστήσουμε το συγκεκριμένο λειτουργικό.

Το μυστικό εδώ είναι ότι τα ISO images δεν τα μεταφέρουμε σε CD/DVD/USB sticks, όπως θα μεταφέραμε ένα οποιοδήποτε άλλο αρχείο. Αντίθετα, για την εγγραφή του ISO image χρειαζόμαστε το κατάλληλο εργαλείο. Στη συνέχεια δείχνουμε πώς δουλεύουμε όταν είμαστε σε Linux, σε macOS ή σε Windows, προκειμένου να γράψουμε το ISO image του openSUSE Leap 42.2 σε USB stick.

Σημείωση

Αναφερόμαστε στο “μεγάλο” ISO image, χωρητικότητας 4,7GB, το οποίο περιλαμβάνει όλα τα απαιτούμενα πακέτα ώστε η εγκατάσταση να πραγματοποιείται χωρίς κατέβασμα πρόσθετων στοιχείων από το Internet. Προφανώς, παρόμοια εργαζόμαστε αν αντί για το ISO του openSUSE έχουμε ένα μιας οποιασδήποτε άλλης διανομής Linux, μιας εκδοχής του BSD κ.ο.κ.

Προσοχή!

Ασχέτως του λειτουργικού συστήματος από το οποίο εργαζόμαστε κι ασχέτως της μεθόδου που ακολουθούμε, η εγγραφή ISO image σε ένα οποιοδήποτε μέσο σημαίνει ότι τα δεδομένα που ενδεχομένως περιέχει το μέσο χάνονται αμετάκλητα. Αν λοιπόν στο USB stick σας βρίσκονται αρχεία που τα χρειαζόσαστε, φροντίστε τώρα για ένα καλό backup. Μετά το backup, ελέγξτε ξανά. Σοβαρά μιλάμε.

Εργασία από Linux
Πρώτη μας δουλειά είναι να βρούμε το device file που αντιστοιχεί στο USB stick. Αμέσως μετά γράφουμε το αρχείο ISO επί του USB καταφεύγοντας στο εργαλείο dd. Ένας τρόπος για να βρούμε το device file του USB είναι να συνδέσουμε το stick στον υπολογιστή, σε ένα τερματικό να τρέξουμε το dmesg, και στην έξοδό του να παρατηρήσουμε το ζητούμενο device file. Εναλλακτικά, σε διανομές Linux με το Systemd μπορούμε να βρούμε το ζητούμενο device file στην έξοδο του journalctl.

Συνδέουμε το USB stick στον υπολογιστή μας και σε ένα τερματικό τρέχουμε το dmesg (δεν χρειάζονται δικαιώματα διαχειριστή). Στην έξοδο του εργαλείου υπάρχει και το device file του stick. Στο παράδειγμά μας είναι το sdb, επομένως το πλήρες path είναι το /dev/sdb.

Συνδέουμε το USB stick στον υπολογιστή μας και σε ένα τερματικό τρέχουμε το dmesg (δεν χρειάζονται δικαιώματα διαχειριστή). Στην έξοδο του εργαλείου υπάρχει και το device file του stick. Στο παράδειγμά μας είναι το sdb, επομένως το πλήρες path είναι το /dev/sdb.

Σε διανομές Linux που βασίζονται στο Systemd, σε ένα τερματικό μπορούμε να πληκτρολογήσουμε journalctl -l -f (με δικαιώματα διαχειριστή) κι αμέσως θ' αρχίσουμε να βλέπουμε ζωντανά τα logs του συστήματος. Συνδέοντας στον υπολογιστή το USB stick, στο τερματικό θα εμφανιστεί το device file του.

Σε διανομές Linux που βασίζονται στο Systemd, σε ένα τερματικό μπορούμε να πληκτρολογήσουμε journalctl -l -f (με δικαιώματα διαχειριστή) κι αμέσως θ’ αρχίσουμε να βλέπουμε ζωντανά τα logs του συστήματος. Συνδέοντας στον υπολογιστή το USB stick, στο τερματικό θα εμφανιστεί το device file του.

Αφού μάθουμε το device file του USB stick, γράφουμε πάνω του το ISO image με χρήση του εργαλείου dd. Πιο συγκεκριμένα, με δικαιώματα διαχειριστή συστήματος πληκτρολογούμε κάτι σαν

dd if=/home/cvar/Sóttar\ skrár/openSUSE-Leap-42.2-DVD-x86_64.iso \
of=/dev/sdb bs=4M status=progress && sync

Αναλυτικότερα: Στην παράμετρο if δίνουμε την πλήρη διαδρομή του ISO image, στην παράμετρο of δίνουμε την πλήρη διαδρομή του device file του USB stick, ενώ με την παράμετρο bs ζητάμε η ανάγνωση και η εγγραφή δεδομένων να γίνεται σε τμήματα των 4 megabytes. Με αυτό το status=progress, εξάλλου, λέμε στο dd να μας δείχνει στο τερματικό την πρόοδο της διαδικασίας εγγραφής. Με την παράμετρο sync, τέλος, βεβαιωνόμαστε ότι δεν θα υπάρχουν δεδομένα στην cache που δεν έχουν ακόμη γραφτεί στο USB stick, oπότε μετά την εγγραφή του ISO αν θέλουμε θα αποσυνδέσουμε το στικάκι χωρίς καθυστέρηση.

Εγγραφή του ISO image (του openSUSE Leap 42.2) σε USB stick κατάλληλης χωρητικότητας, με τη βοήθεια του εργαλείου dd.

Εγγραφή του ISO image (του openSUSE Leap 42.2) σε USB stick κατάλληλης χωρητικότητας, με τη βοήθεια του εργαλείου dd.

Εργασία από macOS
Στο macOS δουλεύουμε όπως περίπου και στο Linux, δηλαδή από ένα παράθυρο τερματικού και με τη βοήθεια του εργαλείου dd. Υπάρχουν όμως και κάποιες διαφορές, π.χ., στον τρόπο εντοπισμού του device file που αντιστοιχεί στο USB stick. Δείτε τα τρία screenshots που ακολουθούν, διαβάστε βεβαίως και τις αντίστοιχες περιγραφές.

Συνδέουμε το USB stick στον υπολογιστή και σε ένα παράθυρο τερματικού πληκτρολογούμε diskutil list, ώστε να δούμε τα device files όλων των αποθηκευτικών μέσων που βλέπει το macOS. Στο παράδειγμά μας, το device file του stick είναι το /dev/disk2. Ένας τρόπος προκειμένου να είμαστε βέβαιοι πως κοιτάζουμε το σωστό device file, είναι να λαμβάνουμε υπόψη το μέγεθος του USB stick. Το δικό μας έχει μέγεθος 8GB οπότε, ναι, το device file που θέλουμε είναι το /dev/disk2.

Συνδέουμε το USB stick στον υπολογιστή και σε ένα παράθυρο τερματικού πληκτρολογούμε diskutil list ώστε να δούμε τα device files όλων των αποθηκευτικών μέσων που βλέπει το macOS. Στο παράδειγμά μας, το device file του stick είναι το /dev/disk2. Ένας τρόπος προκειμένου να είμαστε βέβαιοι πως κοιτάζουμε το σωστό device file, είναι να λαμβάνουμε υπόψη το μέγεθος του USB stick. Το δικό μας έχει μέγεθος 8GB οπότε, ναι, το device file που θέλουμε είναι το /dev/disk2.

Πριν προχωρήσουμε στην εγγραφή του ISO αποπροσαρτούμε το USB stick, πληκτρολογώντας diskutil unmountDisk /dev/disk2. Βεβαίως, στη θέση του /dev/disk2 εσείς θα βάλετε το devife file για το δικό σας στικάκι.

Πριν προχωρήσουμε στην εγγραφή του ISO αποπροσαρτούμε το USB stick, πληκτρολογώντας diskutil unmountDisk /dev/disk2. Βεβαίως, στη θέση του /dev/disk2 εσείς θα βάλετε το devife file για το δικό σας στικάκι.

Και μετά την αποπροσάρτηση του USB stick ξεκινάμε την εγγραφή του ISO image, με τη βοήθεια του dd. Είναι φανερό ότι στην παράμετρο if δίνουμε το πλήρες path προς το αρχείο ISO, στην παράμετρο of δίνουμε το (πλήρες) όνομα του device file που αντιστοιχεί στο USB stick, ενώ με την παράμετρο bs ζητάμε η ανάγνωση και η εγγραφή δεδομένων να γίνεται σε τμήματα των 4 megabytes. Οι προσεκτικοί θα διαμαρτύρεστε ήδη: αντί για "disk2" έχουμε πληκτρολογήσει rdisk2. Αυτό το "r" προέρχεται από το "raw" και στην περίπτωσή μας σημαίνει ότι η εγγραφή επί του USB stick πραγματοποιείται ταχύτερα.

Και μετά την αποπροσάρτηση του USB stick ξεκινάμε την εγγραφή του ISO image, με τη βοήθεια του dd. Είναι φανερό ότι στην παράμετρο if δίνουμε το πλήρες path προς το αρχείο ISO, στην παράμετρο of δίνουμε το (πλήρες) όνομα του device file που αντιστοιχεί στο USB stick, ενώ με την παράμετρο bs ζητάμε η ανάγνωση και η εγγραφή δεδομένων να γίνεται σε τμήματα των 4 megabytes. Οι προσεκτικοί θα διαμαρτύρεστε ήδη: αντί για “disk2” έχουμε πληκτρολογήσει rdisk2. Αυτό το “r” προέρχεται από το “raw” και στην περίπτωσή μας σημαίνει ότι η εγγραφή επί του USB stick πραγματοποιείται ταχύτερα.

Εργασία από Windows
Ένας τρόπος για να γράφουμε ISO images σε USB sticks κάτω από Windows, είναι με τη βοήθεια της εφαρμογής Rufus. Δείτε τα τέσσερα screenshots που ακολουθούν, διαβάστε και τις αντίστοιχες περιγραφές.

Τρέχουμε το Rufus και στη θυρίδα Device, στο βασικό παράθυρο της εφαρμογής, επιλέγουμε το drive letter που αντιστοιχεί στο USB stick (1). Κάνουμε ένα κλικ στο σχετικό εικονίδιο επιλογής αρχείων (2) κι αμέσως ανοίγει ένα παράθυρο του File Explorer των Windows. Απ' αυτό εντοπίζουμε κι επιλέγουμε το ISO image που θέλουμε να γράψουμε στο USB stick (3) και φυσικά πατάμε στο κουμπί Open.

Τρέχουμε το Rufus και στη θυρίδα Device, στο βασικό παράθυρο της εφαρμογής, επιλέγουμε το drive letter που αντιστοιχεί στο USB stick (1). Κάνουμε ένα κλικ στο σχετικό εικονίδιο επιλογής αρχείων (2) κι αμέσως ανοίγει ένα παράθυρο του File Explorer των Windows. Απ’ αυτό εντοπίζουμε κι επιλέγουμε το ISO image που θέλουμε να γράψουμε στο USB stick (3) και φυσικά πατάμε στο κουμπί Open.

Τα υπάρχοντα δεδομένα του USB stick πρόκειται να χαθούν! Γι' αυτό και το Rufus εμφανίζει παράθυρο με σχετική προειδοποίηση, καλώντας μας να επιβεβαιώσουμε την ενέργεια που πρόκειται να γίνει -- ή βεβαίως να την ακυρώσουμε.

Τα υπάρχοντα δεδομένα του USB stick πρόκειται να χαθούν! Γι’ αυτό και το Rufus εμφανίζει παράθυρο με σχετική προειδοποίηση, καλώντας μας να επιβεβαιώσουμε την ενέργεια που πρόκειται να γίνει — ή βεβαίως να την ακυρώσουμε.

Η εγγραφή του ISO image επί του USB stick έχει ξεκινήσει κι εξελίσσεται ομαλά. Την πρόοδο της διαδικασίας τη βλέπουμε στη σχετική μπάρα, κάτω.

Η εγγραφή του ISO image επί του USB stick έχει ξεκινήσει κι εξελίσσεται ομαλά. Την πρόοδο της διαδικασίας τη βλέπουμε στη σχετική μπάρα, κάτω.

Η επιτυχής ολοκλήρωση της εγγραφής δεν συνοδεύεται από τυμπανοκρουσίες -- αλλά ποιος νοιάζεται για τέτοια; Σημασία έχει ότι από το USB stick μπορείτε πλέον να ξεκινήστε την εγκατάσταση του άλλου σας αγαπημένου λειτουργικού.

Η επιτυχής ολοκλήρωση της εγγραφής δεν συνοδεύεται από τυμπανοκρουσίες — αλλά ποιος νοιάζεται για τέτοια; Σημασία έχει ότι από το USB stick μπορείτε πλέον να ξεκινήστε την εγκατάσταση του άλλου σας αγαπημένου λειτουργικού.

4 Responses to “Πώς γράφουμε αρχεία ISO σε USB sticks, από οποιοδήποτε λειτουργικό”

  1. kallinikos | 13/05/2017 at 15:20

    Ωραίο άρθρο, εφόσον μάλιστα δε γνώριζα λεπτομέρειες για το εργαλείο dd. Θα μπορούσαμε μήπως να έχουμε και ένα άρθρο για εγγραφή πολλαπλών iso στο ίδιο φλασάκι;

  2. ioanniskar | 13/05/2017 at 17:58

    Θα ήταν ενδιαφέρον ένα παρόμοιο άρθρο για multiple iso σε ένα usb flash. Υπάρχει η δυνατότητα να αφαιρέσουμε/αντικαταστήσουμε/αναβαθμίσουμε ένα iso σε ένα usb flash disk με πολλαπλά iso;

  3. petrokostas | 14/05/2017 at 14:50

    Πολύ καλό άρθρο και με ωραία επεξήγηση όπως πάντα :)

    Σχετικά με multiple isos από USB στο toolkit μου έχω το RMPrepUSB (http://outofmymind.scanlen.com/?p=2110) με διάφορα ISOs μέσα.

    Σημ.: Το RMPrepUSB σε πολλές περιπτώσεις που έχω ´παίξεί´ με τα partition σε USB (στην θεωρία θα πρέπει να έχει μόνο ένα partition, αλλά… μικρό παιδί είμαι και παίζω) και κατάφερα να μην μπορώ να το κάνω wipe ούτε με dd, τα έχει καταφέρει μια χαρά να το κάνει initialize και να παίξει.

    Στο δίκτυο μου έχω στήσει στον NAS ένα TFTP με NFS και με PXE Boot φορτώνω απευθείας οποία Linux / Windows ISO θέλω, ακόμα και μέσα από τα vm (το configuration file είναι σχετικά δύσκολο να το ρυθμίσεις για τα Windows, αλλά μόλις το καταλάβεις πως γίνεται μετά είναι τυφλοσούρτης).

  4. Giorgos Exis | 26/05/2017 at 12:21

    Καλημέρα σε όλους σας.

    Καλό το άρθρο και κατατοπιστικό. Εγώ χρησιμοποιώ την διανομή PCLinuxOS και το dd το έχει έτοιμο σαν εφαρμογή στο Configuration. Eίναι και τριπλής επιλογής. 1. Create bootable usb, 2. Create butable cd/dvd και 3. Erase usb. Συνδέεις το usb στον υπολογιστή, τρέχεις την εφαρμογή, επιλέγεις το usb (προσοχή εδώ μην επιλεχθεί κατά λάθος ο σκληρός δίσκος γιατί θα διαγραφούν τα πάντα), επιλέγεις το iso και πατάς το κουμπί write. Λογικά θα δουλεύει και από live cd (αν δεν θέλει κάποιος να εγκαταστήσει την διανομή). Δεν το έχω δοκιμάσει από live cd.

    Όοσ για πολλαπλές διανομές σε ένα usb το καλύτερο που είχα βρει όταν χρησιμοποιούσα windows ήταν το YUMI.

    Αυτά και σας χαιρετώ.

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων