Δείτε πώς να επιδιορθώσετε τον bootloader των Windows, σε έναν σύγχρονο υπολογιστή που χρησιμοποιεί UEFI αντί του κλασσικού BIOS, και ο δίσκος έχει σύστημα partition GPT αντί για MBR.

Δείτε πώς να επιδιορθώσετε τον bootloader των Windows, σε έναν σύγχρονο υπολογιστή που χρησιμοποιεί UEFI αντί του κλασσικού BIOS, και ο δίσκος έχει σύστημα partition GPT αντί για MBR.

Η καταστροφή του προγράμματος εκκίνησης των Windows μπορεί να συμβεί μετά την εγκατάσταση ενός δεύτερου λειτουργικού συστήματος (σε διαμορφώσεις Dual Boot), ή μετά από καταστροφή του συστήματος αρχείων, λανθασμένες ενέργειες κατά την ανάκτηση των Windows, αφαίρεση ορισμένων δεδομένων από κρυφά διαμερίσματα, κακόβουλο λογισμικό (ιούς, ransomware, κ.λπ.) και για κάποιους άλλους λόγους.
Εμείς το χάσαμε γιατί κατά την κλωνοποίηση ενός hdd δίσκου σε ένα νέο ssd δεν μας έκανε την χάρη να κρατήσει όλα τα δεδομένα!
Αν βρεθείτε σε παρόμοια θέση δείτε βήμα προς βήμα τι πρέπει να κάνετε για την επιδιόρθωση κατεστραμμένου ή διαγραμμένου προγράμματος εκκίνησης στα Windows 11/10/8.1 και Windows Server 2022/2019/2016/2012R2, σε υπολογιστές που τρέχουν σε λειτουργία UEFI.
Τα παρακάτω βήματα μπορείτε να τα χρησιμοποιήσετε τόσο για την επιδιόρθωση των δυαδικών αρχείων του bootloader των Windows όσο και για τη διαμόρφωση του bootloader \EFI\Microsoft\Boot\BCD, σε περιπτώσεις όπου τα Windows δεν εκκινούν λόγω διαγραφής του αρχείου διαμόρφωσης εκκίνησης BCD ή λόγω καταστροφής του.
Ένας υπολογιστής UEFI με εγκατεστημένα Windows σε native λειτουργία (δηλαδή όχι μέσω εξομοίωσης) δεν θα μπορεί να εκκινήσει εάν καταστραφεί το Windows EFI bootloader. Όταν προσπαθείτε να εκκινήσετε από έναν δίσκο με κατεστραμμένο ή με απουσία του EFI bootloader (EFI = Extensible Firmware Interface), εμφανίζεται το ακόλουθο σφάλμα BSOD (Μπλε οθόνη θανάτου):
The boot configuration data for your PC is missing or contains errors.
File :\EFI\Microsoft\Boot\BCD
Error code: 0xc000000f
ή:
Error code: 0xc000014c

