Μετακινήστε το διαμέρισμα root σε άλλο δίσκο

Στο σημερινό σεμινάριο, θα σας εξηγήσω πώς μπορείτε να μετακινήσετε το ριζικό διαμέρισμα της διανομής Linux σας σε άλλο διαμέρισμα (είτε είναι στον ίδιο σκληρό δίσκο είτε όχι). Αυτή η ανάγκη μου ήρθε στα μέσα της περασμένης χρονιάς, όταν χρησιμοποιούσα ακόμη το Chakra, και από τότε είναι μια διαδικασία που έχω χρησιμοποιήσει σε περισσότερες από μία περιπτώσεις με ικανοποιητικά αποτελέσματα και μηδενικά προβλήματα.

Εάν τα βήματα ακολουθηθούν κατά γράμμα, είναι μια 100% ασφαλής, σχετικά γρήγορη και πλήρως αναστρέψιμη λειτουργία. Θα χρειαστούμε μόνο ένα Live CD από οποιαδήποτε διανομή που έχουμε εκεί έξω (μια από το Ubuntu, για παράδειγμα, θα εξυπηρετήσει τον σκοπό μας), και προσδιορίστε σωστά ποιο είναι το διαμέρισμα προέλευσης και προορισμού.

Για να λάβουμε τέτοιες πληροφορίες, μπορούμε να καταφύγουμε στο GParted ή στον Επεξεργαστή Διαμερισμάτων του KDE. Κατά την εκτέλεσή τους, θα δούμε ένα παράθυρο παρόμοιο με αυτό στο στιγμιότυπο οθόνης παρακάτω. Εκεί, πρέπει να αναζητήσουμε το αρχικό μας ριζικό διαμέρισμα και να δούμε σε ποιον δίσκο ανήκει (sda, sdb, sdc...), τι αριθμό έχει (sda2, sdb1, sdj5 κ.λπ.) και ποιο είναι το UUID του (αλφαριθμητικός κωδικός που θα βρείτε στην ενότητα "advanced information"). Προφανώς, αν πρόκειται να μετακινήσουμε ένα διαμέρισμα θα χρειαστούμε έναν προορισμό, οπότε πρέπει προηγουμένως να δημιουργήσουμε μια τρύπα στον σκληρό δίσκο για να πραγματοποιήσουμε τη μετακίνηση και να γράψουμε τα αντίστοιχα δεδομένα.

Πριν συνεχίσω, θέλω να ξεκαθαρίσω ότι σε αυτό το σεμινάριο αναφέρομαι μόνο στο Grub2. Εάν χρησιμοποιείτε άλλο bootloader, ορισμένα βήματα ή εντολές μπορεί να διαφέρουν -στην πραγματικότητα, είναι πολύ πιο εύκολο με το Grub Legacy-. Έτσι, με τις πληροφορίες από πριν γραμμένες σε ένα κομμάτι χαρτί, ξεκινάμε τη δουλειά:

1) Ξεκινάμε τον υπολογιστή με το Live CD και περιμένετε να φορτώσει η επιφάνεια εργασίας.

2) Σε τερματικό Εισάγουμε τις εξής δύο εντολές:

sudo mkdir /mnt/old

sudo mkdir /mnt/new

3) Τότε, πληκτρολογούμε τις παρακάτω εντολές:

sudo mount /dev/sdaX /mnt/old (όπου sdaX είναι το αρχικό ριζικό διαμέρισμα).

sudo mount /dev/sdbX /mnt/new (όπου sdbX είναι το νέο ριζικό διαμέρισμα).

4) Αφού προσαρτήσετε κάθε διαμέρισμα, προχωράμε στην αντιγραφή των αρχείων χρησιμοποιώντας δύο εντολές (μία για κανονικά αρχεία και μία για κρυφά δεδομένα). Ίσως το δεύτερο να μην είναι απολύτως απαραίτητο, αλλά το τρέχω για παν ενδεχόμενο. Αυτό το μέρος θα διαρκέσει λίγα λεπτά:

