GRUB কী: GNU বুট ম্যানেজারের একটি সম্পূর্ণ নির্দেশিকা

সর্বশেষ আপডেট: 14 অক্টোবরের 2025
  • GRUB হল GNU বুট ম্যানেজার যা BIOS/UEFI এবং মাল্টিবুট সমর্থন করে অপারেটিং সিস্টেম নির্বাচন এবং লোড করে।
  • GRUB 2 মডিউল, উন্নত ফাইল সিস্টেম সমর্থন, UUID অনুসন্ধান এবং একটি গ্রাফিক্যাল মেনু/টার্মিনাল যোগ করে।
  • কনফিগারেশনটি /etc/default/grub এবং 40_custom এর মাধ্যমে পরিচালিত হয়, update-grub অথবা grub2-mkconfig দিয়ে পুনরুজ্জীবিত করা হয়।
  • নিরাপত্তা: GRUB-কে পাসওয়ার্ড-সুরক্ষিত করুন, LUKS এনক্রিপশন ব্যবহার করুন এবং শক্তিশালী পাসওয়ার্ড নীতিমালা রাখুন।

GRUB সম্পর্কে সাধারণ চিত্রণ

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

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

GNU GRUB কী এবং এটি কীসের জন্য?

গ্নু গ্রাব (GNU GRUB - গ্নু গ্র্যান্ড ইউনিফাইড বুটলোডার) হলো একটি মাল্টি-বুট ম্যানেজার: এটি এমন একটি সফটওয়্যার যা কম্পিউটার চালু হওয়ার সময় ফার্মওয়্যার (BIOS বা UEFI) একটি অপারেটিং সিস্টেম নির্বাচন ও লোড করার জন্য চালায়। এটি ব্যবহারকারীদের মেনু আইটেম নির্বাচন করতে, কার্নেলে প্যারামিটার পাঠাতে, নেটওয়ার্ক থেকে বুট করতে এবং এমনকি নির্দিষ্ট সমস্যা সমাধানের জন্য কনসোলের সাথে যোগাযোগ করতেও সাহায্য করে।

এটি প্রধানত GNU/Linux ডিস্ট্রিবিউশনগুলিতে ব্যবহৃত হয়, যদিও x86-এর সোলারিসের মতো অন্যান্য সিস্টেমেও এটি ব্যবহৃত হয়েছে। আধুনিক UEFI সিস্টেমে , ফার্মওয়্যার সরাসরি EFI সিস্টেম পার্টিশনে (ESP) অবস্থিত GRUB এক্সিকিউটেবলটি লোড করে , যদি এটি NVRAM-এ নিবন্ধিত থাকে; BIOS/MBR-এ, GRUB ডিস্কের প্রাথমিক সেক্টরগুলি দখল করে এবং সেখান থেকে কাজ চালিয়ে যায়।

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

GRUB বুট অপশন স্ক্রিন

কারিগরি শীট এবং প্রকল্পের তথ্য

GRUB হলো GNU ইকোসিস্টেমের একটি অংশ এবং এটি GNU GPL v3 বা তার পরবর্তী লাইসেন্সের অধীনে ফ্রি সফটওয়্যার হিসেবে বিতরণ করা হয় । এর উন্নয়ন ওপেন সোর্স, এবং এর একটি অফিশিয়াল রিপোজিটরি, বাগ ট্র্যাকার, ওয়েবসাইট ও একটি অত্যন্ত সক্রিয় কমিউনিটি রয়েছে।

এটি মূলত সি এবং অ্যাসেম্বলারে লেখা, এবং বেশ কয়েকটি প্ল্যাটফর্মে চলে: IA-32, x86-64 এবং পাওয়ারপিসি, অন্যান্যদের মধ্যে। বর্তমান শাখাটি হল GRUB 2 (ঐতিহাসিক "GRUB লিগ্যাসি" এর পুনঃপ্রবর্তন)। প্রকাশিত সর্বশেষ স্থিতিশীল সংস্করণটি হল 2.12 (২০ ডিসেম্বর, ২০২৩)। আপনি যদি আপনার স্থানীয় সংস্করণটি পরীক্ষা করতে চান, তাহলে আপনি এটি চালাতে পারেন: grub-install --version এবং আপনি সংশ্লিষ্ট চেইনটি দেখতে পাবেন।

ইতিহাস এবং বিবর্তনের কিছু কথা

