এলএফসিএস: গ্র্যান্ড ইউনিফাইড বুটলোডার (জিআরইউবি) কনফিগার ও সমস্যা নিবারণ - পার্ট 13
2 শে ফেব্রুয়ারী, 2016 থেকে কার্যকর এলএফসিএস শংসাপত্র পরীক্ষার উদ্দেশ্যগুলির সাম্প্রতিক পরিবর্তনের কারণে আমরা প্রয়োজনীয় বিষয়গুলিও এলএফসিইসি সিরিজে যুক্ত করছি।
এই নিবন্ধে আমরা আপনাকে GRUB এর সাথে পরিচয় করিয়ে দেব এবং বুট লোডার কেন প্রয়োজনীয় এবং এটি কীভাবে সিস্টেমে বহুমুখিতা যুক্ত করে তা ব্যাখ্যা করব।
লিনাক্স বুট প্রক্রিয়াটি আপনি আপনার কম্পিউটারের পাওয়ার বোতাম টিপুন যতক্ষণ না আপনি একটি সম্পূর্ণ-কার্যকরী সিস্টেম না পাওয়া পর্যন্ত এই উচ্চ-স্তরের ক্রমটি অনুসরণ করে:
- 1। POST (পাওয়ার-অন সেলফ টেস্ট) হিসাবে পরিচিত একটি প্রক্রিয়া আপনার কম্পিউটারের হার্ডওয়্যার উপাদানগুলিতে সামগ্রিক পরীক্ষা করে।
- 2। POST সম্পূর্ণ হয়ে গেলে, এটি নিয়ন্ত্রণটি বুট লোডারকে দিয়ে দেয়, যার ফলে লিনাক্স কার্নেলটি মেমরির (initramfs সহ) লোড করে এবং কার্যকর করে exec লিনাক্সে সর্বাধিক ব্যবহৃত বুট লোডার হ'ল গ্র্যান্ড ইউনিফাইড বুট লোডার বা সংক্ষেপে GRUB
- 3। কার্নেলটি হার্ডওয়্যারটি পরীক্ষা করে দেখে এবং তারপরে প্রাথমিক প্রক্রিয়াটি চালায় (বেশিরভাগরূপে এটির নাম "আরআইসি" দ্বারা পরিচিত) যা পরিষেবাগুলি শুরু করে সিস্টেম বুটকে সম্পূর্ণ করে
এই সিরিজের Part ষ্ঠ অংশে ("আধুনিক লিনাক্স ডিস্ট্রিবিউশনগুলি দ্বারা ব্যবহৃত পরিষেবা পরিচালন সিস্টেম এবং সরঞ্জামগুলি। আপনি আরও নিবন্ধের আগে এই নিবন্ধটি পর্যালোচনা করতে চাইতে পারেন want"
GRUB বুট লোডার উপস্থাপন করা হচ্ছে
দুটি বড় GRUB সংস্করণ (v1 কে কখনও কখনও GRUB লেগ্যাসি এবং v2 বলা হয়) আধুনিক সিস্টেমে পাওয়া যাবে যদিও বেশিরভাগ বিতরণ তাদের সর্বশেষ সংস্করণগুলিতে ডিফল্টরূপে v2 ব্যবহার করে। কেবলমাত্র রেড হ্যাট এন্টারপ্রাইজ লিনাক্স 6 এবং এর ডেরিভেটিভগুলি আজও v1 ব্যবহার করে।
সুতরাং, আমরা এই গাইডের প্রাথমিকভাবে ভি 2 এর বৈশিষ্ট্যগুলিতে ফোকাস করব।
GRUB সংস্করণ নির্বিশেষে, একটি বুট লোডার ব্যবহারকারীকে এটি করতে দেয়:
- 1)। ব্যবহারের জন্য বিভিন্ন কার্নেল নির্দিষ্ট করে সিস্টেমের আচরণের পদ্ধতিটি পরিবর্তন করুন
- 2)। বুট করার জন্য বিকল্প অপারেটিং সিস্টেমগুলির মধ্যে চয়ন করুন এবং
- 3)। অন্যান্য জিনিসগুলির মধ্যে বুট বিকল্পগুলি পরিবর্তন করতে কনফিগারেশন স্টাঞ্জগুলি যুক্ত বা সম্পাদনা করুন
আজ, GRUB GNU প্রকল্প দ্বারা পরিচালিত এবং তাদের ওয়েবসাইটে ভালভাবে নথিভুক্ত করা হয়েছে। এই গাইডের মধ্য দিয়ে যাওয়ার সময় আপনাকে জিএনইউ অফিসিয়াল ডকুমেন্টেশন ব্যবহার করতে উত্সাহ দেওয়া হচ্ছে।
সিস্টেম বুট করার সময় আপনাকে নিম্নলিখিত কনসোলটিতে নিম্নলিখিত GRUB পর্দার সাথে উপস্থাপন করা হবে। প্রাথমিকভাবে, আপনাকে বিকল্প কার্নেলগুলির মধ্যে চয়ন করার অনুরোধ জানানো হবে (ডিফল্টরূপে, সিস্টেমটি সর্বশেষ কার্নেলটি ব্যবহার করে বুট করবে) এবং একটি GRUB কমান্ড লাইনে প্রবেশের অনুমতি দেওয়া হবে ( c
সহ) বা বুট বিকল্পগুলি সম্পাদনা করে (দ্বারা e
কী টিপছে)।
আপনি পুরানো কার্নেল দিয়ে বুট করার বিষয়টি বিবেচনা করার একটি কারণ হল একটি হার্ডওয়্যার ডিভাইস যা সঠিকভাবে কাজ করে এবং একটি আপগ্রেডের পরে "কাজ শুরু" করে (উদাহরণস্বরূপ আসকউবুন্টু ফোরামে এই লিঙ্কটি দেখুন)।
GRUB v2 কনফিগারেশন /boot/grub/grub.cfg
বা /boot/grub2/grub.cfg
থেকে বুটে পড়ছে, যেখানে /বুট/গ্রুব/grub.conf
বা /boot/grub/menu.lst
ভি 1 তে ব্যবহৃত হয়। এই ফাইলগুলি হাতে সম্পাদনা করার দরকার নেই, তবে /etc/default/grub
এবং /etc/grub.d
- র ভিতরে থাকা ফাইলগুলির উপর ভিত্তি করে সংশোধন করা হয়েছে।
একটি CentOS 7-এ, সিস্টেমটি ইনস্টল হওয়ার পরে তৈরি করা কনফিগারেশন ফাইলটি এখানে রয়েছে:
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="vconsole.keymap=la-latin1 rd.lvm.lv=centos_centos7-2/swap crashkernel=auto vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos_centos7-2/root rhgb quiet" GRUB_DISABLE_RECOVERY="true"
অনলাইন ডকুমেন্টেশন ছাড়াও, আপনি নিম্নলিখিত হিসাবে তথ্য ব্যবহার করে GNU GRUB ম্যানুয়ালটি পেতে পারেন:
# info grub
আপনি যদি/ইত্যাদি/ডিফল্ট/গ্রাবের জন্য উপলভ্য বিকল্পগুলিতে বিশেষভাবে আগ্রহী হন তবে আপনি সরাসরি কনফিগারেশন বিভাগটি শুরু করতে পারেন:
# info -f grub -n 'Simple configuration'
উপরের কমান্ডটি ব্যবহার করে আপনি খুঁজে পাবেন যে GRUB_TIMEOUT
প্রাথমিক স্ক্রিনটি উপস্থিত হওয়ার মুহূর্তের মধ্যে সময় নির্ধারণ করে এবং ব্যবহারকারী দ্বারা বাধা না দেওয়া থাকলে সিস্টেম স্বয়ংক্রিয় বুটিং শুরু হয়। যখন এই ভেরিয়েবলটি -1
তে সেট করা থাকে, ব্যবহারকারী নির্বাচন না করা পর্যন্ত বুট শুরু হবে না।
যখন একই মেশিনে একাধিক অপারেটিং সিস্টেম বা কার্নেলগুলি ইনস্টল করা থাকে, GRUB_DEFAULT
এর একটি পূর্ণসংখ্যার মান প্রয়োজন যা GRUB প্রারম্ভিক স্ক্রিনে কোন OS বা কার্নেল এন্ট্রিটি ডিফল্টরূপে বুট করার জন্য নির্বাচন করা উচিত তা নির্দেশ করে। এন্ট্রিগুলির তালিকা কেবল উপরে বর্ণিত স্প্ল্যাশ স্ক্রিনেই দেখা যাবে না, তবে নিম্নলিখিত কমান্ডটি ব্যবহার করে:
# awk -F\' '$1=="menuentry " {print $2}' /boot/grub2/grub.cfg
# awk -F\' '$1=="menuentry " {print $2}' /boot/grub/grub.cfg
নীচের চিত্রটিতে প্রদর্শিত উদাহরণে, আমরা কার্নেল সংস্করণ 3.10.0-123.el7.x86_64 (চতুর্থ প্রবেশ) দিয়ে বুট করতে চাইলে আমাদের GRUB_DEFAULT
3 <এ সেট করতে হবে/কোড> (এন্ট্রিগুলি শূন্য দিয়ে অভ্যন্তরীণভাবে সংখ্যাযুক্ত):
GRUB_DEFAULT=3
একটি বিশেষ চূড়ান্ত GRUB কনফিগারেশন ভেরিয়েবল যা বিশেষ আগ্রহী হ'ল GRUB_CMDLINE_LINUX
, যা কার্নেলের বিকল্পগুলি পাস করার জন্য ব্যবহৃত হয়। GRUB এর মাধ্যমে কার্নেলের কাছে যে বিকল্পগুলি পাঠানো যায় সেগুলি ম্যান 7 বুটপ্যারামে ভালভাবে নথিভুক্ত করা হয়েছে।
আমার CentOS 7 সার্ভারে বর্তমান বিকল্পগুলি হ'ল:
GRUB_CMDLINE_LINUX="vconsole.keymap=la-latin1 rd.lvm.lv=centos_centos7-2/swap crashkernel=auto vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos_centos7-2/root rhgb quiet"
আপনি কেন ডিফল্ট কার্নেল প্যারামিটারগুলি সংশোধন করতে বা অতিরিক্ত বিকল্পগুলি পাস করতে চান? সাধারণ কথায়, এমন সময় থাকতে পারে যখন আপনি কার্নেলকে নির্দিষ্ট হার্ডওয়্যার পরামিতিগুলি বলার প্রয়োজন হয় যা এটি নিজের দ্বারা নির্ধারণ করতে সক্ষম হতে পারে না বা এটি সনাক্ত করতে পারে এমন মানগুলি ওভাররাইড করতে পারে।
আমার 10 বছরের পুরানো ল্যাপটপে যখন স্ল্যাকওয়্যার থেকে উদ্ভূত ভেক্টর লিনাক্স চেষ্টা করেছিলাম তখন আমার সাথে এটি ঘটেছিল। ইনস্টলেশনের পরে এটি আমার ভিডিও কার্ডের জন্য সঠিক সেটিংস সনাক্ত করতে পারে নি তাই এটি কাজ করার জন্য আমাকে GRUB এর মধ্য দিয়ে যাওয়া কার্নেল বিকল্পগুলি পরিবর্তন করতে হয়েছিল।
আর একটি উদাহরণ হ'ল যখন আপনাকে রক্ষণাবেক্ষণের কাজগুলি সম্পাদন করতে সিস্টেমটি একক-ব্যবহারকারী মোডে আনতে হবে। আপনি একক শব্দটি GRUB_CMDLINE_LINUX
এ যুক্ত করে পুনরায় চালু করে এটি করতে পারেন:
GRUB_CMDLINE_LINUX="vconsole.keymap=la-latin1 rd.lvm.lv=centos_centos7-2/swap crashkernel=auto vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos_centos7-2/root rhgb quiet single"
/etc/defalt/grub
সম্পাদনা করার পরে আপনাকে আপডেট-গ্রাব
(উবুন্টু) বা গ্রুব 2-এমকনফিগ -o/বুট/গ্রুব 2/গ্রুব চালাতে হবে।
(CentOS এবং ওপেনসুএস) পরে (অন্যথায়, বুট করার পরে পরিবর্তনগুলি হারিয়ে যাবে)। grub.cfg
আপডেট করার জন্য cfg
এই কমান্ডটি grub.cfg
আপডেট করার জন্য পূর্বে উল্লিখিত বুট কনফিগারেশন ফাইলগুলি প্রক্রিয়া করবে। এই পদ্ধতিটি পরিবর্তনগুলি স্থায়ী কিনা তা নিশ্চিত করে, যখন বুট সময়ে GRUB এর মাধ্যমে দেওয়া বিকল্পগুলি বর্তমান অধিবেশন চলাকালীনই স্থায়ী হয়।
লিনাক্স GRUB ইস্যু ঠিক করা
যদি আপনি দ্বিতীয় অপারেটিং সিস্টেম ইনস্টল করেন বা যদি মানুষের ত্রুটির কারণে আপনার GRUB কনফিগারেশন ফাইলটি দূষিত হয়ে যায় তবে এমন উপায় রয়েছে যে আপনি নিজের সিস্টেমটিকে তার পায়ে ফিরিয়ে আনতে পারবেন এবং আবার বুট করতে সক্ষম হবেন।
প্রাথমিক স্ক্রিনে, একটি GRUB কমান্ড লাইন পেতে c
টিপুন (মনে রাখবেন যে আপনি ডিফল্ট বুট বিকল্পগুলি সম্পাদনা করতে e
চাপতেও পারেন), এবং উপলভ্য আনতে সহায়তা ব্যবহার করুন GRUB প্রম্পটে কমান্ড:
আমরা ls এর উপর ফোকাস করব, যা ইনস্টল করা ডিভাইস এবং ফাইল সিস্টেমগুলি তালিকাভুক্ত করবে এবং আমরা এটি কী খুঁজে পেয়েছি তা পরীক্ষা করব। নীচের চিত্রটিতে আমরা দেখতে পাচ্ছি যে এখানে 4 টি হার্ড ড্রাইভ রয়েছে ( এইচডি 0
এইচডি 3
এর মাধ্যমে)।
কেবলমাত্র hd0
পার্টিশন করা হয়েছে বলে মনে হয় (এমএসডোস 1 এবং এমএসডোস 2 দ্বারা প্রমাণিত, যেখানে 1 এবং 2 পার্টিশন নম্বর এবং এমএসডোস পার্টিশন স্কিম)।
আমরা এখন GRUB খুঁজে পেতে পারি কিনা তা দেখার জন্য hd0
(msdos1) এ প্রথম পার্টিশনটি পরীক্ষা করা যাক। এই পদ্ধতির সাহায্যে আমরা লিনাক্স বুট করতে পারি এবং কনফিগারেশন ফাইলটি মেরামত করতে বা উচ্চ প্রয়োজনে GRUB পুরোপুরি পুনরায় ইনস্টল করতে অন্যান্য উচ্চ স্তরের সরঞ্জাম ব্যবহার করতে হবে:
# ls (hd0,msdos1)/
যেমনটি আমরা হাইলাইট করা অঞ্চলটিতে দেখতে পাচ্ছি, আমরা এই পার্টিশনে গ্রাব 2 ডিরেক্টরিটি পেয়েছি:
একবার যখন আমরা নিশ্চিত হয়ে যাই যে GRUB (hd0, msdos1) এ বাস করে, তখন GRUB কে এটির কনফিগারেশন ফাইলটি কোথায় পাওয়া যায় এবং তার মেনুটি চালু করার চেষ্টা করার জন্য নির্দেশ দিন:
set prefix=(hd0,msdos1)/grub2 set root=(hd0,msdos1) insmod normal normal
তারপরে GRUB মেনুতে, একটি এন্ট্রি চয়ন করুন এবং এটি ব্যবহার করে বুট করতে এন্টার টিপুন। সিস্টেমটি বুট করার পরে আপনি grub2-install/dev/sdX
কমান্ডটি জারি করতে পারেন (GRUD ইনস্টল করতে চান এমন ডিভাইসের সাথে sdX
পরিবর্তন করুন)। এরপরে বুট তথ্য আপডেট করা হবে এবং সম্পর্কিত সমস্ত ফাইল পুনরুদ্ধার করা হবে।
# grub2-install /dev/sdX
উবুন্টু GRUB2 ট্রাবলশুটিং গাইডটিতে আরও আরও জটিল পরিস্থিতিগুলি তাদের প্রস্তাবিত সংশোধনগুলি সহ নথিভুক্ত করা হয়েছে। কনসেপ্টগুলি ব্যাখ্যা করেছে যে অন্যান্য বিতরণের জন্যও বৈধ।
সারসংক্ষেপ
এই নিবন্ধে আমরা আপনাকে GRUB এর সাথে পরিচয় করিয়ে দিয়েছি, যেখানে আপনি অনলাইনে এবং অফলাইনে উভয়ই ডকুমেন্টেশন পেতে পারেন এবং বুট-লোডার-সম্পর্কিত সমস্যার কারণে কোনও সিস্টেমের সঠিকভাবে বুট করা বন্ধ হয়ে গেছে এমন একটি দৃশ্যের কাছে কীভাবে যেতে হবে তা ব্যাখ্যা করে explained
সৌভাগ্যক্রমে, GRUB অন্যতম সেই সরঞ্জাম যা সেরা নথিভুক্ত হয় এবং আপনি সহজেই ইনস্টলড ডক্সে বা অনলাইনে এই নিবন্ধে ভাগ করে নেওয়া সংস্থানগুলি ব্যবহার করে সহায়তা পেতে পারেন।
আপনার কি প্রশ্ন বা মন্তব্য আছে? নীচে মন্তব্য ফর্ম ব্যবহার করে আমাদের জানতে দ্বিধা করবেন না। আমরা আপনার কাছ থেকে শ্রবণ করার জন্য উন্মুখ!