ঠিক আছে। কয়েক দিন আগে, আমরা আমার মেস্ড-আপ (messed-up) ল্যাপটপ এবং এর এট-বুট (eight-boot) উইন্ডোজ-অ্যান্ড-লিনাক্স সেটআপে KDE neon ইন্সট্যান্সের রিকভারি নিয়ে কথা বলেছিলাম। হয়ে গেলো, বিভিন্ন ডিস্ট্রিবিউশন বুট হয়নি কারণ সেগুলো একটি নন-এক্সিস্টেন্ট (non-existent) পার্টিশন মাউন্ট করার জন্য কনফিগারড ছিল। এটি ঘটেছিল কারণ নতুন লিনাক্স সিস্টেমগুলো ডিভাইস চিহ্নিত করার একটি সাব-অপ্টিমাল (sub-optimal) উপায় ব্যবহার করে, অর্থহীন, হিউম্যান-অনরিডেবল (human-unreadable) UUID স্ট্রিংসের পরিবর্তে সিম্পল নম্বর।
যদি, আমাদের উইন্ডোজ ১০ ইন্সট্যান্সও ফিক্স করতে হবে। এখানে, ইস্যুটি কিছুটা মিলতেই ছিল। উইন্ডোজ ১০ বুট হওয়া শুরু করত, তারপর PC ডায়াগনোস (diagnosing) সম্পর্কে একটি মেসেজ আসত, অটোমেটিক রিপেয়ার (automatic repair) - এবং তারপর, প্রেডিক্টেবলি, অটোমেটিক রিপেয়ার ফেইল করত। পূর্ববর্তী আর্টিকেলে, আমরা ইতিমধ্যে নির্ণয় করেছিলাম যে উইন্ডোজ ১০ পার্টিশনটি হেলথি (healthy), সব ডেটা آنجا ছিল, তাই আমি কোনো রিসেট (reset) বা সেরকম কিছু করতে চাইনি। আমি আপনাকে দেখাবো আমি কীভাবে এইforcefully annoying ইস্যুটি gracefully (শিষ্টাচারपूৰ্বক) ফিক্স করলাম।
আরো বিস্তারিত সমস্যা
পেইল ব্লিউ (pale blue) উইন্ডোজ ১০ রিকভারি কনসোল স্ক্রিনে আসত, সেটি পড়ত:
The automatic repair couldn't repair your PC.
Press "Advanced Options" to try other options to repair your PC or "Shut Down" to turn off your PC.
Log file: C:\Recovery\WindowsRE\Winre.wim\System32\Logfiles\Srt\SrtTrail.txt.
একজন ভালো টেকির মতো, আমি সিদ্ধান্ত নিলাম 베স্ট কোর্স অফ অ্যাকশন (best course of action) হলো অডভান্সড অপশনসে যাওয়া, একটি কমান্ড লাইন প্রম্পট শুরু করা, এবং তারপর লগ ফাইলে নেভিগেট করা এবং কনটেন্ট পড়া। এক্সেপ্ট (except) এই ফাইলটি वहां ছিল না। আমরা এটিকে শীঘ্রই এক্সপ্লোর করব।
এই পয়েন্টে, আমি চিন্তা করলাম недавীয় সিস্টেম ইমেজ রিকভারি টেস্ট আমি করেছিলাম সেটি আংশিক বা সম্পূর্ণরূপে ইস্যুর জন্য দায়ী হতে পারে। তাই হয়তো উইন্ডোজ ১০ বুটলোডার ফিক্সিং প্রয়োজন। আমি সন্দেহ করেছিলাম, বিশেষ করে যেহেতু আমি লিনাক্স বুটলোডার ব্যবহার করছিলাম সিকোয়েন্স কন্ট্রোল করার জন্য, কিন্তু duidelijk জিনিসটি অপসারণ করার জন্য, আমি সিম্পল বুটলোডার ফিক্স চেষ্টা করার সিদ্ধান্ত নিলাম:
bootrec.exe /rebuildbcd
bootrec.exe /fixmbr
bootrec.exe /fixboot
আমি 당장ই সমস্যায় পড়লাম। যদি আমি এই কমান্ডটি উইন্ডোজ ১০ USB থাম্ব ড্রাইভ থেকে রান করতাম, এটি কিছুই খুঁজে পাত না। আবার, এর একটি কারণ আছে, আমরা সেখানে যাব। যদি আমি এটি রিকভারি কনসোল থেকে রান করতাম, এটি একটি খুঁজে পেত, কিন্তু এটি D:\ ড্রাইভ রেফারেন্স করত C:\ ড্রাইভের বদলে, এবং যখন আমি এন্ট্রি যোগ করার চেষ্টা করতাম, কমান্ডটি কমপ্লেইন করত যে এটি অপারেশন কমপ্লিট করতে পারলো না:
The system cannot find the path specified.
এবং লাস্ট কমান্ডটি নিচের এররটি দিত:
Access is denied.
এই ফ্যাক্ট যে লগ ফাইলটি C:\-এ থাকা উচিত ছিল কিন্তু সেটি সেখানে ছিল না, এবং ফ্যাক্ট যে bootrec.exe একটি অপারেটিং সিস্টেম খুঁজে পেয়েছিল D:\-এ, আমাকে বিশ্বাস করিয়েছিল যে হয়তো ড্রাইভ লেটারগুলো সঠিকভাবে অ্যাসাইন (assign) করা হয়নি, এবং আমাকে সেটি ফিক্স করতে হবে। তাহলে চলুন সমাধানে।
সমাধান ১
আমি cmd থেকে diskpart টুল লঞ্চ করলাম। এটি ডিস্ক ম্যানেজার টুল যা আপনি সাধারণত উইন্ডোজে ব্যবহার করেন, অর্থাৎ একটি নাইস GUI (GUI)। এখানে আমাদের কমান্ড-লাইন, উহম, কমান্ডস ব্যবহার করতে হবে। আপনি যদি নিশ্চিত না হন কী করতে হবে, আপনি শুধু ? টাইপ করে বিভিন্ন অপশন এবং ফ্ল্যাগের ধারণা পেতে পারেন। তাহলে প্রথমে, ভলিউম লেটারগুলো চেক করি।
diskpart
list volumes
আমার উদাহরণে, আমি লক্ষ্য করলাম C:\ ড্রাইভটি ভুলভাবে অ্যাসাইন করা হয়েছিল। তাই আমি এটিকে পরিবর্তন করলাম। যদি C: লেটারটি Taken (গ্রহীত) থাকে, তবে আপনাকে দুটি ধাপ নিতে হবে, প্রথমে ড্রাইভ হোল্ডিং (holding) লেটারটিকে একটি ফ্রি লেটার অ্যাসাইন করুন, এবং তারপর সঠিক ড্রাইভ অ্যাসাইন করুন। উদাহরণস্বরূপ (আকচুয়াল নম্বরগুলো উপেক্ষা করুন, কারণ সেগুলো ইউনিকলি (uniquely) আপনার সেটআপের ওপর ডিপেন্ড করবে):
select volume 2
assign letter=(something that is not C):
select volume 5
assign letter=C:
আমি bootrec.exe রান করার দিকে ফিরে গেলাম, এবং আমি প্রগতি করলাম, কিন্তু সিস্টেম এখনো বুট করত না।
সমাধান ২
এই পয়েন্টে, আমি নিশ্চিত ছিলাম ইস্যুটি বুটলোডারের সাথে নয়। তাই এখন পরবর্তী ধাপে যেতে হবে, বুট প্রসেসে। এই কেসে, বুট ইমেজ (boot image), যা EFI পার্টিশনে অবস্থিত। হয়তো, যেকোনো কারণ için, এই ফাইলটি কোরাপ্ট (corrupted) হয়ে গিয়েছিল, এবং এটি রিবিল্ড (rebuild) করার প্রয়োজন ছিল।
আমি রিকভারি কনসোলে বুট করলাম, এবং diskpart-এ এক্সারসাইজ আবার করলাম, শুধু এখন, দুটি ধাপ ছিল। প্রথম, সঠিক ভলিউম C:\-এ ম্যাপ (map) করা হচ্ছে। দ্বিতীয়, আমি নিশ্চিত করলাম যে আমি EFI পার্টিশনের সাথে কাজ করছি। ড্রাইভ লেটারের ওপর কpail ध्यान দিন। আপনি যদি mess up করার ভয় পান, আপনি তখন ভলিউম সিলেক্ট করতে পারেন, একটি নিউ লেটার অ্যাসাইন করতে পারেন, এবং তারপর বুট ইমেজ রিবিল্ড করার দিকে এগিয়ে যেতে পারেন। যদি লেটারগুলো সঠিক থাকে, আপনি এই ধাপটি স্কিপ (skip) করতে পারেন।
diskpart
list volumes
# select the partition that corresponds to C:
select volume X
assign letter=C:
# select the EFI partition (FAT32, with the boot flag and often hidden)
select volume Y
assigned letter=F:
exit
আমি EFI-র জন্য F লেটার নিয়েছিলাম। আপনি যেকোনো একটি বেছে নিতে পারেন। এখন, বুট ইমেজ রিপেয়ার স্টেপ:
bcdboot.exe C:\Windows /s F: /f UEFI
এখানে কী আছে? আমরা bcdboot নিম্নলিখিত রূপে রান করছি:
- Source - C:\Windows থেকে BCD ফাইল ব্যবহার করে সিস্টেম পার্টিশন ইনিশিয়ালাইজ (initialize) করে।
- /s - সিস্টেম (EFI) পার্টিশনের লেটার স্পেসিফাই (specify) করে।
- /f - ফার্মওয়্যার টাইপ স্পেসিফাই করে।
দুইটি /s এবং /f অপশনাল (optional)। ডিটেইলসের জন্য টেকনিক্যাল রেফারেন্স চেক করুন।
এই ধাপটি কমপ্লিট হলে, আমি রিবুট করলাম, এবং উইন্ডোজ ১০ ঠিকঠাক লঞ্চ করলো, সবকিছু ইনট্যাক্ট (intact) থাকা অবস্থায়। সব অন্যান্য লিনাক্স ডিস্ট্রিবিউশন কাজ করছিল, GRUB2 untouched (অনস্পর্শিত) রইল, এবং কোনো ডেটা লস (data loss) হয়নি।
উপসংহার
আমি এই এক্সারসাইজটিকে কফি ফ্রুস্ট্রেটিং (frustrating), কিন্তু এখ 꽤 এঞ্জয়েবল (enjoyable) পেলাম। যখন গভীর টেকনিক্যাল জিনিসের কথা আসে, উইন্ডোজ প্রায় লিনাক্সের মতো behave করে। এবং সিস্টেম বুট এরর সম্পর্কে এটি সমানভাবে vague (অস্পষ্ট) এবং non-resilient (অনন্যটräত্মক)। আমি আশ্চর্য করছি অটোমেটিক রিপেয়ার আমার কৃতকর্ম করত কেন পারলো না। আমার নেওয়া ধাপের সিকোয়েন্সে কিছুই স্পেশাল বা ম্যাজিক নেই। এছাড়া, লগস সহজে অ্যাকসেসযোগ্য নয়। কেন প্রথম এরর স্ক্রিনে সেগুলো পড়তে দেয় না, সেখানেই?
আরেকটি ইস্যু হলো, যখন সিস্টেম কীভাবে জিনিসগুলো এক্সপেক্ট (expect) করে সেটির সাথে discrepancy (বিরোধাভাস) আছে - যেমন ড্রাইভ লেটার, আপনি হঠাৎ আধা দर्जন অন্যান্য ইস্যু এনকাউন্টার করেন যা শুধু আপনাকে ডিস্ট্র্যাক্ট (distract) করে। সমাধানটি খুব কঠিন নয়, কিন্তু আপনি নানসেন্স ট্রাবলশুটিং-এ সময় ব্যয় করেন। আধুনিক সফটওয়্যারের জন্য এটাই। যাই হোক, আমি আশা করি আমি একটু স্পষ্ট করতে পেরেছি আপনি যদি মাল্টি-বুটিং (multi-booting) করেন, এবং উইন্ডোজ ১০ শুরু করতে সমস্যা হয়। যদি ডেটা ইনট্যাক্ট থাকে, সিম্পল শুরু করুন, এবং বুট সিকোয়েন্স ধাপে ধাপে কাজ করুন। ফিলোসফি (philosophy)RENT আসল, এটি লিনাক্সের মত। ভবিষ্যৎ rose (rose)-র মতো উজ্জ্বল নয়, তাই আপনার কাছে যে ছোট টেকনিক্যাল ফ্রিডম (technical freedom) আছে তার উপভোগ করুন সেটি পুরো অ্যাবস্ট্রাক্ট (abstract) নাইটমেয়ার (nightmare) হওয়ার আগে।
চেয়ার্স।