आधुनिक Windows संस्करणों में बूट मैनेजर ऑपरेटिंग सिस्टम को कंप्यूटर पर स्थापित बूट करने के लिए BCD (बूट कॉन्फ़िगरेशन डेटा) फ़ाइल का उपयोग करता है। इस फ़ाइल में इंस्टॉल किए गए OS और बूट पैरामीटर्स के बारे में जानकारी होती है। यदि BCD फ़ाइल हटा दी गई है या क्षतिग्रस्त है, तो Windows सामान्य रूप से बूट नहीं हो सकता। साथ ही, यदि हार्ड डिस्क पर मास्टर बूट रिकॉर्ड (MBR) क्षतिग्रस्त है, तो आप अपना Windows बूट नहीं कर पाएंगे। इस लेख में, हम दिखाएंगे कि Windows 10 और 11 पर Windows बूट मैनेजर, BCD कॉन्फ़िगरेशन फ़ाइल को सही ढंग से कैसे पुनर्निर्माण करें, और MBR को ठीक करें।
Windows 10 या 11 में बूट कॉन्फ़िगरेशन डेटा फ़ाइल गुम है
यदि BCD फ़ाइल गुम या क्षतिग्रस्त है, यदि आपने System Reserved लेबल वाले अलग डिस्क पार्टीशन (और 500 MB आकार में) या एक विशेष OEM रिकवरी पार्टीशन को हटा/फॉर्मेट किया है, तो उपयोगकर्ता को Windows बूट करने का प्रयास करते समय निम्न संदेश दिखाई दे सकता है:
Your PC needs to be repaired The Boot Configuration Data file is missing some required information File: \Boot\BCD Error code: 0xc0000034
यह त्रुटि इस तरह भी दिख सकती है:
The Boot Configuration Data for your PC is missing or contains errors. File: \boot\bcd Error Code: 0xc000000f
यदि MBR क्षतिग्रस्त है, तो "An operating system wasn't found" त्रुटि हो सकती है।
यदि त्रुटि टेक्स्ट winload.efi फ़ाइल को संदर्भित करता है, तो लेख "Winload.efi is missing in Windows 10" पर जाएं।
Windows बूटलोडर को स्वचालित रूप से कैसे मरम्मत करें?
यदि यह त्रुटि दिखाई देती है, तो सबसे पहले, Windows रिकवरी एनवायरनमेंट (Windows RE) से शुरू किए जा सकने वाले स्टार्टअप मरम्मत मोड का उपयोग करके OS बूटिंग की समस्या को ठीक करने का प्रयास करें।
सुझाव: WinRE एनवायरनमेंट के स्वास्थ्य को समय-समय पर जांचना उचित है, और यदि यह काम नहीं करता है, तो इसे सुधारने के लिए लेख "Windows में WinRE को कैसे पुनर्प्राप्त करें" में वर्णित विधि का उपयोग करें।
यदि स्टार्टअप मरम्मत का उपयोग करके स्वचालित मरम्मत मदद नहीं करती है, तो अपने कंप्यूटर को Windows बूट/इंस्टॉलेशन डिस्क से या WinRE एनवायरनमेंट में बूट करें (अपने कंप्यूटर की मरम्मत करें -> समस्या निवारण -> उन्नत विकल्प -> कमांड प्रॉम्प्ट)। कमांड प्रॉम्प्ट शुरू करें, एक नई BCD फ़ाइल बनाने का प्रयास करें, और MBR रिकॉर्ड को स्क्रैच से अपडेट करें।
इस उदाहरण में, मैं Windows 10 इंस्टॉलेशन डिस्क का उपयोग करूंगा। BIOS सेटिंग्स में प्राथमिक बूट डिवाइस को DVD ड्राइव या Windows सेटअप फ़ाइलों वाले USB फ्लैश ड्राइव पर बदलें (इस पर निर्भर करता है कि आप किस डिवाइस से कंप्यूटर बूट करना चाहते हैं)। Windows इंस्टॉल छवि से अपने कंप्यूटर को बूट करें और भाषा चयन स्क्रीन पर Shift + F10 दबाएं। आपको एक कमांड प्रॉम्प्ट दिखाई देगा।
निम्न कमांड का उपयोग करके BCD फ़ाइल को स्वचालित रूप से मरम्मत करने का प्रयास करें:
bootrec /RebuildBCD
अपने कंप्यूटर को रीबूट करें और जांचें कि Windows बूट होता है या नहीं (BIOS सेटिंग्स में बूट डिवाइस प्राथमिकता बदलना न भूलें)। यदि Windows बूट नहीं करता है, तो इंस्टॉलेशन मीडिया से फिर से बूट करें और कमांड प्रॉम्प्ट खोलें।
डिस्क पार्टीशन लेआउट और ड्राइव अक्षरों की पहचान
बहुत महत्वपूर्ण: नीचे दिए गए सभी निर्देश मानक BIOS कंप्यूटर्स (या UEFI लिगेसी मोड में बूटिंग) के लिए उपयुक्त हैं जिनमें MBR पार्टीशन टेबल है। UEFI फर्मवेयर वाले कंप्यूटर्स पर, आपको Windows 10 पर EFI बूटलोडर की मरम्मत के लिए या हटाए गए EFI पार्टीशन को पुनर्स्थापित करने के लिए निम्न गाइड का उपयोग करने की आवश्यकता है।
कैसे समझें कि आपके पास BIOS या UEFI वाला कंप्यूटर है? सबसे आसान तरीका यह जांचना है कि Windows जिस डिस्क पर स्थापित है, उस पर पार्टीशन टेबल GPT या MBR है। ऐसा करने के लिए, कमांड चलाएं:
diskpart
फिर उपलब्ध डिस्क सूचीबद्ध करें:
list disk
- यदि डिस्क के Gpt कॉलम में एस्टेरिस्क (
*) है, तो इस डिस्क पर GPT पार्टीशन टेबल उपयोग की जाती है। इसका मतलब है कि आपके पास UEFI वाला कंप्यूटर है, और Windows बूटलोडर को पुनर्स्थापित करने के लिए, आपको ऊपर दिए गए लिंक से लेख का उपयोग करने की आवश्यकता है; - यदि GPT कॉलम में कोई एस्टेरिस्क नहीं है, तो डिस्क पर MBR पार्टीशन टेबल है, और आप इस गाइड का पालना जारी रख सकते हैं।
इसके बाद, आपको अपने कंप्यूटर पर स्थानीय ड्राइव और वॉल्यूम की पहचान करने की आवश्यकता है (सबसे अधिक संभावना है कि उन्हें असाइन किए गए ड्राइव अक्षर उनसे अलग होंगे जो आप Windows में काम करते समय देखते हैं)। इसे diskpart का उपयोग करके करना आसान है। ये कमांड चलाएं:
diskpart
list vol
आप पार्टीशन की सूची, उन्हें असाइन किए गए ड्राइव अक्षर, और उनके आकार देखेंगे। हमारे मामले में, कंप्यूटर पर एक हार्ड ड्राइव है जिस पर दो वॉल्यूम हैं:
- System Reserved पार्टीशन 500 MB आकार का और ड्राइव अक्षर C: असाइन किया गया। डिफ़ॉल्ट रूप से, Windows बूट मैनेजर और BCD फ़ाइल इस छोटे सर्विस पार्टीशन पर स्थित हैं (अधिक पढ़ें);
- NTFS पार्टीशन 39 GB आकार का और अक्षर D: असाइन किया गया। इस पार्टीशन में इंस्टॉल किया गया Windows, प्रोग्राम्स, और उपयोगकर्ता डेटा है।
महत्वपूर्ण: असाइन किए गए ड्राइव अक्षरों को याद रखें, क्योंकि उनका उपयोग बाद के कमांड्स में किया जाएगा।
Windows 10/11 पर मास्टर बूट रिकॉर्ड (MBR) की मरम्मत करें
आप bootrec.exe टूल का उपयोग करके MBR और बूट सेक्टर में डेटा को ओवरराइट कर सकते हैं, और Windows बूट मैनेजर के लिए आवश्यक पथ जोड़ सकते हैं।
सिस्टम पार्टीशन के मास्टर बूट रिकॉर्ड (MBR) को Windows बूट लोडर के साथ संगतता के लिए ओवरराइट करने का प्रयास करें (मौजूदा पार्टीशन टेबल ओवरराइट नहीं होती है)।
bootrec.exe /fixmbr
बूट सेक्टर में बूटमैनेजर (bootmgr) फ़ाइल लोड करने के लिए कोड जोड़ें:
bootsect.exe /nt60 all /force
यदि bootsect.exe कमांड नहीं मिलती है, तो इसका पूर्ण पथ निर्दिष्ट करने का प्रयास करें:
X:\boot\bootsect.exe /nt60 all /force
आगे बढ़ने से पहले, निम्न कमांड्स का उपयोग करके BCD बूटलोडर कॉन्फ़िगरेशन को स्वचालित रूप से पुनर्निर्माण करने का प्रयास करें (यह शुरुआती लोगों के लिए सबसे आसान तरीका है):
bootrec /FixBoot– कमांड सिस्टम पार्टीशन पर एक नया बूट सेक्टर बनाता है और PBR पार्टीशन के बूट रिकॉर्ड को ओवरराइट करता है।bootrec /ScanOs– सभी ड्राइव्स को स्कैन करता है और इंस्टॉल किए गए Windows की प्रतियों को ढूंढता है जो बूट कॉन्फ़िगरेशन स्टोर में नहीं हैं यदि स्कैन सफल होता है, तो आपको पाए गए Windows इंस्टेंस के बारे में प्रविष्टियों को BCD कॉन्फ़िगरेशन में जोड़ने के लिए प्रेरित किया जाएगा:Scanning all disks for Windows installations. Please wait, since this may take a while... Successfully scanned Windows installations. Total identified Windows installations: 1 [1] D:\Windows Add installation to boot list? Yes/No/All:bootrec /RebuildBcd– बूटलोडर कॉन्फ़िगरेशन स्टोर को पुनर्स्थापित करें, कंप्यूटर पर पाए गए Windows की प्रतियों को BCD बूटलोडर में जोड़ें।उसके बाद, अपने कंप्यूटर को पुनरारंभ करें और जांचें कि Windows ठीक से बूट होता है या नहीं। यदि OS बूट नहीं करता है, तो नीचे दिए गए निर्देशों का पालन करें।
स्क्रैच से Windows बूट कॉन्फ़िगरेशन (BCD) कैसे पुनर्स्थापित करें?
अगला, एक नई बूट कॉन्फ़िगरेशन डेटा फ़ाइल बनाने के लिए BCDedit कमांड का उपयोग करें (माना जाता है, आपके पास BCD बैकअप फ़ाइल नहीं है)।
आपके अगले चरण इस बात पर निर्भर करते हैं कि डिस्क पर अलग System Reserved पार्टीशन है या नहीं। कमांड चलाएं:
diskpart list volजांचें कि हार्ड डिस्क पर System Reserved पार्टीशन है या नहीं। इसकी पहचान इसके वॉल्यूम लेबल द्वारा की जा सकती है, या अधिक सटीक रूप से इसके आकार द्वारा (Windows 10+ के लिए 500 MB, Windows 8.1 के लिए 350 MB, और Windows 7 के लिए 100 MB)।
- यदि कोई सिस्टम रिज़र्व्ड पार्टीशन नहीं है (शायद आपने इसे गलती से हटा दिया), तो आप बूट मैनेजर फ़ाइलों को सिस्टम ड्राइव पर स्टोर कर सकते हैं जहां Windows निर्देशिका स्थित है। निर्दिष्ट ड्राइव पर Bootmgr और BCD बूटलोडर कॉन्फ़िगरेशन फ़ाइलें बनाने के लिए, कमांड चलाएं:
एक संदेश दिखाई देना चाहिए:bcdboot C:\Windows /S C:Boot files successfully created.
- यदि आपके पास System Reserved पार्टीशन है, तो पुरानी (क्षतिग्रस्त) BCD फ़ाइल हटाएं और उसके बजाय एक नई बनाएं:
del c:\boot\bcd
यदि ड्राइव अक्षर System Reserved पार्टीशन को असाइन नहीं किया गया है (डिफ़ॉल्ट रूप से), तो आप इसे स्वयं diskpart का उपयोग करके असाइन कर सकते हैं। चलाएं: diskpart
अपना स्थानीय डिस्क चुनें (मेरे मामले में, केवल एक हार्ड डिस्क कनेक्ट है, लेकिन आप list disk कमांड के साथ स्थानीय डिस्क सूचीबद्ध कर सकते हैं): select disk 0
ऊपर दिए गए स्क्रीनशॉट से पता चलता है कि System Reserved पार्टीशन को Volume 1 कहा जाता है। इसे चुनें: select volume 1
एक ड्राइव अक्षर असाइन करें (मैंने ड्राइव अक्षर C: असाइन किया है, लेकिन आप किसी अन्य अक्षर का उपयोग कर सकते हैं, इस मामले में, निम्न कमांड्स में पथ बदलें): assign letter C:
exit
एक खाली अस्थायी फ़ाइल bcd.tmp बनाएं:
bcdedit /createstore c:\boot\bcd.tmp
Windows बूट मैनेजर (bootmgr) के लिए एक प्रविष्टि बनाएं:
bcdedit.exe /store c:\boot\bcd.tmp /create {bootmgr} /d "Windows Boot Manager"
bcd.tmp से सेटिंग्स को अपने BCD में आयात करें:
bcdedit.exe /import c:\boot\bcd.tmp
यदि bcdedit कमांड BCD फ़ाइल तक पहुंचते समय त्रुटि लौटाती है (access denied, the store import operation has failed, the required system device cannot be found, the volume does not contain a recognized file system. please make sure that all required file system drivers are loaded and that the volume is not corrupted), तो इससे छिपे हुए, रीड-ओनली, और सिस्टम विशेषताओं को हटाने का प्रयास करें:
attrib C:\Boot\BCD -s -h -r
निर्दिष्ट करें कि Windows बूट मैनेजर System Reserved पार्टीशन पर स्थित है (ड्राइव अक्षर C: इसे असाइन किया गया है):
bcdedit.exe /set {bootmgr} device partition=c:
OS चुनने के लिए टाइमआउट कॉन्फ़िगर करें:
bcdedit.exe /timeout 10
अस्थायी फ़ाइल हटाएं:
del c:\boot\bcd.tmp
तो, आपने बूटलोडर सेटिंग्स के साथ एक खाली BCD फ़ाइल बनाई है। अब आपको इंस्टॉल किए गए Windows के बारे में प्रविष्टियाँ जोड़नी होंगी।
Windows 10 के लिए BCD कॉन्फ़िगरेशन में एक नई प्रविष्टि बनाएं:
bcdedit.exe /create /d "Windows 10" /application osloader
कमांड इस बूटलोडर प्रविष्टि का अद्वितीय पहचानकर्ता (GUID) लौटाएगी।
The entry {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} was successfully created.
निर्दिष्ट करें कि बूटमैनेजर को इस प्रविष्टि का उपयोग डिफ़ॉल्ट रूप से करना चाहिए (टाइमआउट के बाद, इस प्रविष्टि का उपयोग Windows बूट करने के लिए किया जाएगा):
bcdedit /default {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs}
अब आपको नई बूटलोडर प्रविष्टि में इंस्टॉल किए गए Windows 10 की प्रतिलिपि के पथ निर्दिष्ट करने होंगे। हमने पहले पता लगाया था कि WinPE में Windows पार्टीशन को ड्राइव अक्षर D: असाइन किया गया है। निम्न कमांड्स में इस ड्राइव अक्षर का उपयोग करें:
bcdedit.exe /set {default}device partition=d:
bcdedit.exe /set {default} osdevice partition=d:
bcdedit.exe /set {default} path \Windows\system32\winload.exe
bcdedit.exe /set {default} systemroot \Windows
BCD में इस बूट प्रविष्टि को दृश्यमान बनाएं, क्योंकि यह डिफ़ॉल्ट रूप से छिपी हुई है:
bcdedit.exe /displayorder {default} /addlast
तो हमने Windows 10 बूटलोडर (bootmgr) और BCD फ़ाइल को पूरी तरह से पुनर्स्थापित किया है और MBR बूट सेक्टर को ओवरराइट किया है।
अब आपको उस पार्टीशन को सक्रिय करने की आवश्यकता है जिस पर बूटमैनेजर और BCD फ़ाइल Windows बूटलोडर कॉन्फ़िगरेशन के साथ स्थित हैं (BIOS सक्रिय MBR पार्टीशन पर OS बूटलोडर को नियंत्रण स्थानांतरित करता है)। उदाहरण के लिए, आपके कंप्यूटर पर निम्न पार्टीशन उपलब्ध हैं:
- Volume 0 – इंस्टॉलेशन फ्लैश ड्राइव (ISO छवि) जिससे आपने कंप्यूटर बूट किया;
- Volume 1 – System Reserved पार्टीशन (500 MB आकार) जिसमें Windows बूटमैनेजर और BCD फ़ाइल है;
- Volume 2 – Windows सिस्टम फ़ोल्डर्स (%Windir%, Program Files, Users, आदि) वाला पार्टीशन
इस उदाहरण में, आपको Volume 1 को सक्रिय पार्टीशन बनाने की आवश्यकता है (आपके मामले में, आपको अपना पार्टीशन नंबर ढूंढना होगा)। आप diskpart का उपयोग करके पार्टीशन को सक्रिय कर सकते हैं:
diskpart
list disk
sel disk 0
list vol
select volume 1 (bootmgr और \Boot\BCD इस पार्टीशन पर होने चाहिए)
active
exit
जांचें कि वॉल्यूम 1 अब सक्रिय है:
select vol 1
detail partition
(Active: Yes )
अब आप अपने कंप्यूटर को पुनरारंभ कर सकते हैं और सुनिश्चित कर सकते हैं कि Windows सामान्य रूप से बूट होता है।