Btrfs και grub: Που είναι η διανομή οεο;

Το πρόβλημα

Στήνω ένα υπολογιστή που έχει δύο λειτουργικά. Και στα δυο επέλεξα σαν σύστημα αρχείων το btrfs. Ο λόγος που το επέλεξα είναι για τα snapshots του timeshift. Με το που εγκαθιστώ την δεύτερη διανομή ο grub δεν έφτιαξε καταχώρηση για την πρώτη. Που είναι η διανομή εοοο;

Το timeshift σε btrfs πραγματικά πετάει και φτιάχνει το snapshot σε κλάσματα ου δευτερολέπτου.

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

btrfs timeshidt, και snapshots.

Προσαρτώ την κατάτμηση του χαμένου λειτουργικού και βλέπω κάτι κουφά. Αντί για τα αρχεία βλέπω δυο φακέλους. Ένα φάκελο με το κουφό όνομα @ και ένα άλλο σχετικό με το timeshift. Οι οδηγίες που βρήκα στο internet για να λύσω το πρόβλημα αποκτούν κάποιο νόημα

  1. Προσάρτησε την κατάτμηση του χαμένου λειτουργικού
  2. Κάνε cd σε αυτόν τον κατάλογο
  3. Δώσε τις εντολές
    sudo ln -s @/boot boot
    sudo ln -s @/etc etc
  4. Επανέλαβε σε κάθε άλλη κατάτμηση καθώς και στην ριζική(!)
    cd /
    sudo ln -s @/boot boot
    sudo ln -s @/etc etc
  5. Δώσε την εντολή sudo update-grub2 σε κάθε λειτουργικό.

Πλέον το grub θα δει τα λειτουργικά. Να πως πως το πρόβλημα είναι στον grub και όχι στο btrfs και κάποια στιγμή το grub θα ενημερωθεί για την μυστήρια ύπαρξη με το όνομα btfs

Η λύση του μυστηρίου

'Έδωσα την εντολή

sudo btrfs subvolume list /

και είδα κάτι σαν το παρακάτω

ID 266 gen 12835 top level 5 path timeshift-btrfs/snapshots/2019-06-25_22-43-03/@
ID 271 gen 13005 top level 5 path @
ID 278 gen 12835 top level 5 path timeshift-btrfs/snapshots/2019-06-26_02-59-12/@
ID 279 gen 12835 top level 5 path timeshift-btrfs/snapshots/2019-06-26_10-00-01/@
ID 280 gen 12835 top level 5 path timeshift-btrfs/snapshots/2019-06-26_19-37-13/@
ID 281 gen 12977 top level 5 path timeshift-btrfs/snapshots/2019-06-27_18-00-01/@

Τα subvolumes είναι τα snapshots που κάνει το timeshift και το @ είναι το τρέχον. Κάθε snapshot είναι σαν ένας φάκελος. Ναι αλλά γιατί δεν βλέπω αυτά όταν κάνω ls. Η απάντηση στο μυστήριο ήταν στο αρχείο /etc/fstab που η καταχώρηση για το / ήταν η παρακάτω

UUID=48...68 /               btrfs   defaults,subvol=@ 0       1

Αυτό το subvol=@ είναι που κάνει την “ζημιά”. Το πρόσθεσα και στην άλλη κατάτμηση, εδώ δείχνω το πως, και όλα καλά και πλέον λογικά.

Επόμενα βήματα

Γιατί έχεις δυο λειτουργικά; Ο λόγος είναι πως θέλω να έχω διαφορετικές εκδόσεις του οδηγού της NVidia. Στην μία για το cuda και στην άλλη για παιγνίδια που θέλουν τον τελευταίο δυνατό οδηγό για τα κόλπα του lutris. Μπορώ να έχω τις δύο διανομές σε μια κατάτμηση; Η έστω την ίδια διανομή με διαφορετικούς οδηγούς; Το κέρδος στον δίσκο θα είναι σημαντικό!

Ιστορία επιστημονικής φαντασίας; Νομίζω πως πλέον αυτό είναι δυνατόν. Βέβαια θέλει λίγο ψάξιμο και δεν ξέρω αν θα δοκιμάσω να το κάνω :smiley:. Ελπίζω κάποια στιγμή να γίνει το btrfs να γίνει το εξ’ορισμού filesystem σε όλες τις διανομές και να απελευθερωθεί τότε το τεράστιο δυναμικό που κουβαλάει. Μέχρι τότε χρησιμοποιείστε το με δική σας ευθύνη.

https://btrfs.wiki.kernel.org/index.php/Main_Page

3 Likes

τωρα μπορει ναπω σαχλαμαρα, αλλά δε γινεται διαφορετικος user στην ιδια διανομη να εχει άλλη εκδοση του οδηγου της nvidia;

Σε μια καλύτερη διατύπωση θα έλεγα θα ήταν κάτι σαν, αυτό απέχει πολύ από το να είναι τεχνικά εφικτό :slight_smile:

Ο οδηγός της κάρτας γραφικών είναι ένα μικρό κομμάτι του “οδηγού της κάρτας γραφικών” μιας και αυτός είναι σχεδόν ένα ολόκληρο λειτουργικό σύστημα. Αν το δεύτερο κομμάτι μπορείς να το λύσεις με κάποιο τρόπο (αλλάζοντας δυναμικά τον loader ώστε να βλέπει το κατάλληλο περιβάλλον OpenGL) κάτι που δεν έχει επιχειρήσει κανείς, αλλά είναι εφικτό, έχεις το πρόβλημα της κατάστασης της κάρτας γραφικών που μπορεί να την μοιράζονται πολλές διεργασίες (πχ cuda computation threads) και δεν μπορείς να τις ξεφορτωθείς έτσι απλά, και έχεις το πρόβλημα του να αφαιρέσεις ένα οδηγό ενώ χρησιμοποιείτε. Δεν ξέρω αν υπάρχει τρόπος να αποσυνδεθεί το σύστημα απο την κάρτα γραφικών και να συνδεθεί ξανά με άλλο οδηγό. Αυτά στα γρήγορα για πιθανά προβλήματα που μπορεί ναυπάρξουν και βέβαια δεν θα παραξενευτώ καθόλου αν είμαι εντελώς λάθος σε κάποια ή σε όλα από τα παραπάνω

1 Like

επομενως καλλιτερα να το δοκιμασεις ή οχι;

edit
αν συγχρονιζες τη διαμορφωση του user απο καποιο άλλο διαμορφωμενο user αλλου; οχι;

Ένα άλλο πρόβλημα που προέκυψε. Το grub δεν μπορεί να γράψει στο btfs. Έτσι δεν μπορείς να κάνεις το παρακάτω: σύνδεσμος

Η λύση είναι να έχεις ένα χωρισμό /boot partition