Αυτό το σφάλμα υποδεικνύει ότι η διαμόρφωση του προγράμματος εκκίνησης των Windows (Boot Configuration Data = BCD) έχει καταστραφεί ή ακόμη και δεν υπάρχει καθόλου. Εάν προσπαθήσετε να επιδιορθώσετε το bootloader σε έναν υπολογιστή UEFI χρησιμοποιώντας ένα bcdedit εργαλείο, θα λάβετε ένα σφάλμα:
The boot configuration data store could not be found.
The requested system device cannot be found.
Εάν τα Windows 10/11 είναι εγκατεστημένα σε υπολογιστή με λειτουργία UEFI και σε δίσκο με σύστημα διαμερισματοποίησης GPT, τότε το Windows EFI bootloader (Windows Boot Manager) αποθηκεύει το boot manager (διαχείριση εκκίνησης) και το BCD configuration (διαμόρφωση BCD) σε ξεχωριστό κρυφό τόμο EFI (μέγεθος 100 MB σε σύστημα αρχείων FAT32).
Το εργαλείο bcdedit δεν βλέπει αυτό το διαμέρισμα EFI και δεν μπορεί να διαχειριστεί τη διαμόρφωση του bootloader σε αυτό.
Σημείωση: Το διαμέρισμα EFI σε ένα δίσκο αποτελεί μέρος της έκδοσης των Windows και επίσης μέρος άλλων λειτουργικών συστημάτων (OS), όπως το Linux και το macOS. Το EFI σημαίνει Extensible Firmware Interface.
Όπως αποκαλύπτει το όνομα, το EFI συνδέει το λειτουργικό σύστημα με το firmware (υλικολογισμικό) των στοιχείων υλικού σε έναν υπολογιστή. Όταν εκκινείται ένας υπολογιστής, το firmware UEFI φορτώνει αρχεία που είναι αποθηκευμένα στο EFI για να ξεκινήσει τα εγκατεστημένα λειτουργικά συστήματα και διάφορα βοηθητικά προγράμματα.
Εάν κατά την εκκίνηση του υπολογιστή σας εμφανίζεται μόνο μια μαύρη οθόνη με το μήνυμα “To λειτουργικό σύστημα δεν βρέθηκε” (An operating system wasn’t found), είναι πιθανό το bootloader των Windows να έχει αφαιρεθεί εντελώς. Όποια περίπτωση και να έχετε ακολουθήστε τις παρακάτω οδηγίες.
Η διαδικασία για την αυτόματη επισκευή του EFI bootloader από το περιβάλλον αποκατάστασης των Windows (WinRE = Windows Recovery Environment) είναι συνήθως άχρηστη σε τέτοιες περιπτώσεις. Αξίζει όμως να το δοκιμάσετε:

