Προσθήκη Windows Loader στο systemd-boot

Έχω μια εγκατάσταση Pop OS σε ένα δίσκο και μια εγκατάσταση Windows σε ένα άλλο δίσκο. Κάθε εγκατάσταση έφτιαξε το δικό της ESP partition. Θα ήθελα να μπορώ να μπαίνω είτε στη μία εγκατάσταση, είτε στην άλλη, κατά την εκκίνηση. Μέχρι τώρα η λύση ήταν μέσα από το BIOS επιλέγοντάς το δίσκο εκκίνησης. Μπορώ να το κάνω; Ας δούμε πως.

Η κατάτμηση ESP

Είναι μια κατάτμηση που χρησιμοποιεί το UEFI για να ξεκινήσει το λειτουργικό. Ας βρούμε αυτές τις κατατμήσεις στο σύστημα. Οι κατατμήσεις αυτές χρησιμοποιούν τον μαγικό αριθμό c12a7328-f81f-11d2-ba4b-00a0c93ec93b κάτι που μας κάνει εύκολο να τις εντοπίσουμε. Σε ένα τερματικο :terminal: :

lsblk -ln -o NAME,PARTTYPE,FSTYPE,SIZE | grep c12a7328-f81f-11d2-ba4b-00a0c93ec93b

Και έχω το παρακάτω:

sda1      c12a7328-f81f-11d2-ba4b-00a0c93ec93b vfat          100M
nvme0n1p1 c12a7328-f81f-11d2-ba4b-00a0c93ec93b vfat         1022M

Η πρώτη κατάτμηση είναι των Windows και η δεύτερη είναι του Pop OS. Αμέσως βλέπουμε πως η κατάτμηση των Windows είναι πολύ μικρή, για κάποιο ακατανόητο λόγο τα Windows θεωρούν πως δε θα εγκαταστήσεις ένα δεύτερο λειτουργικό στον υπολογιστή. Αναρωτιέμαι γιατί :grin:

Αντίθετα, στο τελευταίο Pop OS έχουμε άπλετο χώρο και αυτήν θα χρησιμοποιήσουμε.Με λίγο ψάξιμο θα δούμε πως η κατάτμηση αυτή είναι προσαρμοσμένη στον φάκελο /boot/efi/ αλλά δεν είναι προσβάσιμη στον απλό χρήστη και θέλει sudo.

Προσάρτηση της κατάτμησης

Θα πρέπει να προσαρτήσουμε την κατάτμηση ESP των Windows κάπου. Θα μπορούσα να το κάναμε γραφικό τρόπο, αλλά μιας και είμαι στο τερματικό ας το κάνω από εκεί:

udisksctl mount -b /dev/sda1

Το πλεονέκτημα αυτό του τρόπου είναι πως έχω γραμμένο το σημείο προσάρτησης για να το χρησιμοποιήσω:

Mounted /dev/sda1 at /media/asfodelus/C88B-783B

Μεταφορά του Windows Bootloader

Απλά αντιγράφω τα αρχεία.

sudo cp -r /media/asfodelus/C88B-783B/EFI/Microsoft /boot/efi/EFI

μαι απλή αντιγραφή. Και αυτό ήταν :slight_smile:

Αλλά αν δεν το έχουμε κάνει ήδη, θα πρέπει να κάνουμε μια απλή αλλαγή, όπως εξηγείται και εδώ. Να προσθέσουμε μια γραμμή στο τέλος του αρχείου /boot/efi/loader/loader.conf που να περιέχει το εξής timeout 4.

sudo echo  'timeout 4' >> /boot/efi/loader/loader.conf

Εγκατάσταση Linux και WIndows μαζί στον ίδιο δίσκο

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

Σήμερα τα πράγματα δυστυχώς δεν είναι τόσο απλά. Η κατάτμηση EFI των Windows είναι πολύ μικρή για να είναι χρήσιμη. Και για να μεγαλώσει θέλει χώρο κάτι που κάνει τη διαδικασία πολύπλοκη. Στο Google βρήκα κάποια εργαλεία Windows που λένε πως το κάνουν με λίγα κλικ, αλλά δεν τα έχω δοκιμάσει. Και για κάποιον ηλίθιο λόγο το ESP είναι η πρώτη κατάτμηση στον δίσκο κάτι που κάνει δύσκολη την αλλαγή μεγέθους του. Γιατί κανείς δεν το βάζει στο τέλος του δίσκου, όπου είναι ευκολότερο;

Θα αφήσω στην κοινότητα να μας πει πως έχει αντιμετωπίσει το πρόβλημα και να δώσει οδηγίες. Μια λύση είναι να εγκαταστήσεις πρώτα τη διανομή και να αφήσεις χώρο. Μετά εγκαθιστάς τα Windows στον ελεύθερο χώρο του δίσκου. Και αν δε βλέπεις επιλογή πρέπει να ξ αναστήσεις το grub ή το systemd-boot από το μέσο εγκατάστασης. Δυστυχώς, στην περίπτωση του Pop OS ο εγκατάστατης δε σου δίνει μια επιλογή για κρυπτογραφημένη εγκατάσταση σε ένα ποσοστό του δίσκου. Και θα πρέπει να τα φτιάξεις όλα με το χέρι, λες και τρέχεις κανένα Arch :arch:. Απαράδεκτον!

Για όλους αυτούς τους λόγους συνιστώ δυο διαφορετικούς δίσκους για τα 2 λειτουργικά. Και τι θα γίνει με ένα Laptop που δεν μπορεί να δεχτεί δεύτερο δίσκο κύριε; Χαίρομαι που ρωτάς αλλά χτύπησε το ρολόι για διάλειμα :grin:

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