আমি কীভাবে আমার GRUB মেনুটি গোপন রাখতে পারি এবং শিফট বা এস্ক কীগুলি বুট করার সময় লুকানো GRUB মেনুটি দেখায়


10

আমি উবুন্টু 16.10 চালাচ্ছি, এবং আমি / বুট সময় আমার GRUB মেনুটি পাওয়ার সময়ে লুকানোর চেষ্টা করছি এবং আমি যখনই Shiftবা Escকীগুলি চাপলাম তখনই মেনুটি উপস্থিত হওয়ার ইচ্ছা পোষণ করবো ।

আমি উপযুক্ত বিকল্পগুলিতে পরিবর্তন করেছি /etc/default/grubএবং এটি মেনুটি আড়াল করবে না।

এটি গবেষণা করার সময়, আমি এই পোস্টটি পেয়েছি ২০১৩ গ্রাবের লুকানো মেনুটি কাজ করছে না যা ইঙ্গিত করে যে সমস্যাটি কিছু সময়ের জন্য ছিল, এবং এমন একটি পরিবর্তন প্রস্তাব দেয় /etc/grub.d/30_os-proberযা আমি বরং করব না। এই কোডটি পরামর্শ দেয় যেহেতু এটি একাধিক ওএস খুঁজে পেয়েছে, এটি GRUB_TIMEOUT=10যেভাবেই সেট করতে চলেছে ।

আমার এখন যা আছে তার একটি স্নিপেট এখানে /etc/default/grub... 10 সেকেন্ডের গণনা সহ একটি মেনু ...

