লিনাক্স বুটগুলিকে BIOS ত্রুটিতে কীভাবে ঠিক করবেন

একটি নীল পটভূমিতে ল্যাপটপ একটি লিনাক্স কমান্ড প্রম্পট দেখাচ্ছে।
ফাতমাওয়াতি আহমেদ জায়েনুরি/শাটারস্টক ডটকম

GRUB আপডেটের ফলে লিনাক্স কম্পিউটারগুলি BIOS বা UEFI সেটিংসে বুট হয় বলে জানা গেছে। এটির সমাধানটি একটি দরকারী সিস্টেম পুনরুদ্ধার কৌশলের সুবিধা নেয় যা আপনার সত্যিই জানা উচিত।

একটি কেস স্টাডি: GRUB 2:2.06.r322

2022 সালের গ্রীষ্মে আর্চ এবং আর্চ-ভিত্তিক লিনাক্স বিতরণের জন্য একটি সিস্টেম আপডেটে GRUB-এর একটি নতুন সংস্করণ অন্তর্ভুক্ত করা হয়েছে। GRUB মানে বিশালঅন্যান্য এবংnified বুটলোডার

একটি বুটলোডার হল একটি অ্যাপ্লিকেশন যা আপনার কম্পিউটার চালু হলে বুট-আপ প্রক্রিয়া বন্ধ করে দেয়। বেশ কিছু সফ্টওয়্যার টুলস এবং ইউটিলিটি চালু করতে হবে—সঠিক পার্টিশন থেকে এবং সঠিক ক্রমে—অবশেষে একটি কার্যকরী এবং অ্যাক্সেসযোগ্য অপারেটিং সিস্টেমে পরিণত করতে। GRUB ইভেন্টের সেই ক্যাসকেড বন্ধ করে দেয়।

আপনার কম্পিউটারে একাধিক অপারেটিং সিস্টেম ইনস্টল করা থাকলে, GRUB একটি মেনু প্রদান করে যাতে আপনি কোন অপারেটিং সিস্টেম ব্যবহার করবেন তা নির্বাচন করতে পারেন। কোডগুলির একটি GRUB 2:2.06.r322-তে পরিবর্তন করে একটি নতুন GRUB বিকল্পের জন্য সমর্থন যোগ করেছে, --is-supported. একটি বুট টু ফার্মওয়্যার সক্ষমতা উপস্থিত আছে কিনা তা নির্দেশ করতে বিকল্পটি ব্যবহার করা হয়। যদি তা হয়, GRUB বুট মেনুতে একটি এন্ট্রি যোগ করে যাতে আপনি আপনার EUFI সেটিংসে বুট করতে পারেন।

নতুন বিকল্পটি “30_uefi-firmware.in” নামে একটি স্ক্রিপ্টে উল্লেখ করা হয়েছে। এই ফাইলের জন্য পার্থক্য দেখায় যে একটি if বিবৃতি সরানো হয়েছে, এবং দুটি লাইন যোগ করা হয়েছে।

নতুন লাইনগুলির মধ্যে একটি প্রতিস্থাপন ছিল if বিবৃতি অন্য নতুন লাইন ধারণ করে fwsetup --is-supported . “fwsetup”-এ “fw” মানে ফার্মওয়্যার। কিন্তু কারণ ওই লাইনটা উপরে নতুন if বিবৃতি, এটা সবসময় চালানো যাচ্ছে. এটা যদি শরীরের ভিতরে থাকত if বিবৃতি এটি শুধুমাত্র যখন পরীক্ষা চালানো হবে if বিবৃতি সত্য সমাধান করা হয়েছে.

