এই লেখায় আমরা দেখাব কীভাবে Windows Server 2016/Windows 10 ইনস্টল করা দুটি GPT ডিস্ক থেকে UEFI-র জন্য সফ্টওয়্যার মিরর (RAID1) তৈরি করা যায়। আমরা একটি পূর্ণাঙ্গ BCD বুটলোডার কনফিগারেশন বিবেচনা করব যা সঠিক Windows বুট প্রদান করে এবং যেকোনো ড্রাইভ ফেইলের কেসে আপনার OS এবং ডেটা প্রোটেক্ট করে।
তো, আমার কাছে একটি সিম্পল কম্পিউটার আছে UEFI আর্কিটেকচারের সাথে এবং দুটি একই ৫০GB ডিস্ক, কিন্তু বিল্ট-ইন RAID কন্ট্রোলার নেই। আমাদের কাজ হলো প্রথম GPT ডিস্কে OS (Windows Server 2016, Windows 10 বা ফ্রি Hyper-V সার্ভার) ইনস্টল করা এবং তারপর দুটি ডিস্ক থেকে সফ্টওয়্যার মিরর (RAID1) তৈরি করা।
বেশিরভাগ কেসে, যদি আপনি সফ্টওয়্যার এবং হার্ডওয়্যার RAID-এর মধ্যে বেছে নেন, তবে আপনি পরবর্তীটি সিলেক্ট করবেন। ইন্টিগ্রেটেড ফিজিক্যাল RAID কন্ট্রোলারवाले मदারবোর্ড আজকাল হোম ইউজারদের জন্যও উপলব্ধ।
Windows ISO ইমেজ DVD/USB স্টিকে লিখুন, আপনার কম্পিউটার এই ডিভাইস থেকে বুট করুন (UEFI মোডে, Legacy মোডে নয়) এবং Windows Server 2016 ইনস্টলেশন চালু করুন।
ইনস্টলেশন কম্প্লিট হওয়ার পর Disk Management স্ন্যাপ-ইন (diskmgmt.msc) খুলুন নিশ্চিত করার জন্য যে প্রথম ডিস্ক GPT ব্যবহার করছে (Disk Properties → Volumes → Partition style –> GUID partition table), এবং দ্বিতীয়টি খালি (unallocated)।
মিরর করার জন্য GPT পার্টিশন টেবিল প্রস্তুত করা ডিস্ক 2-তে

অ্যাডমিনিস্ট্রেটর প্রিভিলেজ সহ কমান্ড প্রম্পট চালু করুন এবং diskpart রান করুন। লিখুন:
DISKPART>List disk
আপনি দেখতে পাচ্ছেন, সিস্টেমে দুটি লোকাল ডিস্ক উপলব্ধ:
Disk 0– GPT-সহ ডিস্ক, Windows ইনস্টল করা আছেDisk 1– খালি unallocated ডিস্ক

দ্বিতীয় ডিস্ক আবার ক্লিন করুন যেন যেন এবং GPT-এ কনভার্ট করুন:
Select disk 1
clean
Convert GPT
দ্বিতীয় ডিস্কের পার্টিশন তালিকা দেখান:
List part
যদি ডিস্ক 2-তে কমপক্ষে একটি পার্টিশন থাকে (আমার উদাহরণে Partition 1, Reserved লেবেল এবং Size 128 Mb সহ), সেটি ডিলিট করুন:
Sel part 1
Delete partition override

প্রথম ডিস্কের (ডিস্ক 0) পার্টিশন তালিকা দেখান। তারপর আপনাকে ডিস্ক 1-এ একই পার্টিশনগুলো তৈরি করতে হবে।
Select disk 0
List part
৪টি পার্টিশন আছে:
- Recovery – 450MB, WinRE সহ একটি রিকভারি পার্টিশন
- System – 99MB, একটি EFI পার্টিশন (GPT ডিস্কের পার্টিশন কাঠামো সম্পর্কে আরও জানুন)
- Reserved – 16MB, একটি MSR পার্টিশন
- Primary – 49GB, Windows ইমেজ সহ মূল পার্টিশন