GRUB_DEFAULT = সংরক্ষিত
GRUB_SAVEDEFAULT সত্য =
GRUB_HIDDEN_TIMEOUT_QUIET সত্য =
# GRUB_HIDDEN_TIMEOUT = 0
GRUB_TIMEOUT = 10
GRUB_DISTRIBUTOR = s lsb_release -i -s 2> / দেব / নাল || প্রতিধ্বনি দেবিয়ান `
GRUB_CMDLINE_LINUX_DEFAULT = "শান্ত স্প্ল্যাশ"

যদি আমি uncomment #GRUB_HIDDEN_TIMEOUT=0, তারপর sudo update-grubজোরাজুরি আমিও সেট GRUB_TIMEOUT=10করতে GRUB_TIMEOUT=0। আমি এটি করি এবং আমি এখনও GRUB মেনু দেখতে পাচ্ছি।

ইন terminal, টাইপিং info -f grub -n 'Simple configuration'বিভিন্ন বিকল্প বর্ণনা করে, এবং তথ্যের একেবারে শেষে, এটি দেখায় যে বর্তমান কয়েকটি কমান্ড হ্রাস করা হয়েছে, এবং প্রস্তাবিত যে আরও নতুন প্রতিস্থাপনগুলি আরও ভাল।

কেউ কি জানেন যে আমি কীভাবে আমার গ্রাব মেনুটি 16.10 এ আড়াল করতে পারি এবং বুট করার সময় এটিতে কী সনাক্ত করা যায় Shiftবা Escকীগুলি রয়েছে?


আপনি এই জিজ্ঞাসা করে আমি খুশি। আমি কোনওভাবেই আমার কাজ করতে পারি না এবং এটি নিশ্চিত করে যে এটি ডুয়াল বুটার হওয়ার কারণে এটি।
জৈব মার্বেল

1
@ অর্গানিক মার্বেল সমস্যাটি একাধিক ওএস এর সাথে সম্পর্কিত। পরীক্ষা করার জন্য, আমি কোডটির সেই অংশটি /etc/grub.d/30_os-prober এ সংশোধন করেছি এবং যদিও আমার কোনও মেনু না পেয়ে বুট করার সময় আমি শিফট বা এস্ক সহ একটি মেনু জোর করতে সক্ষম হইনি। এটির উপর এখনও কাজ করতেছি.
হেননেমা

আমি আমার উত্তরে আপনার সম্পর্কিত বাগগুলিতে আরও কিছু তথ্য যুক্ত করেছি, তারা আপনাকে সমস্যার প্রকৃতি আরও ভালভাবে বুঝতে সহায়তা করতে পারে। আমি
গ্রুব

গ্রাব কাস্টমাইজার ব্যবহার করার চেষ্টা করুন যদি আপনার না থাকে তবে এই ক্রমে জেনারেল সেটিং ট্যাব করুন - 1 "অন্যান্য অপারেটিং সিস্টেমগুলির সন্ধান করুন" এবং 2 আনচেক "শো মেনু" টিপুন এবং তারপরে সংরক্ষণ করুন এই বাক্সটি আনচেক করুন। এটি পরীক্ষা করুন এবং দেখুন যে "শিফট" মেনুটি নিয়ে আসে এবং তারপরে যদি কিছু না চাপানো হয় তবে কী ঘটে।
xtrchessreal

আমি বুঝতে পারি যে আপনি পরিবর্তিত হবেন না /etc/grub.d/30_os-proberতবে আমি ক্ষতিটি দেখতে পাচ্ছি না। আপনি একটি অনুলিপি ব্যাক আপ রাখতে পারেন বা # পরিবর্তনগুলি আপনার পরিবর্তনগুলিতে মন্তব্য করতে পারেন যাতে প্রয়োজন হলে আপনি সেগুলি বিপরীত করতে পারেন। আপনি যে কাজের সন্ধান পেয়েছেন তা এই মুহূর্তে সবচেয়ে যুক্তিসঙ্গত সমাধান বলে মনে হচ্ছে।
বয়স্ক

উত্তর:


7

ঠিক আছে লোকেরা, এখানে উত্তরটি ... দ্বৈত-বুট কনফিগারেশনে একটি লুকানো GRUB মেনু পেতে ... দুটি সম্পাদনা ... এবং একটি sudo update-grub...

সম্পাদনা # 1

মাল্টি-বুট কনফিগারেশনে একটি লুকানো GRUB মেনু পেতে, আমাদের প্রথমে সম্পাদনা করা দরকার /etc/default/grub। নীচের কমান্ডটি ব্যবহার করে এই ফাইলটি খুলুন:

sudo editor /etc/default/grub

ফাইলটি খোলা হয়ে গেলে এই লাইনগুলি প্রতিস্থাপন করুন

GRUB_HIDDEN_TIMEOUT_QUIET=true
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=10

এগুলোর সাথে:

GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT_STYLE=countdown
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=3

এর ফলে GRUB স্ক্রিনে 3 সেকেন্ডের কাউন্টডাউন টাইমার প্রদর্শন করবে। এটি করে, কোনও ব্যবহারকারী Escডিফল্ট মেনু আনতে কীটি টিপতে পারেন। অন্যথায়, ডিফল্ট ওএস বুট হবে।

যদি আপনি চান যে ডিফল্ট ওএসটি সর্বশেষ বুটযুক্ত ওএসে সেট করা উচিত, উপরে দেখানো "GRUB_TIMEOUT = 3" এর নীচে নীচের দুটি লাইন যুক্ত করুন:

GRUB_DEFAULT=saved    # change an existing line to this
GRUB_SAVEDEFAULT=true # add this line

সম্পাদনা # 2

এরপরে, কুইক_ বুট বৈশিষ্ট্যটি অক্ষম করতে ওএস প্রবার আপডেট করা দরকার। এটি করার জন্য, খুলুন /etc/grub.d/30_os-proberআপনার প্রিয় সম্পাদকে এবং (17.04 লাইন 23) লাইনের নিচে পরিবর্তন প্রতিস্থাপন 1একটি সঙ্গে 0:

quick_boot="1"

আপনার কাজ শেষ হয়ে গেলে, লাইনের মতো পড়তে হবে:

quick_boot="0"

ফাইলগুলি সংরক্ষণ করুন এবং তারপরে বুটলোডারটি পুনরায় কনফিগার করতে এবং আপনার পরিবর্তনগুলি প্রয়োগ করতে নীচের কমান্ডটি চালান:

sudo update-grub

এটা এটা! +1 টি।
জৈব মার্বেল

দেখতে ভাল সমাধান মনে হচ্ছে :) এখন এ সম্পর্কে আমার একটি সহজ প্রশ্ন আছে have আপনি যদি GRUB_TIMEOUT "3" থেকে "1" তে পরিবর্তন করেন আপনি কি দ্রুত বুট করবেন? এবং আপনি লিঙ্কগুলি সরবরাহ করতে পারেন, যদি কোনও হয়, যেখানে কেউ এই কোডটি কীভাবে কাজ করে তা পড়তে পারে। আমি বুঝতে চাই যে এই কোডটি কী করছে এবং এর ক্রিয়াকলাপ কলগুলির ক্রম ইত্যাদি অনেক প্রশংসিত। আপনার নিজের প্রশ্নগুলি সমাধান করতে পারলে খুব ভাল - এতে ভাল কাজ।
xtrchessreal

@xtrchessreal হ্যাঁ, 3 থেকে 1 এ পরিবর্তন করা এটি 2 সেকেন্ডকে সংক্ষিপ্ত করে তোলে। আমি বুঝতে পেরেছিলাম যে 3 সেকেন্ডের জন্য আমার কাছে এসএসসি কীটির কাছে হাত দেওয়ার জন্য যথেষ্ট সময় ছিল। আপনি info -f grub -n 'Simple configuration'আরও তথ্যের জন্য দেখতে পারেন ।
হেননেমা

Q এর জন্য +1 এবং এ-এর জন্য +1 শেষ দুই রাত আমি এই ধরণের সমস্ত ধরণের চুলের মেশিনযুক্ত পরিবর্তনগুলি 30_os-যথাযথভাবে তৈরি করে রেখেছি, 31_blah_blah তৈরি করেছি এবং 40_ কাস্টম তৈরি করে কোনও লাভ হয়নি। এটি এ.ਯੂ., আর্কলিনাক্স, ফেডোরা এবং অন্যান্য অনেক জায়গায় I আপনি যদি আরও ভোট চান তবে আমি এখানে এও-তে সমস্ত ভুল উত্তরগুলি সন্ধান করার পরামর্শ দিচ্ছি (প্রচুর আছে) এবং ভোটের প্রতিলিপি হিসাবে এটি বন্ধ করার জন্য আমাকে পিপিং করুন ( @ আমি) ডুপ্লিকেটের লিঙ্ক সহ এইউ সাধারণ চ্যাটরুমে এবং আমি এটিতেও ভোট দেব। এই দুর্দান্ত গবেষণা এবং কাজের সমাধানের জন্য ধন্যবাদ! :)
WinEunuuchs2 ইউনিক্স

@ WinEunuuchs2 ইউনিক্স সুন্দর মন্তব্য এবং ভোটের জন্য ধন্যবাদ! আমি নিজে আগে প্রচুর গবেষণা করেছিলাম যে কারও কাছে মার্জিত সমাধান, বা
মোটেও

3

আমি বিশ্বাস করি গ্রুব 2 উইকির এই সংক্ষিপ্তসার অনুসারে এই সমস্যাটি একাধিক ওএসের কারণে হতে পারে :

অন্য কোনও অপারেটিং সিস্টেম সনাক্ত না হলে GRUB 2 সরাসরি ডিফল্ট অপারেটিং সিস্টেমে বুট করবে এবং কোনও মেনু প্রদর্শিত হবে না। যদি অন্য অপারেটিং সিস্টেম সনাক্ত হয় তবে GRUB 2 মেনু প্রদর্শিত হবে

এবং

GRUB_DEFAULT = সংরক্ষণ করা / ইত্যাদি / ডিফল্ট / গ্রুবে সেট করা থাকলে sudo গ্রাব-সেট-ডিফল্ট চালিয়ে কোনও ওএস সংরক্ষণ করা সম্ভব। GRUB_SAVEDEFAULT = true যদি / etc / default / grub এ সেট করা থাকে তবে এটি সংরক্ষণও করা যেতে পারে। এই ক্ষেত্রে, GRUB 2 মেনু থেকে কোনও নতুন ওএস ম্যানুয়ালি নির্বাচিত না হওয়া বা গ্রাব-সেট-ডিফল্ট কমান্ড কার্যকর না হওয়া অবধি ডিফল্ট ওএস থেকে যায়।

গ্রুব 2 উইকি আরও জানায়: দ্রষ্টব্য: GRUB 1.97 থেকে GRUB 1.99 তে লুকানো মেনু বৈশিষ্ট্যে একটি দীর্ঘকালীন নিশ্চিত হওয়া বাগ রয়েছে। এই পৃষ্ঠার বর্ণনায় বর্ণিত মেনুটি লুকিয়ে রাখতে পারে না। 30_os-prober স্ক্রিপ্ট সম্পাদনা করার সময় এই সমস্যাটি সমাধান করতে পারে, এটি এই পৃষ্ঠার আওতার বাইরে।

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

বাগের সাথে যুক্ত একটি সম্ভাব্য সিনট্যাক্স সমস্যা থাকতে পারে। আমি কোনও গ্রুব 2 বিশেষজ্ঞ নই তবে আমার গ্রুব ফাইলে প্রতিটি কমান্ড লাইন = "কিছু উদ্ধৃত সেটিং" এর সাথে শেষ হয় আমি আমার কোডিংয়ের দিনগুলি থেকে মনে করি যে "কোট" একটি স্ট্রিং পাস করতে হয়েছিল যেখানে অ-উদ্ধৃতিগুলি ভেরিয়েবলগুলিতে সাধারণ সংখ্যার মানগুলি অতিক্রম করছিল। আমি নতুন কোড কৌশলগুলিতে ইউপি নই । যেমন আমার গ্রাব আউটপুট কিছু এখানে:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT="Ubuntu"
#GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="1"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

আমি এই গ্রুববগের দিকে তাকাচ্ছি :) আরও তথ্যের পাশাপাশি এই বাগটি উভয়ই গ্রুব 2 সম্পর্কিত 2 বছরের পুরানো। এর কিছু গ্রুব 2 এ হ্যান্ড অফের আগে এমবিআর কোডের সাথে সম্পর্কিত হতে পারে


আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ. আমি ইতিমধ্যে সংরক্ষিত পদ্ধতিটি ব্যবহার করছি। TIMEOUT = 1 অবশ্যই মেনু উপস্থিতির সময়কে ছোট করে। সমস্যাটি একাধিক ওএস এর সাথে সম্পর্কিত। পরীক্ষা করার জন্য, আমি কোডটির সেই অংশটি সংশোধন করেছিলাম /etc/grub.d/30_os-prober, এবং যদিও আমার কোনও মেনু নেই, বুট করার সময় আমি শিফট বা এস্ক সহ একটি মেনু জোর করতে সক্ষম হইনি।
হেননেমা

আপনি যে লিগগুলি যুক্ত করেছেন সেগুলি প্রাসঙ্গিক বলে মনে হচ্ছে না বা আমি কিছু অনুপস্থিত রয়েছি?
বয়স্ক

@ এল্ডার গিগ # 1401318 বাগ সম্পর্কিত যে ব্যক্তিকে বাগটি টিজে-কে দেওয়া হয়েছে তিনি এমবিআর থেকে গ্রুবের সাথে আচরণের ব্যাখ্যা দেন কারণ তিনি "ঘুম - বিচ্ছিন্ন $ সময়সীমা" ইত্যাদি বর্ণনা করেন। আপনি যদি মনে করেন বাগ মন্তব্যে তার সমস্ত বিবৃতি পড়েন তবে আপনি দেখতে পাবেন যে সমস্যার অন্তত অংশ কি। তাকে # 425979 বাগেও বরাদ্দ করা হয়েছে যা ইস্যুতে একই রকম। গ্রাব মেনুটি যখন লুকানো থাকে তখন কাজ না করে আনার জন্য শিফট কী হোল্ডিংয়ের সাথে সম্পর্কিত উভয় বাগ। ওপিটিও এটি বের করার চেষ্টা করছে। আমি আশা করি যে লিঙ্কগুলি আমার পোস্ট করা উত্তরে কেন তা স্পষ্ট হবে।
xtrchessreal

আমার বিভ্রান্তি ক্ষমা করুন। "আমি কীভাবে আমার GRUB মেনুটি আড়াল করতে পারি" বলার মতো প্রশ্নটি পড়েছি স্পষ্ট করার জন্য আপনাকে ধন্যবাদ। আমি অবশ্যই এই মন্তব্যটি মিস করেছি।
বয়স্ক

@ElderGeek আসলে প্রশ্ন হল, "কিভাবে আমি আমার GRUB মেনু লুকিয়ে ফেলতে হবে পেতে পারেন, এবং স্থানান্তর বা Esc কী বুট করার সময় গোপন GRUB মেনু শো আছে"। আমি এটা লুকিয়ে আছে। আমি শিফট বা এস্ক কীগুলি কাজ করতে পারি নি। স্পষ্টতই এই সমস্যাটি 2013 বা তার আগের দিকে চলে গেছে এবং কেবলমাত্র বহু-বুট কনফিগারেশনগুলিতে প্রভাব ফেলে।
হেননেমা

3
  1. আমার ধারণা আপনি এর মাধ্যমে উপলব্ধ 'সবকিছু' চেষ্টা করতে চান /etc/default/grub। আপনি কি এই লিঙ্কটি পড়েছেন,

    help.ubuntu.com/community/Grub2/Setup#Configuring_GRUB_2

  2. আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি নীচের লাইনগুলি মুছে ফেলার চেষ্টা করুন /boot/grub/grub.cfg,

    ...
    set timeout_style=menu
    if [ "${timeout}" = 0 ]; then
      set timeout=10
    fi
    ### END /etc/grub.d/30_os-prober ###
    

    হ্যাঁ, আমি জানি, প্রতিবার update-grubরান করার সময় আপনাকে এটি করতে হবে তবে আপনি এটির জন্য একটি স্ক্রিপ্ট তৈরি করতে পারেন।


আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ. আমি সেই লিঙ্কটি একবার দেখে নেব। আমি /etc/grub.d/30_os-prober সংশোধন করার একটি উপায়ও পেয়েছি যাতে প্রতিবার grub.cfg সম্পাদনা করতে না হয়।
হেননেমা

এটি আমার কাছে বোধগম্য হয়েছে, যেমন একটি মাল্টিবুট সিস্টেমে দেখে মনে হচ্ছে এই কোডটি টাইমআউটটি 0 থেকে 10 এ বদলেছে যা HIDDEN_TIMEOUT কে পরাজিত বলে মনে হচ্ছে ....
বয়স্ক

@ হাইনেমা আপনি কি ওস-প্রবারে আপনার পরিবর্তনগুলি পোস্ট করতে পারবেন? আমি যখন আপনার প্রশ্নের লিঙ্কটি দেখেছি এবং এটি আমার ওএস-প্রবারের কোডের সাথে তুলনা করেছি, তখন লাইন সংখ্যাগুলি কোনও অর্থহীনতা লাভ করতে পারে নি, তাই আমি ধরে নিই যে ওএস-প্রবারটি তখন থেকেই পরিবর্তিত হয়েছে, এবং আমি এটির সাথে জগাখিচুড়ি করতে ভয় পেয়েছিলাম।
জৈব মার্বেল

1
@ অর্গানিক মার্বেল আমার প্রশ্নের আপডেট দেখুন। হতে পারে আপনি আমার / সমস্ত কিছু মোড চেষ্টা করে দেখতে পারেন এবং আপনি কী নিয়ে এসেছেন।
হেননেমা

@ সুডডুস দয়া করে আমার উত্তরটি দেখুন
হেন্নিমা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.