জিএনইউ হার্ড এবং ম্যাক মাইক্রোকার্নেলের প্রেক্ষাপটে এরিখ স্টেফান বোলিনের একটি উদ্যোগ হিসেবে গ্রাব (GRUB) শুরু হয়েছিল । বুট পদ্ধতির বৈষম্য দূর করার জন্য মাল্টিবুট স্পেসিফিকেশন তৈরি করা হয়েছিল, যা বুটলোডার এবং কার্নেলগুলোকে "একই ভাষায় কথা বলতে" সহায়তা করেছিল। ১৯৯৯ সালে, গর্ডন ম্যাটজিগকাইট এবং ইয়োশিনোরি ওকুজি জিএনইউ প্রজেক্টের একটি আনুষ্ঠানিক প্যাকেজ হিসেবে এটিকে গ্রহণ করার ক্ষেত্রে অগ্রণী ভূমিকা পালন করেন।

২০০২ সালের দিকে, একদল জাপানি গবেষক GRUB-কে আরও শক্তিশালী ও মডিউলার করে তোলার লক্ষ্যে PUPA (Preliminary Universal Programming Architecture) শুরু করেন। এই প্রচেষ্টার ফলস্বরূপ GRUB 2 তৈরি হয়, এবং এর পূর্ববর্তী সংস্করণটি "GRUB Legacy" নামে পরিচিতি লাভ করে (যার ০.৯৭ সংস্করণটি সর্বশেষ ২০০৫ সালে আপডেট করা হয়েছিল)। ২০০৭ সাল থেকে বেশ কিছু ডিস্ট্রিবিউশন GRUB 2-তে স্থানান্তরিত হয় এবং ২০০৯ সালের শেষ নাগাদ অধিকাংশ ডিস্ট্রিবিউশনেই এটি ডিফল্ট হিসেবে অন্তর্ভুক্ত হয়ে যায় ।

GRUB বুট প্রক্রিয়ার চিত্র

GRUB (BIOS এবং UEFI) দিয়ে আপনার কম্পিউটার কিভাবে বুট করবেন

যখন আপনি আপনার পিসি চালু করেন, তখন ফার্মওয়্যারটি তার পরীক্ষা চালায় (RAM, ঘড়ি, ডিভাইস, বুট অর্ডার) এবং একটি বুটলোডার অনুসন্ধান করে। BIOS/MBR সহ সিস্টেমগুলিতে, নিয়ন্ত্রণটি মাস্টার বুট রেকর্ড (MBR), ডিস্কের প্রাথমিক 512 বাইট। GRUB কে বিভিন্ন ধাপে ভাগ করা হয়েছিল: পর্যায় ১ (MBR তে ন্যূনতম কোড), পর্যায় ১.৫ (পরবর্তী সেক্টরে, ফাইল সিস্টেম বোঝার জন্য ব্রিজিং), এবং পর্যায় ২ (মেনু এবং উন্নত ফাংশন)। GRUB ২ তে, সেই "১.৫" আর বিদ্যমান নেই; এখন নির্দিষ্ট চিত্র রয়েছে যেমন boot.img, core.img এবং মডিউল (*.mod) যা ইনস্টলেশন অনুসারে একত্রিত করা হয়।

  উইন্ডোজ প্রো এবং এন্টারপ্রাইজ এবং অন্যান্য সংস্করণের মধ্যে পার্থক্য

UEFI-তে প্রক্রিয়াটি আরও সরাসরি: ফার্মওয়্যারটি EFI পার্টিশন থেকে GRUB EFI বাইনারিটি চালায় , যদি সেটি সঠিকভাবে ইনস্টল এবং রেজিস্টার করা থাকে। উভয় ক্ষেত্রেই, GRUB একটি মেনু বা কনসোল প্রদর্শন করে, নির্বাচিত কার্নেলটি লোড করে এবং তারপর সেটিতে এক্সিকিউশন স্থানান্তর করে।

মাল্টিবুট স্পেসিফিকেশন এবং সামঞ্জস্যতা

GRUB মাল্টিবুট বাস্তবায়ন করে, যার ফলে কোনো বিশেষ "কৌশল" ছাড়াই সামঞ্জস্যপূর্ণ কার্নেল বুট করা যায়। অধিকন্তু, যেসব সিস্টেম এটি সমর্থন করে না (যেমন উইন্ডোজ বা ডস ), তাদের জন্য এটি চেইনলোডিং সুবিধা দেয়, যা পার্টিশনের প্রথম সেক্টরকে লক্ষ্য করে যেখানে এর বুটলোডারগুলো থাকে।