ডিস্ক 1-এ একই পার্টিশন কাঠামো তৈরি করুন:
Select disk 1
Create partition primary size=450
format quick fs=ntfs label=”WinRE”
set id=”de94bba4-06d1-4d40-a16a-bfd50179d6ac”
create partition efi size=99
create partition msr size=16
list part

ডিস্কগুলো Dynamic-এ কনভার্ট করা এবং মিররড ডিস্ক তৈরি করা
তারপর দুটি ডিস্ক Dynamic-এ কনভার্ট করুন:
Select disk 0
Convert dynamic
Select disk 1
Con dyn
সিস্টেম ড্রাইভ (ড্রাইভ লেটার C:) এর জন্য মিরর তৈরি করুন। ডিস্ক 0-এ একটি পার্টিশন সিলেক্ট করুন এবং ডিস্ক 1-এ এর জন্য মিরর তৈরি করুন:
Select volume c
Add disk=1
নিচের মেসেজ আসবে:
DiskPart succeeded in adding a mirror to the volume
Disk Management খুলুন এবং নিশ্চিত করুন যে ড্রাইভ C:-র সিঙ্ক্রোনাইজেশন শুরু হয়েছে (Resynching)। এটি শেষ হওয়া পর্যন্ত অপেক্ষা করুন, C: পার্টিশনের সাইজ অনুযায়ী এতে কয়েক ঘন্টা লাগতে পারে।

Windows বুট করার সময় Windows Boot Manager মেনু আসবে যেখানে আপনি সিলেক্ট করতে পারবেন কোন ডিস্ক থেকে বুট করবেন। আপনি ম্যানুয়ালি ডিস্ক সিলেক্ট না করলে, সিস্টেম ৩০ সেকেন্ডে প্রথম ডিস্ক থেকে বুট করার চেষ্টা করবে:
- Windows Server 2016
- Windows Server 2016 – secondary plex

তবে সমস্যা হলো বুটলোডার কনফিগারেশন শুধু প্রথম ড্রাইভে স্টোর করা থাকে, এবং আপনি যদি সেটি হারিয়ে যান, তবে অতিরিক্ত কর্ম ছাড়া দ্বিতীয় ড্রাইভ থেকে Windows বুট করতে পারবেন না। সত্যিকারের অর্থে, আপনি আপনার ডেটা প্রটেক্ট করেছেন ( কিন্তু Windows বুটলোডার নয়) দ্বিতীয় ডিস্কের ফেইলার থেকে মাত্র।
একটি সফ্টওয়্যার Windows RAID ব্যবহার করে একটি পূর্ণাঙ্গ ফাংশনাল EFI পার্টিশন মিরর তৈরি করা সম্ভব নয়। যেহেতু OS বুট ফাইলগুলো EFI পার্টিশনে অবস্থিত, যদি প্রথম ডিস্ক ফেইল করে, তবে দ্বিতীয় ডিস্ক থেকে বুট করা যাবে না আপনার EFI বুটলোডার ম্যানুয়ালি রিপেয়ার না করলে। এটি একজন নতুন শিক্ষার্থীর জন্য খুব কঠিন এবং কিছু সময় নেয় (আপনার কাছে সময় নাও থাকতে পারে যদি রাগান্বিত ইউজারদের ভিড় থাকে)।
এখন আমরা দেখাব কীভাবে EFI পার্টিশন দ্বিতীয় ডিস্কে কপি করতে হয় এবং BCD বুটলোডার কনফিগারেশন পরিবর্তন করে উভয় প্রথম এবং দ্বিতীয় ড্রাইভ থেকে Windows বুট করতে সক্ষম করতে হয়।
EFI পার্টিশনের জন্য GPT মিরর তৈরি করা
তারপর মিররে দ্বিতীয় ডিস্কের EFI পার্টিশন প্রস্তুত করতে হবে যাতে আপনার কম্পিউটার এই পার্টিশন ব্যবহার করে Windows বুট করতে পারে। ডিস্ক 1-এ EFI পার্টিশনে ড্রাইভ লেটার S: অ্যাসাইন করুন এবং FAT32-এ ফরম্যাট করুন:
Select disk 1
Select part 2
assign letter=S
format fs=FAT32 quick