এটি UEFI কম্পিউটারে অনেক সমস্যা সৃষ্টি করেছে, কিন্তু সকলে নয়। আপনি ইতিমধ্যে ইনস্টল করা GRUB-এর সংস্করণটি এই কমান্ডটিকে সমর্থন করে কিনা তা নির্ভর করে। প্রভাবিত মেশিন দুটি জিনিসের একটি করবে। তারা হয় একটি বুট লুপে যাবে যেখানে বুট প্রক্রিয়াটি কখনই সম্পূর্ণ হয়নি কিন্তু ক্রমাগত পুনরায় চালু করা হয়েছে, অথবা কম্পিউটার সরাসরি UEFI ফার্মওয়্যার সেটিংসে বুট হবে। যেভাবেই হোক, আপনার কম্পিউটারকে লিনাক্সে বুট করতে বাধ্য করার কোনো উপায় ছিল না।

আপনি যখন এই ধরনের পরিস্থিতির মুখোমুখি হন তখন সর্বদা একটি সম্পূর্ণ পুনরায় ইনস্টল করার পারমাণবিক বিকল্প থাকে। এটি কাজ করবে, তবে সাম্প্রতিক ব্যাকআপ ছাড়া আপনার হার্ড ড্রাইভ কীভাবে বিভাজন করা হয়েছে তার উপর নির্ভর করে, আপনি ডেটা হারাতে পারেন।

কম প্রভাব পদ্ধতি ব্যবহার করে chroot এবং একটি লাইভ ইউএসবি বা লাইভ সিডি/ডিভিডি। আপনি যখন আপনার লিনাক্স কম্পিউটারে বুট বা লগ ইন করতে পারবেন না তখন সমস্ত ধরণের সিস্টেম ব্যর্থতার জন্য এটি বোঝার এবং আপনার আস্তিন তৈরি করার জন্য এটি একটি ভাল কৌশল।

আমরা যে টেকনিক ব্যবহার করব

এই কৌশলটি ব্যবহার করার জন্য আপনার একটি বুটযোগ্য USB বা CD/DVD থাকতে হবে যাতে এটিতে একটি লিনাক্স ডিস্ট্রিবিউশন থাকে, যা একটি লাইভ লিনাক্স উদাহরণে বুট হয়। সাধারণত এগুলিকে লাইভ ইউএসবি বা লাইভ সিডি/ডিভিডি বলা হয়। সমস্ত প্রধান বিতরণ এই ফাংশন সমর্থন করে.

আমরা কিছু ইন্সটল করতে যাচ্ছি না, তাই লাইভ মিডিয়া একই ডিস্ট্রিবিউশন হতে হবে না যা আপনি আপনার কম্পিউটারে ইনস্টল করেছেন। আপনি একটি EndeavourOS কম্পিউটার মেরামত করতে একটি উবুন্টু ইউএসবি ব্যবহার করতে পারেন, উদাহরণস্বরূপ। আপনার যদি কোনো লাইভ মিডিয়াতে অ্যাক্সেস না থাকে, তাহলে আপনাকে একটি ছবি ডাউনলোড করতে এবং একটি USB মেমরি স্টিক বা একটি CD/DVD-এ লিখতে অন্য কম্পিউটার ব্যবহার করতে হবে।

আপনার ইনস্টল করা ফাইল সিস্টেমটি লিনাক্সের ফাইল সিস্টেমের অংশ হিসাবে উপস্থিত হবে যা লাইভ মিডিয়া থেকে বুট করা হয়েছিল। দারুণ. আমরা যদি এটি অ্যাক্সেস করতে পারি তবে আমাদের এটি মেরামত করার সুযোগ রয়েছে। কিন্তু এটি একটি সমস্যা উত্থাপন না.

