নান্দনিকভাবে grub.cfg সম্পাদনা করা হচ্ছে


10

সম্পাদনা করুন: (স্বচ্ছতার জন্য) আমি কনফিগারেশন ফাইলগুলি সম্পাদনা করে গ্রুব বুট মেনুটির উপস্থিতি পরিবর্তন করতে চাইছি (সম্ভবত তবে প্রয়োজনে grub.cfg নয়)।

সুতরাং, কোনও উবুন্টু ব্যবহারকারী জানেন যে কয়েকটি কার্নেল আপগ্রেড করার পরে বুট মেনুটি কীভাবে পূরণ হয়। মেনু.লস্টের দিনগুলিতে, আপনি অযাচিত বিকল্পগুলি আড়াল করতে মেনুটিতে ঝাঁকুনি দিতে পারেন তবে এখনও সেগুলি উপলব্ধ রাখতে পারেন।

উদাহরণস্বরূপ, যদি আপনার গ্রাব মেনুটি দেখতে এমন হয়:


বি
সি
ডি

আপনি বি এবং সি এর মধ্যে একটি ফাঁকা বিকল্প সন্নিবেশ করিয়ে সি এবং ডি অপশনগুলি অদৃশ্য করতে পারবেন এই পদ্ধতিতে, সি এবং ডি অপশনগুলি বুট আপের সময় দৃশ্যমান হবে না, তবে আপনি যদি বুট মেনুতে সেগুলি স্ক্রোল করে থাকেন তবে তা দৃশ্যমান হবে।

Grub.cfg এ একই কৌশল চেষ্টা করার ফলে কোনও ফলাফল হয়নি। সুতরাং, আমি grub.cfg ফাইল সম্পাদনা করে নতুন গ্রাব মেনুতে এই একই ফলাফলটি অর্জনের জন্য একটি উপায় খুঁজছি। অন্যান্য নান্দনিক টুইটগুলিও স্বাগত।

ধন্যবাদ

সম্পাদনা 2: যদি মেনু এন্ট্রিগুলি গোপন করা সম্ভব না হয় তবে আমি তাদের মধ্যে একটি বিভাজক সন্নিবেশ করার একটি উপায় চাই, যাতে মেনুটি দেখতে এটির মতো দেখাবে:


--অথার্স -
সি
ডি


আপনি কি grub.cfg- এ সমস্ত পরিবর্তন করতে চান ? আপনি যদি এটি আপডেট- গ্রাবটি স্বয়ংক্রিয়ভাবে জেনারেট করে চলেছেন তবে আপনি সম্ভবত /etc/grub.d এর অধীনে স্ক্রিপ্টগুলি সম্পাদনা করতে চান ; সংক্ষিপ্ত সংক্ষিপ্ত বিবরণের জন্য সুপারসার / জিজ্ঞাসাগুলি ১০০২৯২ /… দেখুন ।
কোয়াকোট কোয়েসোট

@। কোয়াট: এটি কিছুটা সহায়তা করে এবং বেশ তথ্যপূর্ণ। আমি এখনও মেনু এন্ট্রিগুলি লুকানোর কোনও উপায়ের জন্য আশা করছি বা কমপক্ষে তাদের মধ্যে একটি বিভাজক রেখেছি।
মালবারবা

সুতরাং, আমার ধারণা কেবল পুরানো কার্নেলগুলি আনইনস্টল করা কোনও বিকল্প নয়?
ববি

উত্তর:


8

প্রথমে বুঝবেন উবুন্টু গ্রুব 2 কীভাবে কনফিগার করে।

  • /boot/grub/grub.cfg হ'ল গ্রুব 2 মেনু
  • আপডেটের-কীড়া কমান্ড যে ফাইল স্বয়ংক্রিয় উত্পন্ন
  • ... / ইত্যাদি / ডিফল্ট / গ্রাব থেকে ডিফল্ট সেটিংস পড়ে
  • ... এবং /etc/grub.dশেলস স্ক্রিপ্ট চলছে

সুতরাং, আপনি যদি প্রতিটি কার্নেল আপডেটের পরে grub.cfg সম্পাদনা করতে না চান , আপনি /etc/grub.d এ স্ক্রিপ্টগুলি মুছে ফেলতে চান যাতে আপনার পরিবর্তনগুলি যে কোনও সময় আপডেট-গ্রাব চালিত হয় is


দ্বিতীয়ত, আপনার প্রথম প্রশ্নের সরাসরি উত্তর দেওয়ার জন্য, আমি নির্দিষ্ট বুট বিকল্পগুলি অদৃশ্য করার কোনও উপায়ের সাথে পরিচিত নই তবে গ্রাব মেনুটির মাধ্যমে এখনও অ্যাক্সেসযোগ্য। গ্রুব 1 সম্পর্কে অনেকগুলি ছোট ছোট বিষয় রয়েছে যা গ্রুব 2 এ পুনরায় প্রয়োগ হয় নি, এবং এটি যদি সেগুলির মধ্যে থাকে তবে আমার অবাক করে দেবে না।