এর ফাইল সিস্টেম সামঞ্জস্যতা ব্যাপক: Btrfs, ext2/3/4, FAT12/16/32, exFAT, HFS/HFS+, ISO9660, Nilfs2, NTFS, ReiserFS, ZFS, ROMFS, JFS, XFS ইত্যাদি। এটি LVM ভলিউম এবং RAID অ্যারে থেকেও ডেটা পড়তে পারে, যা স্টোরেজ কাঠামো জটিল হলে একটি উল্লেখযোগ্য সুবিধা।

বৈশিষ্ট্যযুক্ত বৈশিষ্ট্য এবং ফাংশন

  • মেনু ইন্টারফেস ট্যাব অটো-কমপ্লিশন এবং ব্যাশ-স্টাইল শর্টকাট সহ কনফিগারযোগ্য এবং অত্যন্ত নমনীয় ইন্টারেক্টিভ টার্মিনাল।
  • এর সমর্থন LBA (লজিক্যাল ব্লক অ্যাড্রেসিং) ক্লাসিক BIOS সীমা অতিক্রম করতে এবং 1024 সিলিন্ডারের বাইরে পড়তে।
  • জন্য ক্ষমতা নেটওয়ার্ক বুট (PXE/TFTP) এবং দূরবর্তী টার্মিনাল, কেন্দ্রীভূত ব্যবস্থাপনা পরিস্থিতিতে কার্যকর।
  • স্বয়ংক্রিয় ডিকম্প্রেশন এবং একাধিক এক্সিকিউটেবল ফর্ম্যাটের স্বীকৃতি।
  • ভেরিয়েবলের স্থায়ী সঞ্চয়স্থান সেভ_এনভি/লোড_এনভি y grub-editenv (যখন প্ল্যাটফর্ম অনুমতি দেয়)।
  • সমস্ত RAM সনাক্তকরণ, ডিস্ক জ্যামিতির স্বাধীনতা, এবং লেবেল এবং UUID অনুসারে অনুসন্ধান প্রক্রিয়া.
  • মেনু এবং ব্যাকগ্রাউন্ডের জন্য গ্রাফিক্যাল সাপোর্ট, এবং একটি মডুলার ডিজাইন যা বজায় রাখে কোর.আইএমজি ছোট এবং প্রয়োজন অনুসারে মডিউল লোড করে।

মূল পরিভাষা: ডিভাইস, পার্টিশন এবং পাথ

GRUB তার নিজস্ব পদ্ধতিতে ডিস্ক এবং পার্টিশনের নামকরণ করে। প্রথম ডিস্কটি সাধারণত (এইচডি0), প্রথম বিভাজন (এইচডি0,1) GRUB 2 তে (মনে রাখবেন: GRUB 2 তে, সংখ্যাকরণ 1 থেকে শুরু হয়; Legacy তে, এটি 0 থেকে শুরু হয়)। একটি সম্পূর্ণ ডিস্ক উল্লেখ করার জন্য, পার্টিশনটি বাদ দেওয়া হয়: (hd0).

ফাইলগুলি নির্দেশ করতে, ডিভাইসটি পাথের সাথে একত্রিত করা হয়েছে: (hd0,1)/ruta/al/archivo. এটি সমর্থন করে ব্লকলিস্ট (ব্লক তালিকা) যখন ফাইল সিস্টেমে দৃশ্যমান নয় এমন কোনও ফাইলের ডিস্কে সঠিক অবস্থান নির্দেশ করার প্রয়োজন হয়, উদাহরণস্বরূপ (hd0,1)+1 পার্টিশনের প্রথম সেক্টরের জন্য, এর সাথে কার্যকর chainloader +1.

GRUB-এর "রুট ফাইলসিস্টেম" লিনাক্সের "/" এর মতো নয়। এটি কেবল সেই রুট পার্টিশন যেখান থেকে GRUB তার ফাইলগুলি পড়ে ; একবার লিনাক্স কার্নেল নিয়ন্ত্রণ নিলে, এটি তার নিজস্ব প্রকৃত রুট নির্ধারণ করে, এবং GRUB-এর বাকি সবকিছু অপ্রাসঙ্গিক হয়ে পড়ে।

GRUB ইন্টারফেস