এই হাইব্রিড ফাইল সিস্টেমের রুট হল লাইভ মিডিয়া ফাইল সিস্টেমের রুট, আপনার ইনস্টল করা ফাইল সিস্টেমের রুট নয়। আপনার লিনাক্স সিস্টেমে কনফিগার করা ফাইল পাথগুলিকে তাদের সঠিক টার্গেট অবস্থানগুলি উল্লেখ করতে – কোথাও আপনার ফাইল সিস্টেমের ভিতরে, এবং কোথাও লাইভ লিনাক্সের মূলের সাথে সম্পর্কিত নয় – আমাদের ব্যবহার করতে হবে chroot একটি নতুন রুট সেট করতে যা আপনার রুটের দিকে নির্দেশ করে ইনস্টল করা নথি ব্যবস্থা. অন্য কথায়, “/” দিয়ে শুরু হওয়া পাথগুলি আপনার ফাইল সিস্টেমের মূলকে তাদের সূচনা পয়েন্ট হিসাবে ব্যবহার করবে।

এর জন্য আমরা যে টেস্ট কম্পিউটার ব্যবহার করি তা ব্যবহার করে ext4 ফাইল সিস্টেম, কিন্তু আপনি অন্যান্য ফাইল সিস্টেমেও এই কৌশলটি ব্যবহার করতে পারেন। কোন পার্টিশন বা ভলিউম আপনাকে মাউন্ট করতে হবে এবং কোথায় মাউন্ট করতে হবে তা আপনাকে চিহ্নিত করতে হবে। নীতিগুলি একই।

এটি অনুশীলনের মধ্যে রাখা

আমরা একটি বুটেবল ইউএসবি ড্রাইভ তৈরি করেছি এবং এটি থেকে আমাদের বুট কম্পিউটার বুট করেছি। আমরা যে বিতরণটি ব্যবহার করেছি তা ছিল EndeavourOS. EndeavourOS লাইভ মিডিয়া XFCE 4 ডেস্কটপ পরিবেশে বুট করে।

EndeavourOS লাইভ মিডিয়া XFCE ডেস্কটপ পরিবেশে বুট করা হয়েছে

কোন পার্টিশন আপনার ফাইল সিস্টেমের রুট ধরে রাখে এবং কোনটি বুট পার্টিশন তা সনাক্ত করতে একটি টার্মিনাল উইন্ডো খুলুন এবং ব্যবহার করুন fdisk আদেশ আমরা ব্যবহার করছি -l (তালিকা বিভাজন) বিকল্প। আপনি ব্যবহার করতে হবে sudoখুব

sudo fdisk -l

পার্টিশন এবং ডিভাইসের তালিকা করতে sudo fdisk -l কমান্ড ব্যবহার করে

যতক্ষণ না আপনি “EFI সিস্টেম” এবং “Linux ফাইলসিস্টেম” লেবেলযুক্ত এন্ট্রি দেখতে পান ততক্ষণ আউটপুট দিয়ে স্ক্রোল করুন।

বুট এবং রুট পার্টিশন হাইলাইট সহ sudo fdisk -l কমান্ড থেকে আউটপুট

এই কম্পিউটারে, তারা উভয়ই রয়েছে sda হার্ড ড্রাইভ. পার্টিশন লেবেল দ্বারা নির্দেশিত হিসাবে তারা এক এবং দুই পার্টিশনে আছে /dev/sda1 অন্যান্য /dev/sda2.

আপনার কম্পিউটারে, সেগুলি বিভিন্ন হার্ড ড্রাইভ এবং পার্টিশনে থাকতে পারে৷ সেগুলি যে পার্টিশনগুলিতে রয়েছে তা নোট করার যত্ন নিন, আমাদের পরবর্তী কমান্ডগুলিতে এগুলি ব্যবহার করতে হবে।

লাইভ ফাইল সিস্টেমের সাথে সংযুক্ত করে আমাদের এই পার্টিশনগুলিতে ফাইল সিস্টেমগুলিকে মাউন্ট করতে হবে mount আদেশ আমাদের জন্য তা করবে। মনে রাখবেন, আপনার পার্টিশন লেবেলগুলি ভিন্ন হতে পারে, তাই নিশ্চিত করুন যে আপনি আপনার ফলাফল থেকে লেবেলগুলি ব্যবহার করেন fdisk আদেশ

sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi

বুট এবং ফাইল সিস্টেম রুট ফাইল সিস্টেম মাউন্ট করা