পরিবর্তে, আপনি পটভূমির রঙের মতো মেনু ফন্টের রঙ সেট করে সমস্ত মেনু এন্ট্রি অদৃশ্য করতে পারবেন (হাইলাইট হওয়া পর্যন্ত)। ইন /etc/grub.d/05_debian_theme , পরিবর্তন menu_color_normal তাই প্রথম রঙ (ফন্ট) দ্বিতীয় রঙ (পটভূমি) সাথে মেলায়। ত্যাগ menu_color_highlight ভিন্ন, কার্সার শো আপ অধীনে তাই এন্ট্রি।

# example from a likely-tweaked Karmic /etc/grub.d/05_debian_theme
set menu_color_normal=white/black
set menu_color_highlight=black/white

# ...to this
set menu_color_normal=black/black
set menu_color_highlight=black/white

গ্রাব মেনুতে বিভাজক প্রাপ্ত।

গ্রুব 1 এ আপনি এটির মতো একটি নতুন এন্ট্রি প্রবেশ করান। যেমনটি আমি মনে করি, এটিকে বৈধ মেনু প্রবেশের জন্য আপনার রুট ডিক্লেয়ারেশন দরকার ছিল , অন্যথায় গ্রুব 1 এটিকে এড়িয়ে গেছে।

# separator
title  --------------------
root

আমি সন্দেহ করি গ্রুব 2 এর মতো হতে পারে। একটি খুব বেসিক মেনু এন্ট্রি grub.cfg এ দেখতে লাগে :

# basic example
menuentry "Memory test (memtest86)" {
        linux   /boot/memtest86+.bin
}

যেহেতু ডাবল-কোটের "কিছু" শিরোনাম হিসাবে প্রদর্শিত হয়, আপনি এটির সাথে একটি বিভাজক জাল করতে পারেন। গ্রুব 1 এর মতো, গ্রুব 2 এটি লিনাক্স কীওয়ার্ডটিকে একটি আসল মেনু প্রবেশ হিসাবে বিবেচনা করতে চায় , তাই আপনি দুর্ঘটনাক্রমে এটি নির্বাচন না করে সতর্ক হন।

# a separator!  no, really!
menuentry "....." {
        linux   /boot/memtest86+.bin
}

দুর্ভাগ্যক্রমে, "কিছু" অর্থ কিছু বোঝায় না ; যখন আমি এটি পরীক্ষা করছিলাম তখন আমি লম্বা স্ট্র্যাশের ড্যাশগুলি চেষ্টা করেছিলাম ("----------------") এবং এটি কখনই কার্যকর হয়নি। তবে এটি উপরে প্রদর্শিত ডটগুলির সংক্ষিপ্ত স্ট্রিং পছন্দ করে, তাই আপনি এটি ব্যবহার করতে পারেন।

.....

এখন, কিভাবে এইভাবে একটি বিভাজক করা যায়। একগুচ্ছ তৈরি করতে এবং যেখানে আপনি সেগুলি স্বয়ংক্রিয়ভাবে চান সেখানে সেগুলি রাখতে আপনার সেগুলি /etc/grub.d এ স্ক্রিপ্টগুলিতে যুক্ত করতে হবে ।

এই উদাহরণস্বরূপ, আসুন grub.cfg এর বিভিন্ন বিভাগের মধ্যে একটি সাধারণ বিভাজক রাখি । আপনি যদি /etc/grub.d তাকান , আপনি নিম্নলিখিত স্ক্রিপ্টগুলি দেখতে পাবেন:

  • 00_header
  • 05_debian_theme
  • 10_linux - উবুন্টু কার্নেল এবং পুনরুদ্ধারের জন্য এন্ট্রি
  • 20_memtest86 + - মেমস্টেস্ট 86 + এর জন্য এন্ট্রি
  • 30_os-prober - উইন্ডোজ এবং অন্যান্য লিনাক্স ডিস্ট্রোসের জন্য এন্ট্রি
  • 40_ কাস্টম - ডিফল্টরূপে কিছুই নয়; বিশেষ ব্যবহারকারী এন্ট্রি এখানে যেতে পারেন

আমরা একটি নতুন স্ক্রিপ্ট, বিভাজক তৈরি করব এবং এর মধ্যে নিম্নলিখিতগুলি রাখব :

#!/bin/sh
# create a separator menu entry
cat << EOF
menuentry "....." {
  linux /boot/memtest86+.bin
}
EOF

এখন, সেই স্ক্রিপ্টটি প্রথম বিভাজনের জন্য জায়গায় স্থানান্তরিত করুন এবং এটি অন্যদের জন্য জায়গায় লিঙ্ক করুন। স্ক্রিপ্টগুলি ক্রমে কার্যকর করা হয়, সুতরাং আপনি যদি প্রথমে 10_linux এর আগে আসতে চান তবে নাম দিন 09_ সেপেটর বা অন্য কিছু।

cd /etc/grub.d

# start the editor, paste in the script above, save, and exit
sudo nano separator

# set executable
sudo chmod +x separator

# rename into the first position
mv separator 09_separator