Δεν θέλουμε να σας απογοητεύσουμε αλλά πιθανότατα όμως το αποτέλεσμα να είναι αρνητικό, και να λάβετε το μήνυμα: Automatic Repair couldn’t repair your PC (Η αυτόματη επισκευή δεν μπόρεσε να επισκευάσει τον υπολογιστή σας)
Ας προχωρήσουμε στη διαδικασία για τη μη αυτόματη επισκευή του EFI bootloader των Windows σε έναν υπολογιστή UEFI.
Για να επιδιορθώσετε τη διαμόρφωση του bootloader (BCD), πρέπει να κάνετε εκκίνηση από το αρχικό μέσο εγκατάστασης των Windows (επίσης, μπορείτε να χρησιμοποιήσετε έναν δίσκο αποκατάστασης ή μια ειδική μονάδα flash USB με δυνατότητα εκκίνησης UEFI). Μετά την εκκίνηση στο περιβάλλον ανάκτησης, πρέπει να ανοίξετε μια κονσόλα Γραμμής Εντολών. Για αυτό επιλέξτε κατά σειρά: System Restore – > Troubleshoot-> Command Prompt (ή στα Ελληνικά Γραμμή Εντολών).
Μπορείτε να εκτελέσετε τη γραμμή εντολών ακόμα κι αν έχετε μόνο ένα Windows installation media. Για να το κάνετε αυτό, αρκεί να πατήσετε τον συνδυασμό πλήκτρων Shift + F10 (ή Shift + Fn + F10, σε ορισμένα μοντέλα φορητών υπολογιστών) στην πρώτη οθόνη εγκατάστασης των Windows (κατά την επιλογή γλώσσας και διάταξης πληκτρολογίου).
![[scm]actwin,0,0,0,0;desktop 12/4/2013 , 11:23:23 am](https://iguru.gr/wp-content/uploads/2022/06/boot-option-command-prompt.jpg)
Στη γραμμή εντολών που θα ανοίξει, εκτελέστε το εργαλείο διαχείρισης δίσκου:
diskpart
Και κάντε εμφάνιση της λίστας των μονάδων δίσκου στον υπολογιστή:
list disk
Προσοχή:____________________________________________________
Σε αυτό το στάδιο, είναι πολύ σημαντικό να προσδιορίσετε τον τύπο του πίνακα διαμερισμάτων στο δίσκο στον οποίο είναι εγκατεστημένα τα Windows σας: MBR ή GPT. Το θέμα είναι ότι το EFI bootloader χρησιμοποιείται μόνο σε δίσκους με σύστημα διαμερισματοποίησης GPT.
Εάν υπάρχει ένα αστερίσκος ( *) στη στήλη Gpt, τότε στον δίσκο σας χρησιμοποιείται ο πίνακας διαμερισμάτων GPT. Εάν όχι, χρησιμοποιείται το MBR.

Εάν ο δίσκος σας χρησιμοποιεί πίνακα διαμερισμάτων GPT, ακολουθήστε τα παρακάτω βήματα για να επιδιορθώσετε το πρόγραμμα εκκίνησης EFI των Windows.
Εάν έχετε έναν πίνακα διαμερισμάτων MBR στο δίσκο σας, αυτός ο οδηγός δεν θα λειτουργήσει για τον υπολογιστή σας!. Πιθανότατα έχετε υπολογιστή με BIOS ή Λειτουργία υποστήριξης παλαιού τύπου/συμβατότητας (Legacy/Compatibility Support Mode (CSM)) στις ρυθμίσεις UEFI.
Σε δίσκους MBR, ο φορτωτής εκκίνησης των Windows αποθηκεύεται σε ξεχωριστό διαμέρισμα System Reserved , και όχι στο διαμέρισμα EFI (σε καμία περίπτωση, μην μετατρέψετε τον πίνακα διαμερισμάτων MBR σε GPT μέχρι να διορθώσετε το πρόγραμμα εκκίνησης των Windows !!).
Σε αυτή την περίπτωση χρησιμοποιήστε κάποιον άλλο οδηγό για να επαναφέρετε το πρόγραμμα εκκίνησης BCD σε έναν υπολογιστή BIOS με δίσκο MBR (Master Boot Record).
Συνεχίζουμε. Επιλέξτε τη μονάδα στην οποία είναι εγκατεστημένα τα Windows σας (εάν υπάρχει μόνο ένας σκληρός δίσκος στο σύστημα, ο δείκτης του πρέπει να είναι το 0):
sel disk 0
Εμφανίστε τη λίστα με τα διαμερίσματα και τους τόμους σε αυτόν τον δίσκο, με την εντολή
list partition
Δείτε τους τόμους με το:
list volume

Σε αυτό το παράδειγμα, μπορείτε να δείτε ότι το διαμέρισμα εκκίνησης EFI (boot partition) έχει τον δείκτη partition 2 (αλλά τον βλέπετε και ως Τόμος 5 -Volume 5- με την ετικέτα Hidden). Ο ευκολότερος τρόπος για να καταλάβετε το EFI partition είναι το σύστημα αρχείων FAT32 και το μέγεθος του 100 MB (αυτό είναι το τυπικό ελάχιστο μέγεθος του διαμερίσματος EFI για υπολογιστές με Windows. Σε σπάνιες περιπτώσεις, το μέγεθος του διαμερίσματος μπορεί να διαφέρει). Η πιο συχνά χρησιμοποιούμενη ετικέτα για αυτό είναι System EFI ή ESP/EFI System Partition.
Στο παράδειγμά μας, το κύριο διαμέρισμα στο οποίο είναι εγκατεστημένα τα Windows έχει ευρετήριο τόμου 2, έχει μορφοποιηθεί στο σύστημα αρχείων NTFS και του έχει εκχωρηθεί το γράμμα μονάδας δίσκου C:.
Εκτελέστε την εντολή: dir C:\ για να βεβαιωθείτε ότι αυτή η μονάδα δίσκου περιέχει τους καταλόγους Windows, Program Files, Users και τους υπόλοιπους γνωστούς καταλόγους των Windows.

Εάν λείπουν αυτοί οι κατάλογοι, τότε η μονάδα δίσκου των Windows έχει διαφορετικό γράμμα μονάδας δίσκου. Ελέγξτε τα περιεχόμενα των υπολοίπων μονάδων δίσκου με αντιστοιχισμένα διαφορετικά γράμματα μονάδας δίσκου για να το βρείτε.
Καταγράψτε το γράμμα μονάδας δίσκου που έχει εκχωρηθεί στο διαμέρισμα των Windows. Θα το χρησιμοποιήσετε ως ένα από τα ορίσματα της εντολής bcdboot λίγο αργότερα.
Ο πίνακας διαμερισμάτων πρέπει επίσης να περιέχει ένα διαμέρισμα MSR (Microsoft System Reserved) 16 MB στα Windows 10/11 (ή 128 MB στα Windows 8.1).

Εάν δεν έχετε ξεχωριστό διαμέρισμα EFI ή MSR, μπορείτε να τα δημιουργήσετε ξανά με μη αυτόματο τρόπο. Αν υπάρχουν, και απλά τα περιεχόμενα τους είναι κατεστραμμένα ή είναι άδεια συνεχίστε τις οδηγίες μας.
Αντιστοιχίστε το γράμμα μονάδας δίσκου K: στον κρυφό τόμο EFI (το Κ είναι τυχαίο, απλά βάλτε ένα γράμμα που δεν έχει ακόμα εκχωρηθεί):
select volume 5
assign letter K:
Θα πρέπει να εμφανιστεί ένα μήνυμα ότι το γράμμα μονάδας δίσκου έχει εκχωρηθεί με επιτυχία στο διαμέρισμα EFI:
DiskPart is successfully assigned the drive letter or mount point.
Κλείστε το diskpart:
exit
Μεταβείτε στον κατάλογο του bootloader στον κρυφό τόμο:
cd /d K:\efi\microsoft\boot\
Σε αυτήν την περίπτωση, το K: είναι το γράμμα μονάδας δίσκου που έχει εκχωρηθεί στο διαμέρισμα EFI ακριβώς πιο πάνω. Εάν ο κατάλογος \EFI\Microsoft\Boot\ λείπει (error The system cannot find the path specified), δοκιμάστε τις ακόλουθες εντολές:
cd /d K:\Boot\
ή
cd /d K:\ESD\Windows\EFI\Microsoft\Boot\
————————————————————————————————
Σε αυτό το σημείο, πολλοί οδηγοί συνιστούν την εκτέλεση των ακόλουθων εντολών, οι οποίες θα πρέπει να αντικαταστήσουν την εγγραφή εκκίνησης του διαμερίσματος, να βρουν τα εγκατεστημένα Windows και να τα προσθέσουν στο BCD:
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
ή ακόμη:
bootrec /FixMbr
(η προετοιμασία εγγραφής MBR για έναν δίσκο GPT φαίνεται περίεργη ενέργεια)
Μπορείτε να χρησιμοποιήσετε όλες αυτές τις εντολές μόνο για δίσκους που βασίζονται σε MBR. Εάν ο υπολογιστής σας εκκινεί σε λειτουργία UEFI, τότε σίγουρα χρησιμοποιεί τον πίνακα διαμερισμάτων GPT (όπως στην περίπτωσή μας). Επομένως, όταν εκτελείτε bootrec εντολές, θα δείτε το σφάλμα: “access is denied”
————————————————————————————————
Πρέπει να χρησιμοποιήσετε το εργαλείο BCDBoot.exe για να επαναφέρετε τα αρχεία του bootloader και να διορθώσετε τις εγγραφές εκκίνησης στο διαμέρισμα EFI, αντιγράφοντάς τες από τον κατάλογο συστήματος στο διαμέρισμα των Windows.
Η διαμόρφωση του bootloader BCD δημιουργείται ξανά χρησιμοποιώντας το αρχείο: %WINDIR%\System32\Config\BCD-Template.
Χρησιμοποιήστε την εντολή attrib για να αφαιρέσετε τα κρυφά, μόνο για ανάγνωση, χαρακτηριστικά συστήματος από το αρχείο BCD:
attrib BCD -s -h -r
Διαγράψτε το τρέχον αρχείο διαμόρφωσης BCD μετονομάζοντάς το (αυτό θα διατηρήσει την παλιά διαμόρφωση εκκίνησης ως αντίγραφο ασφαλείας): ren BCD BCD.bak
Χρησιμοποιώντας το εργαλείο bcdboot, πρέπει να αντιγράψετε τα κρίσιμα αρχεία του περιβάλλοντος εκκίνησης UEFI από τον κατάλογο συστήματος στο διαμέρισμα εκκίνησης EFI και να δημιουργήσετε ξανά το αρχείο διαμόρφωσης του bootloader BCD:
bcdboot C:\Windows /l en-us /s k: /f ALL
Υπόδειξη. Εάν χρησιμοποιείτε μια τοπική έκδοση των Windows 10/11, η εντολή θα είναι διαφορετική. Για παράδειγμα, στην έκδοση των Windows για την Ελλάδα χρησιμοποιήστε την ακόλουθη εντολή:
bcdboot c:\Windows /l el-GR /s K: /f ALL
Για το Ηνωμένο Βασίλειο:
bcdboot c:\Windows /l en-GB /s K: /f ALL
Windows 10 Ολλανδικά:
bcdboot c:\Windows /l nl-NL /s K: /f ALL
Windows 10 Γερμανικά:
bcdboot c:\Windows /l de-DE /s K: /f ALL
Μια πλήρης λίστα ετικετών γλώσσας/περιοχής για Windows είναι διαθέσιμη εδώ:
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/available-language-packs-for-windows?view=windows-11
Τώρα, αν εκτελέσετε την bcdedit εντολή, θα δείτε τα εξής:
Θα πρέπει να εμφανιστεί μια καταχώριση στην ενότητα του Windows Boot Manager που περιέχει την πλήρη διαδρομή προς το αρχείο εκκίνησης UEFI (\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI).
Σε αυτό το παράδειγμα, βρίσκεται στον τόμο 5 (partition=\Device\HarddiskVolume5).

Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume5
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale en-US
inherit {globalsettings}
bootshutdowndisabled Yes
default {CURRENT}
resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
displayorder {default}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.efi
description Windows 10
locale en-US
inherit {bootloadersettings}
recoverysequence {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}Η ενότητα Windows Boot Manager πρέπει να περιέχει τη διαδρομή προς το διαμέρισμα EFI ( =\Device\HarddiskVolume5) και τη διαδρομή προς το αρχείο διαχείρισης εκκίνησης (bootmgfw.efi).
Η ενότητα Windows Boot Loader περιέχει τις πληροφορίες διαμερίσματος των Windows και τη διαδρομή προς τo Windows EFI bootloader (\Windows\system32\winload.efi). Όταν το ενεργοποιήσετε, ο υπολογιστής σας θα περάσει τον έλεγχο στον Windows EFI bootloader, ο οποίος θα ξεκινήσει το πρόγραμμα εκκίνησης των Windows.
Πιθανά σφάλματα:
sfc /scanow /OFFBOOTDIR=C:\ /OFFWINDIR=D:\WINDOWSHKDSK K: /F
Τώρα πρέπει να επανεκκινήσετε τον υπολογιστή σας και να αποσυνδέσετε το μέσο εκκίνησης. Εάν τα κάνατε όλα σωστά, ο Windows Boot Manager (Διαχειριστής εκκίνησης των Windows) θα πρέπει να εμφανίζεται στη λίστα των συσκευών με δυνατότητα εκκίνησης, όπου μπορείτε να επιλέξετε το επιθυμητό λειτουργικό σύστημα για εκκίνηση. Το EFI bootloader και οι ρυθμίσεις παραμέτρων BCD θaα έχουν αποκατασταθεί με επιτυχία!
Σε ορισμένες περιπτώσεις, μετά την επιδιόρθωση του προγράμματος εκκίνησης BCD, κατά την εκκίνηση των Windows, εμφανίζεται ένα σφάλμα BAD SYSTEM CONFIG INFO. Για να διορθώσετε το σφάλμα:
Βεβαιωθείτε ότι δεν έχετε κάνει πρόσφατες αλλαγές στις ρυθμίσεις UEFI. Αναίρεση όλων των αλλαγών.
Εκκινήστε τον υπολογιστή σας από τη μονάδα flash εγκατάστασης/εκκίνησης και αλλάξτε τη διαμόρφωση του bootloader με τις εντολές:
bcdedit /deletevalue {default} numprocbcdedit /deletevalue {default} truncatememoryΕπίσης, υπάρχει περίπτωση να μην σας δώσει την επιλογή να επιλέγετε το λειτουργικό σύστημα εκκίνησης της αρεσκείας σας (dual boot), ούτε καν το partition με τα recovery Windows. Σε αυτή την περίπτωση θα πρέπει:
Αυτή την περίπτωση θα την περιγράψουμε αναλυτικότερα σε άλλο άρθρο.
Καλή επιτυχία!