sudo cp -rav /mnt/old/* /mnt/new
sudo cp -rav /mnt/old/.* /mnt/new

5) Αποσυνδέουμε το παλιό διαμέρισμα και πληκτρολογούμε μερικές ακόμη εντολές:

sudo umount /mnt/old
sudo mount -o bind /dev /mnt/new/dev
sudo mount -t proc κανένα /mnt/new/proc

6) Τώρα κάνουμε chroot στο νέο διαμέρισμα για να επανεγκαταστήστε το Grub2. Η εντολή εγκατάστασης αλλάζει ανάλογα με το LiveCD που έχετε, αφού κάθε διανομή έχει τους δικούς της τρόπους διαχείρισης πακέτων. Στο Chakra και στο Arch χρησιμοποιείται sudo pacman -S grub, αλλά στα παράγωγα Debian γίνεται ως εξής:

sudo chroot /mnt/new /bin/bash

sudo grub-install /dev/sdb (όπου sdb είναι ο σκληρός δίσκος όπου έχουμε το νέο ριζικό διαμέρισμα και δεν χρειάζεται να βάλουμε αριθμό ή κάτι παρόμοιο).
7) Τώρα, Πριν από την επανεκκίνηση, πρέπει να προσαρμόσουμε μερικές μικρές λεπτομέρειες στο fstab και στο grub.cfg. Για να το κάνουμε αυτό, επεξεργαζόμαστε το grub.cfg με τον προτιμώμενο επεξεργαστή κειμένου (kate, gedit, nano…):
sudo kate /boot/grub/grub.cfg

Όπως μπορείτε να δείτε στην εικόνα, έχω επισημάνει τα πιο σημαντικά μέρη που πρέπει να δούμε, αλλά μπορεί να είναι περισσότερα (αναζητήστε τα και τροποποιήστε τα ακολουθώντας την ίδια μεθοδολογία). Με τα δεδομένα από το ολοκαίνουργιο ριζικό μας διαμέρισμα (UUID και εταιρεία), προχωράμε στην αντικατάσταση των παλιών αναφορών με τις νέες:
  • Όπου βάλουμε (hdX,Y), αλλάζουμε τους αριθμούς των X και Y σύμφωνα με τα εξής:

X: υποδεικνύει τον αριθμό του σκληρού δίσκου. Εάν ο δίσκος είναι sda, το X είναι ίσο με 0. Εάν ο δίσκος είναι sdb, το X είναι ίσο με 1. Εάν ο δίσκος είναι sdc, το X είναι ίσο με 2, και ούτω καθεξής.
Υ: υποδηλώνει τον αριθμό διαμερίσματος. 1,2,3… Παράδειγμα: δεύτερο διαμέρισμα του πρώτου δίσκου (hd0,2); δεύτερο διαμέρισμα του τρίτου δίσκου (hd2,2)… Έχετε την ιδέα;

  • Το δεύτερο πεδίο που πρέπει να τροποποιήσετε είναι το UUID (ο κωδικός των αριθμών και των γραμμάτων τόσο μεγάλου μεγέθους), το οποίο εξακολουθεί να δείχνει στο παλιό διαμέρισμα. Το αλλάζουμε στο UUID του νέου διαμερίσματος (θυμηθείτε ότι μπορείτε να το ελέγξετε στο GParted, για παράδειγμα). Ελέγξτε καλά τα δεδομένα!
  • Η τρίτη αλλαγή, και μία από τις πιο σημαντικές, σχετίζεται με το μικρό κόκκινο ορθογώνιο κάτω από το UUID, το οποίο λέει "sdb2" στην εικόνα. Εκεί πρέπει να υποδείξετε τη νέα κατάτμηση της ρίζας σας η οποία, λογικά, πρέπει να αντιστοιχεί στο (hdX,Y). Παραδείγματα: (hd0,1) –> sda1 // (hd2,3) –> sdc3

Λάβετε υπόψη ότι αυτές οι αλλαγές, κατ' αρχήν, πρέπει να επαναληφθούν ανάλογα με τον αριθμό των καταχωρήσεων του λειτουργικού μας συστήματος που υπάρχουν στο Grub. Έχω τρεις εισόδους Τσάκρα, επομένως πρέπει να αλλάξω αυτά τα δεδομένα 3 φορές. Ωστόσο, Σας συμβουλεύω να αλλάξετε μόνο την πρώτη καταχώρηση και, μόλις δείτε ότι όλα ξεκινούν σωστά, προχωρήστε στην τροποποίηση των υπόλοιπων, από το πραγματικό λειτουργικό σας σύστημα.

8) Λύθηκε το θέμα του Grub, πάμε στο fstab.
sudo kate /etc/fstab
Αναζητούμε το UUID του / και το αλλάζουμε με το νέο, όπως κάναμε στο προηγούμενο βήμα. Αποταμιεύουμε.

9) Τώρα μπορούμε να κάνουμε επανεκκίνηση και να ελέγξουμε ότι όλα είναι εντάξει. Εάν το λειτουργικό σύστημα λειτουργεί καλά, μπορούμε να προχωρήσουμε στην αντικατάσταση των δεδομένων που αφήσαμε αμετάβλητα στις υπόλοιπες εγγραφές του αρχείου grub.cfg, καθώς και να διαγράψουμε το παλιό root partition -αν αυτό είναι η επιθυμία μας-.

Αυτά για σήμερα.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Έλερι dijo

    Αυτό έψαχνα για XD ευχαριστώ

  2.   Άγιοι dijo

    Είναι μια πολύ ασφαλής διαδικασία, την έχω χρησιμοποιήσει πολλές φορές πριν από χρόνια, και το καλό είναι ότι το νέο / διαμέρισμα δεν θα περιέχει κατακερματισμό αρχείων…

    Αν και πριν από λίγο καιρό προσπάθησα να αλλάξω το ριζικό διαμέρισμα με την παραλλαγή της αλλαγής και του συστήματος αρχείων (από reiserfs σε ext3), αλλά μου ήταν αδύνατο να το κάνω όσες προσπάθειες και στροφές κι αν έδωσα, κάπως κατά την εκκίνηση του συστήματος ο εντοπισμός / απέτυχε λόγω του γεγονότος ότι έψαχνε για ένα διαμέρισμα / με σύστημα reiserfs όταν το νέο μορφοποιήθηκε με ext. Μπαίνοντας στη λειτουργία συντήρησης και χειροκίνητη τοποθέτηση / ως ext3 το σύστημα λειτούργησε σωστά, αλλά στην επόμενη εκκίνηση απέτυχε ξανά για τον ίδιο λόγο. Δεν υπήρχε έκδοση του grub ή του fstab που να δούλευε... πάντα ψάχνω για ένα / διαμέρισμα με reiserfs, δεν μπορώ να βρω τη λύση...

    1.    Λύκος dijo

      Αυτό ακούγεται σαν να υπήρχε κάποιο αρχείο που δείχνει προς το διαμέρισμα reiserfs. Ίσως μια δυσδιάκριτη γραμμή στον bootloader ή κάτι τέτοιο, διαφορετικά το ext3 θα έπρεπε να έχει φορτωθεί σωστά.

      1.    Άγιοι dijo

        Αν αυτό νόμιζα... και ξόδεψα ώρες ψάχνοντας κάτι αλλά δεν βρήκα τίποτα... ούτε καν να ψάξω στο Διαδίκτυο.
        Ωστόσο, δεν μπορώ να εγγυηθώ ότι στο παρελθόν έκανα τη διαδικασία χωρίς προβλήματα, είναι περίπου 6 ή 7 χρόνια από τότε που το έκανα σχεδόν για πλάκα... την τελευταία φορά που προσπάθησα να το κάνω με το Debian Lenny, ίσως η μεγαλύτερη διαφορά είναι ο πυρήνας, πριν ίσως χρησιμοποιούσα μια διανομή με linux 2.4.x.
        Τέλος πάντων, αν καταφέρεις να βρεις τη λύση, ελπίζω να τη μοιραστείς...

  3.   ren434 dijo

    Καλή συμβουλή,… αν το ήξερα πριν.

    Χαιρετισμούς.

  4.   Merlin The Debianite dijo

    Ναι, πολύ καλή συμβουλή, μοιάζει πολύ με τη διαδικασία αλλαγής του /home δίσκου, αλλά δεν ήξερα ότι μπορεί να γίνει με root.

    Πολύ καλές πληροφορίες, αν και μπορεί να μην τις χρησιμοποιήσω, καλό είναι να τις ξέρω για τις μύγες. 🙂

    1.    Λύκος dijo

      Ναι, με το /home είναι πολύ πιο εύκολο, γιατί δεν χρειάζεται να επανεγκαταστήσετε το Grub ή να τροποποιήσετε το αρχείο διαμόρφωσής του. Αρκεί η αντιγραφή όλων των απαραίτητων και η επεξεργασία του fstab.

      1.    Merlin The Debianite dijo

        Λοιπόν, φυσικά μιλάμε για /home, είναι προφανές ότι το /root θέλει περισσότερη προσοχή.

        Δεν είναι σαν το /Home που γενικά είναι σχεδόν απλώς αποκοπή και επικόλληση ή αντιγραφή και επικόλληση.

  5.   ευχαρίστηση dijo

    Πολύ καλό εγχειρίδιο, φίλε, ευχαριστώ πολύ, θα ήθελα να μάθω αν η έκδοση pdf ή οποιαδήποτε άλλη έκδοση μπορεί να κατέβει από κάπου, με εκτίμηση

    1.    Λύκος dijo

      Ορίστε, φρεσκοκομμένος από το φούρνο ;):

      https://sites.google.com/site/rsvnna/baul/Mover%20Root.pdf

      1.    ευχαρίστηση dijo

        ευχαριστω φιλε ειναι πολυ καλο

  6.   Ραγιάντ dijo

    Σε ευχαριστώ πάρα πολύ! Έψαχνα για κάτι παρόμοιο και αυτό που μου είχε συμβεί ήταν να φτιάξω εικόνες των κατατμήσεων και μετά να τα επαναφέρω, αλλά φυσικά έλειπαν περισσότερα πράγματα, όπως σημεία τοποθέτησης κ.λπ. Οπότε μου ταιριάζει γάντι!

  7.   Ο Άμμος86 dijo

    Πολύ καλές πληροφορίες, είναι πάντα χρήσιμο να έχετε αυτά τα πράγματα στη διάθεσή σας για κάθε ενδεχόμενο. Σε ευχαριστώ πάρα πολύ.

  8.   Krim dijo

    Εάν χρησιμοποιείτε το Grub2 δεν θα ήταν grub2-install;

    Να είστε προσεκτικοί όταν κάνετε αυτά τα εγχειρίδια να βάζετε κανέναν σε μπελάδες, αρκεί να μην βάζετε σωστά τις εντολές.

    1.    blacksheepx dijo

      Στο Arch, η παλιά έκδοση του grub μετονομάστηκε σε grub-legacy και το grub 2 παρέμεινε ως grub μόνο, επομένως είναι σωστό, αλλά εξακολουθείτε να συνιστάται να διαβάσετε την τεκμηρίωση της διανομής σας πριν κάνετε μια σημαντική κίνηση όπως αυτή για να είστε σίγουροι για τα ονόματα των πακέτων

      και χάρη στον συγγραφέα έψαχνα τη λεπτομερή διαδικασία και αυτό με εξυπηρέτησε καλά

  9.   Guillermo dijo

    Οι δύο εντολές από το σημείο 5 δεν έχουν δουλέψει για μένα, καλύτερα αυτό:
    sudo su
    mkdir /media/kk (όπου είναι τοποθετημένη η ρίζα του εγκατεστημένου συστήματος)
    mount -t ext4 -o rw /dev/sda /media/kk
    mount --bind /proc /media/kk/proc
    mount --bind /dev /media/kk/dev
    mount --bind /sys /media/kk/sys
    chroot /media/kk
    ενημέρωση-grub
    grub-install /dev/sda (ή sdb, ...)

  10.   Alengoan dijo

    Ευχαριστώ πολύ με βοήθησε πολύ, εναλλακτικά αφού αντιγράψετε τα πάντα στο νέο διαμέρισμα μπορείτε να μετακινήσετε την εγκατάσταση του grub με το εργαλείο boot-repair, ώστε να αποφύγετε να κάνετε τα βήματα 5 και μετά

    sudo add-apt-repository ppa: yannubuntu / επισκευή εκκίνησης
    sudo update apt-get
    sudo apt-get εγκατάσταση boot-repair

    εκτελείται η εφαρμογή γραφήματος, ενεργοποιούνται οι προηγμένες επιλογές. θέση grub και επιλέξτε το νέο διαμέρισμα για την εγκατάσταση του grub.