Δημιουργία κλώνου της διανομής μου σε άλλο δίσκο.

Καλημέρα και καλή χρονιά σε όλους.
Θέλω να αναβαθμίσω τον δίσκο του pc σε μεγαλύτερης χωρητικότητας SSD και τον υπάρχων να τον κουμπώσω σε άλλο μηχάνημα. Παρ’οτι είμαι πάνω απο έξι χρόνια χρήστης του λίνουξ την συγκεκριμένη διαδικασία (που αναφέρεται στον τίτλο του θέματος, οπότε για οικονομία του λόγου δεν θα επαναλάβω) δεν την έχω επιχειρήσει ποτέ.

Θα ήθελα λοιπόν τα φώτα της φορουμάρας.

@DarkGoth ειδικά σε σενα ποντάρω πολλά γιατί έχω δει να αναφέρεσαι σε παρόμοια «κόλπα» :sweat_smile:

1 «Μου αρέσει»

Μήπως θα ήθελες να δεις πιο διεξοδικά το RescueZilla ?

1 «Μου αρέσει»

Όχι o DarkGoth αλλά το έκανα πρόσφατα αν και δυστυχώς δεν κράτησα αναλυτικά τα βήματα. Εξαρτάται από τη διαμέριση που έχεις κάνει και τo/α filesystem/s που χρησιμοποιείς.

Η δική μου εγκατάσταση είναι ένα EFI partition και ο υπόλοιπος δίσκος ένα LVM-on-LUKS με δυο logical volumes (ένα ext4 για /–δεν έχω ξεχωριστό για /home–κι ένα swap).

Η διαδικασία αν το partition που θα κάνεις expand βρίσκεται στο τέλος, π.χ. όπως εμένα ή κάτι πιο απλό όπως EFI και ένα για root, είναι αρκετά ευθύς. Αρχικά ξεκινάς με το εργαλείο pv. Μπαίνεις σε root με sudo -s ή su και μετά τρέχεις pv < /dev/${old_drive} > /dev/${new_drive} (τριπλοτσέκαρε πως έχεις τα σωστά!). Στη συνέχεια στο νέο δίσκο, κάνεις resize το partition με parted (CLI) ή gparted (GUI), και μετά κάνεις resize το filesystem. Αν ext4 γίνεται με resize2fs /dev/${new_drive}${partition_no}. Πριν αυτό το βήμα τρέξε ένα fsck. (Επίσης πληροφοριακά, αν LVM είναι σαν να έχεις ένα “υποδίσκο” και άρα χρειάζεται να γίνουν resize τα όποια physical και logical volumes.)

Αν έχεις περισσότερα από ένα partition που θες να γίνουν expand, π.χ. ένα / και ένα /home, τότε μια παρόμοια διαδικασία είναι να φτιάξεις το ίδιο structure στο νέο δίσκο με τα μεγέθη που θες με parted ή gparted, κάνεις clone το καθένα από το παλιό δίσκο στο νέο, και στη συνέχεια resize τα filesystems. Λόγο πολυπλοκότητας εργαλεία όπως το Clonezilla λογικά θα το κάνουν πιο εύκολο αλλά δεν τα έχω χρησιμοποιήσει.

2 «Μου αρέσει»

Σηκώνω χεράκι για Rescuezilla και το προτείνω κι απ’ την μεριά μου.

3 «Μου αρέσει»

Η μέθοδος που εγώ χρησιμοποιώ είναι πολύ πιο απλή. Απλά εγκαθιστώ από την αρχή. Ένα ωραίο εργαλείο είναι το Mint Backup το οποίο απλά κρατάει μια λίστα με τα εγκατεστημένα πακέτα. Κρατάς τη λίστα σε ένα στικάκι και στη συνέχεια μετά την εγκατάσταση φορτώνεις τη λίστα και επιλέγεις ποια από τα πακέτα που δεν υπάρχουν στη διανομή θέλεις να εγκαταστήσεις.

Με τον τρόπο αυτό σίγουρα δεν έχεις καμία παλιά εξάρτηση και κάνεις και μια αναθεώρηση του τι πραγματικά θέλεις και χρησιμοποιείς. Επίσης, έχω κάποια απλά σενάρια εντολών που εγκαθιστούν πράγματα που πάντα θέλω.