GRUB তিনটি প্রধান ভিউ প্রদান করে। এর মধ্যে সবচেয়ে পরিচিত হলো মেনু , যেখানে আগে থেকেই এন্ট্রিগুলো কনফিগার করা থাকে; আপনি অ্যারো কী দিয়ে নেভিগেট করতে, এন্টার দিয়ে বুট করতে, 'e' দিয়ে কোনো এন্ট্রি সম্পাদনা করতে, অথবা 'c' দিয়ে কনসোল খুলতে পারেন।

ইনপুট এডিটর আপনাকে তাৎক্ষণিকভাবে লাইন পরিবর্তন করার সুযোগ দেয় ('o/O' দিয়ে যোগ করা, 'e' দিয়ে সম্পাদনা করা, 'd' দিয়ে মুছে ফেলা) এবং সবকিছু ঠিকঠাক মনে হলে 'b' দিয়ে বুট করার সুবিধা দেয়। ফাইল স্পর্শ না করে কার্নেল প্যারামিটার পরীক্ষা করার জন্য এটি আদর্শ।

কনসোল হলো সবচেয়ে শক্তিশালী মোড: এটি কনটেক্সচুয়াল অটোকমপ্লিশন, শর্টকাট সম্পাদনা এবং ডিস্ক খোঁজা, কার্নেল/initrd লোড করা বা চেইনলোডিং-এর জন্য GRUB-এর সমস্ত অভ্যন্তরীণ কমান্ড সমর্থন করে । যদি কনফিগারেশন ফাইলটি অনুপস্থিত বা ত্রুটিপূর্ণ থাকে, GRUB আপনাকে এখানে নিয়ে আসবে যাতে আপনি নিজে থেকে সমস্যাটি সমাধান করতে পারেন।

সাধারণ ত্রুটির বার্তা

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

  • ১: অবৈধ বা অ-পরম পথ; ২: অবৈধ ফাইলের ধরণ (নিয়মিত ফাইল নয়); ৩–৪: ডিকম্প্রেশনের সময় ডেটা/হেডার দূষিত; ৫: ক্ষতিগ্রস্ত পার্টিশন টেবিল অথবা অবৈধ।
  • ৬: স্টেজ১/স্টেজ২ অসঙ্গতি; ৭: ১ মেগাবাইটের নিচে লোডিং সমর্থিত নয়; ৮: কার্নেল লোড না করেই বুট করার চেষ্টা করা হয়েছে; ৯: অজানা বুট ব্যর্থতা।
  • ১০: মাল্টিবুট বৈশিষ্ট্য সমর্থিত নয়; ১১: ডিভাইসটি স্বীকৃত নয়; ১২: অবৈধ ডিভাইস; ১৩: অসমর্থিত এক্সিকিউটেবল ফর্ম্যাট।
  • ১৪: ফাইল সিস্টেম সম্পূর্ণ ফাইলটি পড়া থেকে বিরত রাখে; ১৫: ফাইল পাওয়া যায় নি; ১৬: অসঙ্গত ফাইল সিস্টেম কাঠামো।
  • ১৭: নির্বাচিত পার্টিশনটি মাউন্ট করা যাচ্ছে না; ১৮: BIOS দ্বারা সমর্থিত রেঞ্জের বাইরে সিলিন্ডার (পুরানো ড্রাইভে সাধারণত); ১৯: কার্নেলের আগে Initrd।
  • ২০: মাল্টিবুট কার্নেলের আগে মডিউল; ২১: নির্বাচিত ডিস্কের অস্তিত্ব নেই; ২২: অস্তিত্বহীন পার্টিশন; ২৩: একটি সংখ্যা ব্যাখ্যা করার সময় ত্রুটি।
  • ২৪: পার্টিশনের বাইরের ব্লকে অ্যাক্সেস; ২৫: ডিস্ক রিড ত্রুটি; ২৬: অনেক বেশি প্রতীকী লিঙ্ক; ২৭: অজানা কমান্ড।
  • ২৮: আইটেমটি মেমোরিতে ফিট হচ্ছে না; ২৯: ডিস্ক লেখার ত্রুটি; ৩০: অবৈধ যুক্তি; ৩১: ফাইলটি সেক্টর সারিবদ্ধ নয় (ReiserFS, ব্যবহার করুন নোটেল).
  • ৩২: প্রমাণীকরণ প্রয়োজন; ৩৩: সিরিয়াল ডিভাইস কনফিগার করা হয়নি; ৩৪: MBR এর পরে পর্যায় ১.৫ এর জন্য কোনও মুক্ত সেক্টর নেই (EZ-BIOS এর সাথে বিরোধ বা খুব তাড়াতাড়ি পার্টিশন শুরু হওয়া)।
  লিনাক্সে ফায়ারফক্সের ১৫০টি উন্নতি এবং ব্রাউজারটির প্রধান নতুন বৈশিষ্ট্যসমূহ