তারপর ডিস্ক 0-এ EFI পার্টিশনে লেটার P: অ্যাসাইন করুন:
select disk 0
select partition 2
assign letter=P
exit
EFI পার্টিশন এবং BCD স্টোর দ্বিতীয় ড্রাইভে কপি করা
বর্তমান BCD বুটলোডার কনফিগারেশন নিচের কমান্ড দিয়ে দেখান:
bcdedit /enum
মিরর তৈরি করার সময়, VDS সার্ভিস স্বয়ংক্রিয়ভাবে দ্বিতীয় মিরর ডিস্কের জন্য BCD এন্ট্রি যোগ করেছে (লেবেল “Windows Server 2016 – secondary plex”)।

প্রথম ডিস্ক ফেইল করলে দ্বিতীয় ডিস্কের EFI পার্টিশন থেকে বুট করার অনুমতি দিতে, আপনাকে আপনার BCD কনফিগারেশন পরিবর্তন করতে হবে।
এ জন্য, বর্তমান Windows Boot Manager কনফিগারেশন কপি করুন:
bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned"
The entry was successfully copied to {44d1d6bf-xxxxxxxxxxxxxxxx}
তারপর কপি করা কনফিগারেশন ID ব্যবহার করে নিচের কমান্ড চালান:
bcdedit /set {44d1d6bf-xxxxxxxxxxxxxxxx} device partition=s:
যদি আপনি সঠিকভাবে করলে, এই মেসেজ আসবে:
The operation completed successfully.

বর্তমান Windows Boot Manager (bcdedit /enum) কনফিগারেশন লিস্ট করুন। লক্ষ্য করুন যে বুটলোডারএখন দুটি অপশন দেখাচ্ছে বিভিন্ন ডিস্কের EFI পার্টিশন থেকে বুট করার জন্য (ডিফল্ট এবং রিজুম অবজেক্ট)।

তারপর আপনাকে আপনার BCD স্টোর ডিস্ক 0-র EFI পার্টিশন থেকে ডিস্ক 1-এ কপি করতে হবে:
P:
bcdedit /export P:\EFI\Microsoft\Boot\BCD2
robocopy p:\ s:\ /e /r:0

ডিস্ক 1-এ BCD স্টোর রিনেম করুন:
Rename s:\EFI\Microsoft\Boot\BCD2 BCD
এবং ডিস্ক 0-র কপি ডিলিট করুন:
Del P:\EFI\Microsoft\Boot\BCD2

যদি আপনার প্রথম ডিস্ক ফেইল করে, তবে Windows Boot Manager (বুট মেনু)-এ “Windows Boot Manager Cloned” আইটেম সিলেক্ট করুন এবং তারপর “Microsoft Windows Server 2016 — secondary plex” সিলেক্ট করুন আপনার Windows সঠিকভাবে বুট করার জন্য।
যদি ডিস্কগুলোতে से যেকোনো একটি ফেইল করে, Disk Management স্ন্যাপ-ইনে আপনি Failed Redundancy মেসেজ পাবেন।

এই কেসে, আপনাকে ফেইল করা ডিস্ক রিপ্লেস করতে হবে, মিরর কনফিগারেশন ডিলিট করতে হবে এবং সফ্টওয়্যার RAID 1 নতুন করে শুরু থেকে তৈরি করতে হবে।