Το /home το τραβάω απο το backup που κάνω τακτικά. Και μια και πλέον αγαπάω τα flatpaks πολύ πράγμα το έχω έτσι αυτόματα.

3 «Μου αρέσει»

Καταρχάς σας ευχαριστώ όλους για τις προτάσεις λύσεων και τον χρόνο σας!

Αξιολογήθηκαν όλες και επιλέχθηκε αυτή του Rescuezilla (που προτάθηκε πρώτα απο τον @SomniusX και στη συνέχεια κι απ’ τον @stefra ) ως η πιο εύκολη ως προς την εκτέλεση αλλά και με μικρότερο περιθώριο λάθους… Και δούλεψε άψογα, τη στιγμή που μιλάμε έχω ήδη κουμπώσει και έχω bootαρει τον κλώνο-δίσκο στο pc :sunglasses:

4 «Μου αρέσει»

Παρ’ όλο που υπήρξε λύση, το ανάφερω μήπως κάποιος που το ψάξει μελλοντικά θελήσει αυτή τη λύση.

Η λύση που θα δώσω εγώ είναι αυτή του rsync. Μου έχει λύσει άπειρες φορές τα χέρια. Και σε server και σε desktops.

Εν συντομία ό,τι χρειάζεσαι είναι αυτό:

rsync -aAXHhv source destination

Αφήνω και επεξήγηση από το ArchWiki

2 «Μου αρέσει»

H εντολή από το arch wiki είναι

rsync -aAXHv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup

To rsync θα μεταφέρει τα αρχεία από τον ένα δίσκο στον άλλο και είναι μια καλύτερη λύση απο το dd. Αλλά δε θα κάνει στο σύστημα εκκινήσιμο. Επίσης, θα πρέπει να αφαιρέσεις από τη λίστα τον κατάλογο προορισμού αν δεν είναι στο /mnt ή /media. Καθώς επίσης και άλλους καταλόγους.

4 «Μου αρέσει»

Ναι ναι πολύ σωστά. Δεν είναι η πλήρης λύση αυτή που έγραψα. Ήταν η γενική ιδέα και γι αυτό παρέπεμψα στο σημείο που μπορεί κανείς να βρει πληροφορίες.

Σίγουρα θέλει μετά update -grub ή grub-mkconfig ανάλογα με τη διανομή που τρέχει ο καθένας.

Και φυσικά παίζουν κι άλλα ρόλο. Αν έχει κανείς κρυπτογραφημένα partitions να μεταφερθούν τα κλειδιά να ρυθμιστεί το /etc/cryptab κλπ.

1 «Μου αρέσει»

το ειδα πολυ αργα το θεμα. εγω παντα κανω αυτο αποκατω (το εκανα και προσφατα σε ενα μικροσκοπικο MFF workstation που πηρα. εκανα κλωνο τη διανομη που εχω στο λαπτοπ, σε αυτο, και δουλεψε κατευθειαν αψογα και στο μικροσκοπικο MFF) ξερη dd:
dd if=//dev/sda | dd of=//dev/sdb
sda ο αρχικος δισκος, sdb ο τελικος (ο κλωνος). αυτο μεταφερει ΤΑ ΠΑΝΤΑ ΑΚΡΙΒΩΣ οπως ηταν στον αρχικο δισκο. efi partitions, bootloader, κλασσικα partitions (οτιδηποτε τυπου, LVM, κλασσικα, extended, swap partition αν εχεις). κυριολεκτικα κλωνος. και ουτε filesystemchecks θελεις μετα, ουτε τιποτα. αντε πες οτι στην «χειροτερη» κανεις resize καποια partitions αν ο νεος δισκος ειναι πιο μεγαλος, αλλα αυτο γινεται πανευκολα με το gparted. ξεκινας απο τον νεο δισκο και… απολαμβανεις :wink:

4 «Μου αρέσει»

@DarkGoth Ο,τι έκανε και το resquezilla δηλαδή αλλά χωρίς γραφικό, με μία μόνο εντολή στο terminal. Ακούγεται πολύ καλό :sunglasses:

1 «Μου αρέσει»

Αυτό το νήμα έκλεισε αυτόματα 2 ημέρες μετά την τελευταία απάντηση. Δεν επιτρέπονται πλέον νέες απαντήσεις.