বেসিক GRUB কমান্ড

কনসোলে আপনি খুব দরকারী ইন্টারেক্টিভ কমান্ড চালাতে পারেন। উদাহরণস্বরূপ, boot শেষ লোড করা (কার্নেল বা চেইনলোডার) শুরু করে, এবং chainloader <archivo> একটি চেইন থেকে একটি সেক্টর বা ফাইল লোড করে; উইন্ডোজের জন্য সাধারণ শর্টকাট হল chainloader +1.

displaymem BIOS অনুসারে মেমোরির ব্যবহার প্রদর্শন করে, যা সনাক্ত করা RAM সম্পর্কে নিশ্চিত না হলে কাজে লাগে। initrd <archivo> আপনি কার্নেলের জন্য প্রয়োজনীয় প্রাথমিক RAM ডিস্ক চিত্রটি নির্দিষ্ট করুন।

GRUB Legacy কনসোল থেকে MBR তে ইনস্টল করতে, আপনি ব্যবহার করেছেন install যাওয়ার রুটগুলির সাথে stage1, stage2 এবং, ঐচ্ছিকভাবে, কনফিগারেশন ফাইলে। আজ GRUB 2-এ, সিস্টেম থেকে, এটি ব্যবহার করা স্বাভাবিক grub-install এবং মেনুটি পুনরায় তৈরি করুন update-grub/grub2-mkconfig.

কমান্ড kernel কার্নেল বাইনারি এবং এর পরামিতি নির্দিষ্ট করে, উদাহরণস্বরূপ: kernel /vmlinuz root=/dev/sda5এটি সাধারণত পূর্বে থাকে root (hdX,Y) o rootnoverify GRUB যে পার্টিশন থেকে পড়বে তা সেট করতে।

কনফিগারেশন ফাইল এবং নির্দেশিকা

GRUB Legacy-তে মেনুটি ছিল /boot/grub/menu.lst o grub.conf, যেমন নির্দেশাবলী সহ color, default, fallback, hiddenmenu, password, timeout, splashimage এবং ব্লক title প্রতিটি সিস্টেমের জন্য অর্ডার সহ।

একটি ক্লাসিক উদাহরণ (প্যারাফ্রেজড) এর মধ্যে একটি লিনাক্স বিভাগ অন্তর্ভুক্ত থাকবে যার সাথে root (hd0,2), kernel তার সাথে রুট প্যারামিটার=/…, Y boot; এবং উইন্ডোজের জন্য আরেকটি rootnoverify (hd0,1) y chainloader +1.

GRUB 2-এ স্বয়ংক্রিয়ভাবে তৈরি ফাইলটি হল /boot/grub/grub.cfg. এটি হাতে সম্পাদনা করার পরামর্শ দেওয়া হয় না; পরিবর্তে, এটি সামঞ্জস্য করা হয় /etc/default/grub (মান যেমন GRUB_TIMEOUT, GRUB_DEFAULT, ইত্যাদি) এবং কাস্টম এন্ট্রি যোগ করা হয় /etc/grub.d/40_custom। তারপর এটি কার্যকর করা হয় update-grub o grub2-mkconfig মেনুটি পুনরুজ্জীবিত করতে।

GRUB Legacy এবং GRUB 2 এর মধ্যে মূল পার্থক্য

  • কনফিগারেশন ফাইলটি থেকে গেছে menu.lst/grub.conf a grub.cfg, পুনর্নবীকরণকৃত সিনট্যাক্স এবং কমান্ড এবং স্বয়ংক্রিয় প্রজন্মের মাধ্যমে grub-mkconfig.
  • পার্টিশন নম্বরকরণ 1 সালে শুরু হয় GRUB 2 তে (লেগ্যাসিতে এটি 0 থেকে শুরু হয়েছিল)।
  • ভেরিয়েবলের স্থায়িত্ব save_env/load_env কিছু কনফিগারেশনে।
  • উন্নত রুট সনাক্তকরণ এবং UUID/ট্যাগ দ্বারা অনুসন্ধান করুন; আরও ফাইল সিস্টেম সমর্থিত।
  • সরাসরি পঠন থেকে LVM এবং RAID.
  • টার্মিনাল এবং মেনু গ্রাফিক্স, এবং পুনর্গঠিত ছবি: পর্যায় ১.৫ চলে গেছে; boot.img, core.img এবং গতিশীল মডিউল (*.mod)।