# link into remaining positions (can also use cp)
ln -s 09_separator 19_separator
ln -s 09_separator 29_separator
# not really necessary since 40_custom is empty by default
ln -s 09_separator 39_separator

আপনার যদি / etc / default / grub এ ডিফল্ট হিসাবে নির্দিষ্ট এন্ট্রি সেট থাকে তবে আপনার এটি আপডেট করার প্রয়োজন হতে পারে - গ্রুব 2 মেনু এন্ট্রিগুলি 0 থেকে গণনা শুরু করে এবং এই "বিভাজক "গুলির প্রতিটি একটি বৈধ প্রবেশিকা, তাই সেগুলিও গণনা করা হয়। যদি আপনার পূর্ববর্তী ডিফল্ট এন্ট্রি 0 হয় এবং আপনি এর আগে একটি বিভাজক যুক্ত করেছেন তবে GRUB_DEFAULT 1 এ পরিবর্তন করতে ভুলবেন না

এখন আপডেট-গ্রাব চালান , এবং /boot/grub/grub.cfg পরীক্ষা করুন - আপনার সেখানে বিভাজকগুলি দেখতে হবে। যদি আপনি তা করেন তবে পুনরায় বুট করুন এবং তাদের খুঁজে বার করুন।

....

আপনি অন্য কোথাও বিভাজক স্থাপন করতে চাইলে, বিভিন্ন কার্নেল সংস্করণের মধ্যে বলুন, আপনাকে সরাসরি 10_linux (বা অন্য কোনও স্ক্রিপ্ট) সম্পাদনা করতে হবে এবং বিভাজক যুক্ত করার জন্য উপযুক্ত জায়গাটি সন্ধান করতে হবে। আপনি উপরের স্ক্রিপ্ট থেকে লাইনগুলি ব্যবহার করতে পারেন; প্রথম #! / বিন / শ লাইন বাদে সমস্ত কিছু অন্তর্ভুক্ত করুন ।


আপনি যদি সুন্দর কিছু চান তবে গ্রাব স্প্ল্যাশ চিত্র বা থিম ব্যবহার করুন। আমার এই বিষয়গুলিতে আপনাকে একটি রেইনচেক দেওয়া দরকার, তবে নীচের সংস্থানগুলি পরীক্ষা করুন।


সম্পদ:

উবুন্টুফোরামগুলিতে দুটি বড় গ্রুব 2 গাইড রয়েছে যা আমি জানতে পেরেছি এবং ভালবাসতে পেরেছি:

জিএনইউ গ্রাব 2 হ'ল আরেকটি দুর্দান্ত সংস্থান। কার্মিকের গ্রুব 2 টুইট করার জন্য তিনি একটি স্ক্রিপ্ট পেয়েছেন ( সম্পূর্ণ প্রকাশ: আমি সেগুলি চেষ্টা করি নি )।

গ্রুব উইকের থিম ফর্ম্যাট পৃষ্ঠাটি গ্রুব 2 থিমগুলিতে হ্যাক করার জন্য আবশ্যক।


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

@ ডি কানারস - হ্যাঁ, গ্রুব 1 সম্পর্কে আমি দু'টি জিনিস মিস করছি তবে সামগ্রিকভাবে আমি গ্রুব 2 এর উন্নতি বলে মনে করি। এটির নিজস্ব শিক্ষার বক্ররেখা রয়েছে। আমি আশা করি পাঠ্য মেনুটি ব্যয় করে ডিভগুলি গ্রুব 2 এর গ্রাফিকাল ক্ষমতাগুলিতে আরও প্রচেষ্টা করেছে, তবে সম্ভবত প্রকল্পের বিকাশের সাথে সাথে এটি পরিবর্তন হবে।
কোয়াকোট কোয়েসোট

5

পৃথককারীটি ড্যাশ দিয়ে তৈরি হতে পারে যদি এর প্রথম অক্ষরটি স্থান হয়। এছাড়াও, বিভাজক বিভাগের জন্য লিনাক্স কমান্ড ব্যবহার করার প্রয়োজন নেই, আপনি এই জাতীয় কোনও আদেশ ব্যবহার করতে পারেন:

menuentry " -----------------------------------------------------------" {
  echo "It is just a separator, select another item!"
}

অথবা নীরবে ফিরে আসার জন্য "সত্য":

menuentry " -----------------------------------------------------------" {
  true
}

0

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


আমি বর্তমান ইনস্টলেশনটি স্ক্রু আপ করার সময়, সমস্যা সমাধানের জন্য খুব কমই এগুলি ব্যবহার করি। এছাড়াও, কার্নেলগুলি কেবল একটি উদাহরণ ছিল, আমার কাছে আরও 3 টি বুটযোগ্য পার্টিশন রয়েছে যা আমি আড়াল করতে চাই তবে সেগুলি এখনও উপলব্ধ।
মালবারবা

(এড়ানোর বিভ্রান্তির যখন আমি বললাম "গোপন" আমি "পার্টিশন লুকান" বলিনি, আমি শুধুমাত্র বোঝানো "গোপন বুট মেনু থেকে respetive ওএস এন্ট্রি"।)
Malabarba
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.