আধুনিক উইন্ডোজ সংস্করণের বুট ম্যানেজার অপারেটিং সিস্টেম বুট করার জন্য BCD (Boot Configuration Data) ফাইল ব্যবহার করে। এই ফাইলে ইনস্টল করা OS এবং বুট প্যারামিটার সম্পর্কে তথ্য থাকে। BCD ফাইল ডিলিট বা করপ্ট হলে উইন্ডোজ স্বাভাবিকভাবে বুট করতে পারবে না। এছাড়া, হার্ড ডিস্কের মাস্টার বুট রেকর্ড (MBR) ক্ষতিগ্রস্ত হলে আপনি উইন্ডোজ বুট করতে পারবেন না। এই নিবন্ধে, আমরা দেখাব কিভাবে সঠিকভাবে উইন্ডোজ বুট ম্যানেজার, BCD কনফিগারেশন ফাইল, এবং উইন্ডোজ ১০ ও ১১-এ MBR ফিক্স করতে হয়।
উইন্ডোজ ১০ বা ১১-এ বুট কনফিগারেশন ডেটা ফাইল অনুপস্থিত
যদি BCD ফাইল অনুপস্থিত বা করপ্ট হয়, আপনি যদি System Reserved লেবেলযুক্ত (এবং ৫০০ MB আকারের) আলাদা ডিস্ক পার্টিশন বা স্পেশাল OEM রিকভারি পার্টিশন রিমুভ/ফরম্যাট করেন, তবে ব্যবহারকারী উইন্ডোজ বুট করার চেষ্টা করলে নিচের মেসেজ দেখতে পাবে:
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 RE) থেকে Startup Repair mode চালু করে OS বুট সমস্যা ফিক্স করার চেষ্টা করুন।
টিপ। WinRE এনভায়রনমেন্টের স্বাস্থ্য পর্যায়ক্রমে চেক করা উচিত, এবং যদি এটি কাজ না করে, তবে “How to Recover WinRE in Windows” নিবন্ধে বর্ণিত পদ্ধতি ব্যবহার করে রিপেয়ার করুন।
যদি Startup Repair ব্যবহার করে স্বয়ংক্রিয় রিপেয়ার কাজ না করে, তবে উইন্ডোজ বুট/ইনস্টলেশন ডিস্ক থেকে বা WinRE এনভায়রনমেন্টে (Repair your computer -> Troubleshoot -> Advanced options -> Command Prompt) বুট করুন। কমান্ড প্রম্পট শুরু করুন, নতুন BCD ফাইল তৈরি করার চেষ্টা করুন, এবং MBR রেকর্ড স্ক্র্যাচ থেকে আপডেট করুন।
এই উদাহরণে, আমি উইন্ডোজ ১০ ইনস্টলেশন ডিস্ক ব্যবহার করছি। BIOS সেটিংসে প্রাইমারি বুট ডিভাইস DVD ড্রাইভ বা উইন্ডোজ সেটআপ ফাইলসহ USB ফ্ল্যাশ ড্রাইভ-এ পরিবর্তন করুন (আপনি কোন ডিভাইস থেকে কম্পিউটার বুট করতে চান তার উপর নির্ভর করে)। উইন্ডোজ ইনস্টল ইমেজ থেকে কম্পিউটার বুট করুন এবং ভাষা সিলেকশন স্ক্রিনে Shift + F10 চাপুন। আপনি কমান্ড প্রম্পট দেখবেন।
BCD ফাইল স্বয়ংক্রিয়ভাবে রিপেয়ার করার চেষ্টা এই কমান্ড দিয়ে করুন:
bootrec /RebuildBCD
আপনার কম্পিউটার রিবুট করুন এবং চেক করুন উইন্ডোজ বুট হচ্ছে কিনা (BIOS সেটিংসে বুট ডিভাইস প্রায়রিটি পরিবর্তন করা ভুলবেন না)। যদি উইন্ডোজ বুট না করে, ইনস্টলেশন মিডিয়া থেকে আবার বুট করুন এবং কমান্ড প্রম্পট খুলুন।
ডিস্ক পার্টিশন লেআউট এবং ড্রাইভ লেটার শনাক্ত করা
খুব গুরুত্বপূর্ণ। নিচে দেওয়া সব নির্দেশনা স্ট্যান্ডার্ড BIOS কম্পিউটার (বা UEFI লিগেসি মোডে বুট) যাদের MBR পার্টিশন টেবিল আছে, সেগুলোর জন্য প্রযোজ্য। UEFI ফার্মওয়্যারযুক্ত কম্পিউটারে, উইন্ডোজ ১০-এ EFI বুটলোডার রিপেয়ার করা বা ডিলিট করা EFI পার্টিশন রিস্টোর করার গাইড অনুসরণ করতে হবে।
আপনার কম্পিউটার BIOS নাকি UEFI সেটা কিভাবে বুঝবেন? সবচেয়ে সহজ উপায় হলো উইন্ডোজ ইনস্টল করা ডিস্কের পার্টিশন টেবিল চেক করা: GPT বা MBR। এজন্য কমান্ড চালান:
diskpart
তারপর উপলব্ধ ডিস্ক তালিকা দেখান:
list disk
- যদি কোনো ডিস্কের Gpt কলামে এস্টেরিস্ক (
*) থাকে, তবে সেই ডিস্কে GPT পার্টিশন টেবিল ব্যবহার করা হয়েছে। এর মানে আপনার কম্পিউটার UEFI-যুক্ত, এবং উইন্ডোজ বুটলোডার রিস্টোর করার জন্য উপরের লিংকের নিবন্ধটি ফলো করতে হবে; - যদি GPT কলামে কোনো এস্টেরিস্ক না থাকে, তবে ডিস্কে MBR পার্টিশন টেবিল আছে, এবং আপনি এই গাইড অনুসরণ করতে পারেন।
এরপর, আপনার কম্পিউটারের লোকাল ড্রাইভ এবং ভলিউম শনাক্ত করতে হবে (সম্ভবত তাদের অ্যাসাইন করা ড্রাইভ লেটারগুলো উইন্ডোজে কাজ করার সময় দেখা লেটার থেকে ভিন্ন হবে)। ডিস্কপার্ট ব্যবহার করে এটি সহজে করা যায়। নিচের কমান্ডগুলো চালান:
diskpart
list vol
আপনি পার্টিশনগুলোর তালিকা, তাদের অ্যাসাইন করা ড্রাইভ লেটার, এবং আকার দেখবেন। আমাদের কেসে, কম্পিউটারে একটি হার্ড ড্রাইভ আছে যার ওপর দুটি ভলিউম:
- System Reserved পার্টিশন ৫০০ MB আকারের এবং এতে C: ড্রাইভ লেটার অ্যাসাইন করা আছে। ডিফল্টভাবে উইন্ডোজ বুট ম্যানেজার এবং BCD ফাইল এই ছোট সার্ভিস পার্টিশনে থাকে (আরও পড়ুন);
- NTFS পার্টিশন ৩৯ GB আকারের এবং এতে D: লেটার অ্যাসাইন করা আছে। এই পার্টিশনে ইনস্টল করা উইন্ডোজ, প্রোগ্রাম, এবং ব্যবহারকারীর ডেটা থাকে।
গুরুত্বপূর্ণ। অ্যাসাইন করা ড্রাইভ লেটারগুলো মনে রাখুন, কারণ পরবর্তী কমান্ডগুলতে এগুলো ব্যবহার করা হবে।
উইন্ডোজ ১০/১১-এ মাস্টার বুট রেকর্ড (MBR) রিপেয়ার করা
bootrec.exe টুল ব্যবহার করে MBR এবং বুট সেক্টরে ডেটা ওভাররাইট করা যায়, এবং উইন্ডোজ বুট ম্যানেজারের জন্য প্রয়োজনীয় পথ যোগ করা যায়।
সিস্টেম পার্টিশনের মাস্টার বুট রেকর্ড (MBR) ওভাররাইট করে উইন্ডোজ বুট লোডারের সাথে কম্প্যাটিবল করুন (মৌজুਦਾ পার্টিশন টেবিল ওভাররাইট হবে না):
bootrec.exe /fixmbr
বুটমGR (Windows Boot Manager) ফাইল লোড করার জন্য ডিস্কের বুট সেক্টরে কোড যোগ করুন:
bootsect.exe /nt60 all /force
যদি bootsect.exe কমান্ড না পাওয়া যায়, পূর্ণ পথ দিয়ে চেষ্টা করুন:
X:\boot\bootsect.exe /nt60 all /force
এগিয়ে যাওয়ার আগে, নিচের কমান্ডগুলো দিয়ে BCD বুটলোডার কনফিগারেশন স্বয়ংক্রিয়ভাবে রিবিল্ড করার চেষ্টা করুন (এটি Новиসদের জন্য সবচেয়ে সহজ পথ):
bootrec /FixBoot – এই কমান্ড সিস্টেম পার্টিশনে নতুন বুট সেক্টর তৈরি করে এবং PBR পার্টিশনের বুট রেকর্ড ওভাররাইট করে।
bootrec /ScanOs – সকল ড্রাইভ স্ক্যান করে এবং ইনস্টল করা উইন্ডোজ কপি খুঁজে বের করে যা বুট কনফিগারেশন স্টোরে নেই
স্ক্যান সফল হলে, খুঁজে পাওয়া উইন্ডোজ ইনস্ট্যান্সগুলো 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 – বুটলোডার কনফিগারেশন স্টোর পুনরায় তৈরি করুন, কম্পিউটারে খুঁজে পাওয়া উইন্ডোজ কপিগুলো BCD বুটলোডারে যোগ করুন।
তারপর কম্পিউটার রিস্টার্ট করুন এবং চেক করুন উইন্ডোজ সঠিকভাবে বুট হচ্ছে কিনা। যদি OS বুট না করে, নিচের নির্দেশনা অনুসরণ করুন।
স্ক্র্যাচ থেকে উইন্ডোজ বুট কনফিগারেশন (BCD) পুনরায় তৈরি করা
এখন BCDedit কমান্ড ব্যবহার করে নতুন Boot Configuration Data ফাইল তৈরি করুন (ধরে নেওয়া হচ্ছে, আপনার কাছে BCD ব্যাকআপ ফাইল নেই)।
আপনার পরবর্তী ধাপ ডিস্কে আলাদা System Reserved পার্টিশন আছে কিনা তার উপর নির্ভর করবে। কমান্ডগুলো চালান:
diskpart
list vol
হার্ড ডিস্কে System Reserved পার্টিশন আছে কিনা চেক করুন। এটিকে এর ভলিউম লেবেল বা আরও নির্ভুলভাবে এর আকার (উইন্ডোজ ১০+ এর জন্য ৫০০ MB, উইন্ডোজ ৮.১-র জন্য ৩৫০ MB, এবং উইন্ডোজ ৭-র জন্য ১০০ MB) দিয়ে শনাক্ত করা যায়।
- যদি কোনো সিস্টেম রিজার্ভড পার্টিশন না থাকে (হয়তো আপনি ভুলে ডিলিট করেছেন), তবে বুট ম্যানেজার ফাইলগুলো সিস্টেম ড্রাইভে সংরক্ষণ করা যায় যেখানে উইন্ডোজ ডিরেক্টরি অবস্থিত। নির্দিষ্ট ড্রাইভে Bootmgr এবং BCD বুটলোডার কনফিগারেশন ফাইল তৈরি করতে কমান্ড চালান:
bcdboot C:\Windows /S C:
মেসেজ আসবে:
Boot files successfully created.
- যদি আপনার কাছে System Reserved পার্টিশন থাকে, পুরনো (করপ্ট) BCD ফাইল ডিলিট করে নতুন তৈরি করুন:
del c:\boot\bcd
যদি System Reserved পার্টিশনে ড্রাইভ লেটার অ্যাসাইন করা না থাকে (ডিফল্টভাবে), তবে আপনি ডিস্কপার্ট ব্যবহার করে নিজে অ্যাসাইন করতে পারেন। চালান: 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
উইন্ডোজ বুট ম্যানেজার (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), তবে ফাইল থেকে hidden, read-only, এবং system অ্যাট্রিবিউট সরান:
attrib C:\Boot\BCD -s -h -r
উইন্ডোজ বুট ম্যানেজার System Reserved পার্টিশনে অবস্থিত তা নির্দিষ্ট করুন (C: ড্রাইভ লেটার অ্যাসাইন করা আছে):
bcdedit.exe /set {bootmgr} device partition=c:
OS সিলেক্ট করার জন্য টাইমআউট কনফিগার করুন:
bcdedit.exe /timeout 10
টেম্পোরারি ফাইল ডিলিট করুন:
del c:\boot\bcd.tmp
এভাবে, আপনি বুটলোডার সেটিংসসহ একটি খালি BCD ফাইল তৈরি করেছেন। এখন ইনস্টল করা উইন্ডোজ সম্পর্কে এন্ট্রি যোগ করতে হবে।
উইন্ডোজ ১০-এর জন্য BCD কনফিগারেশনে নতুন এন্ট্রি তৈরি করুন:
bcdedit.exe /create /d "Windows 10" /application osloader
এই কমান্ড এই বুটলোডার এন্ট্রির উникаল আইডেন্টিফায়ার (GUID) রিটার্ন করবে।
The entry {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs} was successfully created.
বুটমGR ডিফল্টভাবে এই এন্ট্রি ব্যবহার করবে (টাইমআউটের পর এই এন্ট্রি ব্যবহার করে উইন্ডোজ বুট হবে) তা নির্দিষ্ট করুন:
bcdedit /default {8a7f03d0-5338-11e7-b495-c7fffbb9ccfs}
এখন নতুন বুটলোডার এন্ট্রিতে ইনস্টল করা উইন্ডোজ ১০-এর পথ নির্দিষ্ট করতে হবে। আমরা আগে জানেছিলাম যে WinPE-এ উইন্ডোজ পার্টিশনে 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
সুতরাং, আমরা উইন্ডোজ ১০ বুটলোডার (bootmgr) এবং BCD ফাইল সম্পূর্ণরূপে পুনরায় তৈরি করেছি এবং MBR বুট সেক্টর ওভাররাইট করেছি।
এখন সেই পার্টিশনটি এক্টিভ করতে হবে जिसতে bootmgr এবং BCD ফাইল উইন্ডোজ বুটলোডার কনফিগারেশনসহ অবস্থিত (BIOS এক্টিভ MBR পার্টিশনে OS বুটলোডারের तरफ কন্ট্রোল ট্রান্সফার করে)। উদাহরণস্বরূপ, আপনার কম্পিউটারে নিচের পার্টিশনগুলো আছে:
- Volume 0 – ইনস্টলেশন ফ্ল্যাশ ড্রাইভ (ISO ইমেজ) যেটি থেকে আপনি কম্পিউটার বুট করেছেন;
- Volume 1 – System Reserved পার্টিশন (৫০০ MB আকার) উইন্ডোজ bootmgr এবং BCD ফাইলসহ;
- Volume 2 – উইন্ডোজ সিস্টেম ফোল্ডারসহ পার্টিশন (%Windir%, Program Files, Users, ইত্যাদি)
এই উদাহরণে, আপনাকে Volume 1 কে এক্টিভ পার্টিশন বানাতে হবে (আপনার কেসে আপনার পার্টিশন নম্বর বের করতে হবে)। ডিস্কপার্ট ব্যবহার করে পার্টিশন এক্টিভ করতে পারেন:
diskpart(bootmgr এবং \Boot\BCD এই পার্টিশনে থাকতে হবে )
list disk
sel disk 0
list vol
select volume 1
active
exit
চেক করুন Volume 1 এখন এক্টিভ:
select vol 1
detail partition
(Active: Yes )
এখন আপনি আপনার কম্পিউটার রিস্টার্ট করুন এবং নিশ্চিত করুন যে উইন্ডোজ স্বাভাবিকভাবে বুট হচ্ছে।