GRUB এর সাহায্যে নিরাপত্তা এবং কঠোরকরণ

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

একটি সেট করুন শক্তিশালী গুপ্তমন্ত্র এন্ট্রি পরিবর্তন বা কনসোল অ্যাক্সেস সীমিত করতে। GRUB 2-এ, ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করুন grub-mkpasswd-pbkdf2 এবং এর স্ক্রিপ্টগুলিতে সংশ্লিষ্ট নিয়মগুলি কনফিগার করুন /etc/grub.d/.

এতে LUKS ব্যবহার করে ডিস্ক এনক্রিপশনও অন্তর্ভুক্ত রয়েছে , ফলে কেউ কম্পিউটার চুরি করলেও ডেটা পড়তে পারবে না। এটি ব্রুট-ফোর্স অ্যাটাক কমানোর জন্য সিস্টেমের পাসওয়ার্ড নীতি কঠোর রাখাও নিশ্চিত করে।

আপনার লগ হিস্ট্রি বিচক্ষণতার সাথে পরিচালনা করুন : যেগুলি আক্রমণকারীকে সূত্র দেয়, সেগুলি কমিয়ে আনা বা অ্যাক্সেস কন্ট্রোলের মাধ্যমে কেন্দ্রীভূত করা উচিত; আর যেগুলি ক্ষতিকারক প্রচেষ্টা নিরীক্ষণে সাহায্য করে, সেগুলিকে একটি সুরক্ষিত স্থানে একত্রিত ও বিশ্লেষণ করা উচিত।

অন্যান্য ইনস্টল করা সিস্টেম সনাক্ত করতে এবং স্বয়ংক্রিয়ভাবে এন্ট্রি তৈরি করতে, ইনস্টল করুন os-proberএটি আপনার সময় সাশ্রয় করবে এবং মেনু পুনরায় তৈরি করার সময় ত্রুটিগুলি প্রতিরোধ করবে।

  SAP: বৈশিষ্ট্য এবং সুবিধা

ইনস্টলেশন এবং রক্ষণাবেক্ষণ

যদি আপনি আপনার ডিস্ট্রো ইনস্টলেশনের সময় GRUB ইনস্টল না করে থাকেন, তাহলে আপনি পরে তা করতে পারেন। GRUB 2-এ, সিস্টেম থেকে, চালান sudo grub-install /dev/sdX (আপনার ডিস্ক দিয়ে প্রতিস্থাপন করুন) এবং তারপর sudo update-grub o sudo grub2-mkconfig -o /boot/grub/grub.cfgপরবর্তী বুটে আপনি মেনুটি দেখতে পাবেন।

একটি GRUB Legacy কনসোল থেকে, ক্লাসিক পদ্ধতি হল রুট নির্দেশ করা এবং ইনস্টলেশন চালানো: root (hd1,0) দ্বারা অনুসরণ setup (hd1,0) দ্বিতীয় ডিস্কের প্রথম পার্টিশনের জন্য, অথবা setup (hd1) যদি আপনি সেই দ্বিতীয় ডিস্কের MBR নির্দেশ করেন।

সরাসরি সম্পাদনা করুন /boot/grub/grub.cfg GRUB 2 তে এটি একটি ভালো ধারণা নয়, যদিও এটি প্রযুক্তিগতভাবে সম্ভব। প্রস্তাবিত রুট পরিবর্তন করা হচ্ছে /etc/default/grub, ব্যবহার /etc/grub.d/40_custom নিজস্ব বিষয়বস্তু এবং পুনর্জন্মের জন্য।

ব্যবহারিক প্রশ্ন এবং দরকারী শর্টকাট

/dev/sda-তে কোন বুট পার্টিশনটি তা কীভাবে জানবেন? BIOS/MBR সিস্টেমে: sudo fdisk -l /dev/sda (“বুট” এর জন্য তারকাচিহ্ন দেখুন)। GPT/UEFI তে: lsblk -o NAME,FSTYPE,PARTTYPE,PARTFLAGS,MOUNTPOINT এবং EFI পার্টিশনটি খুঁজুন (FAT32, টাইপ করুন EF00/flags esp)। sudo efibootmgr -v রেকর্ড করা বুট এন্ট্রিগুলি প্রদর্শন করে।