ফাইল সিস্টেমের কার্যকরী রুটটি আপনার প্রকৃত, ইনস্টল করা ফাইল সিস্টেমের মূল থেকে শুরু করতে, আমরা ব্যবহার করব chroot রুটটিকে “/mnt” মাউন্ট পয়েন্ট হিসাবে সেট করতে। এখানে আপনার ইনস্টল করা ফাইল সিস্টেমের রুট লাইভ ফাইল সিস্টেমে গ্রাফ্ট করা হয়।

sudo chroot /mnt

একটি নতুন কার্যকর রুট তৈরি করতে chroot কমান্ড ব্যবহার করে

লক্ষ্য করুন যে কমান্ড প্রম্পট পরিবর্তনগুলি দেখায় যে আপনি এখন কার্যকরভাবে রুট হিসাবে লগ ইন করেছেন এবং আপনি আপনার কম্পিউটারের ফাইল সিস্টেমের “/” রুট ডিরেক্টরিতে আছেন।

আমরা সহজেই এটি পরীক্ষা করতে পারি, “/home” ডিরেক্টরিতে পরিবর্তন করে এবং এর ভিতরে কোন ডিরেক্টরি রয়েছে তা পরীক্ষা করে।

cd /home
ls

ব্যবহারকারীর অ্যাকাউন্ট তালিকাভুক্ত করতে ls ব্যবহার করে

আপনার কম্পিউটারে কনফিগার করা প্রতিটি ব্যবহারকারীর জন্য একটি ডিরেক্টরি দেখতে হবে, যার মধ্যে আপনার নিজের ব্যবহারকারীর অ্যাকাউন্টের জন্য একটি রয়েছে৷ এই কম্পিউটারের একজন একক ব্যবহারকারী আছে, যাকে “ডেভ” বলা হয়। আমরা যদি ব্যবহার করতাম cd /home আমরা ব্যবহার করার আগে chroot কমান্ড, আমরা লাইভ ফাইল সিস্টেমের “/home” ডিরেক্টরিতে প্রবেশ করি।

শুধু পরিষ্কার হতে, আপনি এখন অ্যাক্সেস করছেন আপনার আসল ফাইল সিস্টেম হিসাবে মূল ব্যবহারকারী, তাই সতর্ক থাকুন।

GRUB 2:2.06.r322 এর সাথে সমস্যাটি সমাধান করতে, আমাদের যা করতে হবে তা চালানো হয়েছিল grub-install আদেশ

grub-install

GRUB বুট থেকে BIOS ত্রুটি ঠিক করতে grub-install কমান্ড চালানো হচ্ছে

চলমান grub-install অন্ধভাবে এই মত সাধারণত সুপারিশ করা হয় না. এই ক্ষেত্রে, এটা কি প্রয়োজন ছিল.

মেরামত বা প্রতিস্থাপন

আপনি যদি একটি ভিন্ন সমস্যা সমাধানের চেষ্টা করছেন, তাহলে আপনার সমস্যার উপযুক্ত সমাধানের জন্য আপনাকে আপনার বিতরণের জন্য ফোরামগুলি পরীক্ষা করতে হবে৷ যদি এটি একটি ব্যাপক অভিযোগ হয়, আপনি শীঘ্রই এটির একটি সমাধান খুঁজে পাবেন।

খুব অন্তত, এখন আপনি আপনার ফাইল সিস্টেম অ্যাক্সেস করতে পারেন, আপনি কিছু অপসারণযোগ্য মিডিয়াতে আপনার ডেটা অনুলিপি করতে সক্ষম। আপনি যদি সম্পূর্ণ পুনরায় ইনস্টল করার সিদ্ধান্ত নেন তবে আপনি ডেটা হারাবেন না।

সম্পর্কিত: লিনাক্সে “ইনস্টল” কমান্ড ব্যবহার করে ফাইলগুলি কীভাবে অনুলিপি করবেন