আমি কিভাবে একটি পার্টিশনের UUID পেতে পারি? বিরূদ্ধে blkid o lsblk -f। উদাহরণস্বরূপ: sudo blkid /dev/sda2 ফেরত দেয় ইউআইডি এবং অন্যান্য মেটাডেটা।

ডিফল্ট এন্ট্রি প্রবেশের আগে আমি কীভাবে GRUB 2 কে 10 সেকেন্ড অপেক্ষা করতে বাধ্য করব? অ্যাডজাস্টস /etc/default/grub বিরূদ্ধে GRUB_TIMEOUT=10 (এবং, যদি প্রযোজ্য হয়, GRUB_TIMEOUT_STYLE=menu) এবং কার্যকর করে sudo update-grub o grub2-mkconfig.

দ্বিতীয় ডিস্কের প্রথম পার্টিশনে ইনস্টল করার জন্য GRUB Legacy কমান্ডগুলি কী? কনসোলটি খুলুন এবং চালান: root (hd1,0) এবং তারপর setup (hd1,0). যদি আপনি MBR চান, তাহলে এটি হবে setup (hd1).

GRUB 2 কনফিগারেশন পরিবর্তন করার ধাপগুলি? ১) সম্পাদনা করুন /etc/default/grub (যেমন, GRUB_DEFAULT, GRUB_TIMEOUT), 2) এন্ট্রি যোগ করুন /etc/grub.d/40_custom যদি আপনার তাদের প্রয়োজন হয়, 3) এর সাথে পুনর্জন্ম করুন update-grub/grub2-mkconfig, ৪) রিবুট করুন এবং পরীক্ষা করুন।

GRUB 2 তে কাস্টম মেনু কোথায় রাখবেন? En /etc/grub.d/40_custom (অথবা নিজের ফাইলগুলি /etc/grub.d/ যথাযথ অনুমতি নিয়ে)। কখনও হাতে সম্পাদনা করবেন না। /boot/grub/grub.cfg জরুরি অবস্থা ছাড়া।

GRUB লিগ্যাসিতে এন্ট্রিগুলি কোথায় সংরক্ষণ করা হয়েছিল? En /boot/grub/menu.lst o grub.conf, বন্টন অনুসারে।

মেনু থেকে GRUB কনসোল কীভাবে অ্যাক্সেস করব? GRUB 2 বা Legacy-তে 'c' কী চাপুন। কোনো নির্দিষ্ট এন্ট্রি সম্পাদনা করতে, 'e' চাপুন। তাৎক্ষণিক সমস্যা নির্ণয়ের জন্য এই দুটি শর্টকাটই খুব দরকারি ।

সাধারণ বিকল্পগুলির উদাহরণ

ডিফল্ট বুট নির্বাচন: GRUB_DEFAULT=0 প্রথম ইনিংস শুরু হয়; এর সাথে GRUB_DEFAULT=saved শেষ ব্যবহৃত কনফিগারেশনটি মনে রাখে। পরিবর্তনের পরে, কনফিগারেশনটি পুনরায় তৈরি করুন।

অপেক্ষা করুন সময়: GRUB_TIMEOUT=4 মেনু বিলম্ব সামঞ্জস্য করে; এর সাথে 0 বিরতি ছাড়াই শুরু হয়; কিছু পরিস্থিতিতে আপনি মেনুটি লুকাতে পারেন GRUB_TIMEOUT_STYLE=hidden আরও পরিষ্কার শুরুর জন্য।

মেনু আপডেট: ডেবিয়ান/উবুন্টু এবং ডেরিভেটিভস-এ, sudo update-grub; অন্যদের মধ্যে, sudo grub2-mkconfig -o /boot/grub/grub.cfg. নিশ্চিত করো যে তোমার আছে os-prober আপনি যদি অন্যান্য সিস্টেম স্বয়ংক্রিয়ভাবে সনাক্ত করতে চান তবে ইনস্টল করুন।

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

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

UEFI বুটকিট
সম্পর্কিত নিবন্ধ:
UEFI বুটকিট: লিনাক্সে বুটকিটি এবং ব্ল্যাকলোটাসের উত্তরাধিকার