সময় শেষ হওয়ার জন্য গ্রাব মেনু পাওয়া যায় না (বা চলে যেতে পারে)


18

আমি উবুন্টু 12.04 চালাচ্ছি।

আমি আমার জীবনের জন্য গ্রাব মেনু পেতে (বিকল্পগুলি সহ) চলে যেতে পারি না।

আমি এটি প্রথম বিকল্পটিতে অটো-বুট করতে চাই। আমি সম্পাদনা করেছি / ইত্যাদি / ডিফল্ট / গ্রাব যাতে এটি নীচের মত দেখাচ্ছে:

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

এর পরে, আমি সুডো আপডেট-গ্রাব চালিয়েছি । তারপরে আমি বুঝতে পেরেছিলাম যে আমার গ্রুব 2 ছিল, তাই আমি sudo আপডেট-grub2 দৌড়েছি (উভয়ই এটিকে দেখে মনে হচ্ছে তারা সফলভাবে grub.cfg ফাইল তৈরি করে ।

আমি আমার কম্পিউটার পুনরায় চালু করি এবং এটি গ্রাব মেনুতে ফিরে যায় এবং আমি কোনও পছন্দ না করা পর্যন্ত কেবল সেখানেই বসে আছি। বিদ্যুৎ চলে গেলে এটি কাম্য নয় ... :-)

আমি sudo grub-install / dev / sda ব্যবহার করে গ্রাব পুনরায় ইনস্টল করার চেষ্টাও করেছি - ব্যর্থও


আপনি এখন স্বয়ংক্রিয়ভাবে বুট করতে চান যে বর্তমান পার্টিশনটি স্থাপন করার পরে আপনি উবুন্টু ইনস্টল করার পরে অন্য কোনও বিভাজন রয়েছে?
ফেব্রিকেটর 4

আপনি কী বলতে চাইছেন তা আমি নিশ্চিত নই, আমি লিনাক্সে এক ধরণের নতুন। আমি পূর্ববর্তী উবুন্টু ইনস্টলেশনটি ইনস্টল করেছি, তবে আমি আপগ্রেড করিনি। পরিষ্কার ইনস্টল। আমি পার্টিশন-ভিত্তিক কিছু উপার্জন করতে পারি ... এটি সম্ভব, এটি ঠিক করার বিষয়ে কোনও ধারণা?
এরিক

sudo update-grubএবং sudo update-grub2একই কমান্ড চালায়। সুতরাং, যে অংশ সম্পর্কে চিন্তা করবেন না।
saji89

আপনি cat /boot/grub/grub.cfg পেস্টবিনের মাধ্যমে আউটপুট পোস্ট করুন এবং লিঙ্কটি এখানে শেয়ার করুন। এটি প্রকৃত grub.cfgউত্পাদিত দেখতে হয় ।
saji89

এখানে পেস্টবিন রয়েছে: পেস্টবিন .com / xxe2rLhg অফ grub.cfg। সব আপনার সাহায্যের জন্য ধন্যবাদ!
এরিক

উত্তর:


23

অন্যান্য উত্তরগুলি নির্দেশ করে, আপনি রেকর্ডফেইল পরিস্থিতির শিকার হতে পারেন । /boot/grub/grub.cfgম্যানুয়ালি সম্পাদনা করা স্বয়ংক্রিয়ভাবে উত্পন্ন হওয়ার মতো প্রশ্নের বাইরে থাকা উচিত। চারপাশে দেখা অন্য একটি পরামর্শ হ'ল সম্পাদনা করা /etc/grub.d/00_headerতবে এটি আপডেটে ব্যবহারকারীর হস্তক্ষেপের অনুরোধ জানাতে পারে।

সবচেয়ে সহজ সমাধানটি হ'ল Undocumented GRUB_RECORDFAIL_TIMEOUT ভেরিয়েবলের মধ্যে সংজ্ঞা দেওয়া /etc/default/grub। উদাহরণ স্বরূপ:

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=5
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

সম্পাদন করা

আরও তথ্যের জন্য এই উত্তর দেখুন ।


1
আপনাকে অনেক ধন্যবাদ, আমি ঠিক এটিই খুঁজছিলাম!
এভিও

1
পরিবর্তন করার পরে, update-grubআপডেট হওয়া /boot/grub/grub.cfgফাইলটি তৈরি করতে চালান
কল্ট

এর কার্যকারিতাটি মারবেন না recordfail! আপনি যদি বুট করতে ব্যর্থ হন তবে আপনি আরও দীর্ঘ সময়সীমা চান। ম্যানুয়ালি স্পষ্ট করার জন্য, সব আপনি প্রয়োজন @ sniffski এর জবাব হচ্ছে, grub-editenv create। যাইহোক, recordfailসেট হওয়ার আরও কিছু কারণ থাকতে পারে ...
ক্যামেরন ট্যাকলাইন্ড

6

ব্যবহার করুন:

grub-editenv create

এটি গ্রাব পরিবেশ ফাইল সাফ করবে এবং পরের বারে স্পষ্টভাবে বুট করা উচিত should


ভাগ করে নেওয়ার জন্য আপনাকে অনেক ধন্যবাদ। এটি এসএসএইচ এর মাধ্যমে কাজ করেছিল যা গ্রাব হেডলেস সার্ভারে আটকে থাকার জন্য আমার দিনটিকে তৈরি করে।
গ্যাপেটটিভস ডি'কনস্তানজো

1
grub-editenv - unset recordfailপাশাপাশি কাজ করে এবং সেট করা অন্যান্য vভুগুলিকে প্রভাবিত করে না
ক্যামেরন ট্যাকলাইন্ড

2

GRUB_TIMEOUT=10শূন্যে পরিবর্তন করুন

এটি আমার কনফিগারেশন ফাইল:

GRUB_DEFAULT="Ubuntu, with Linux 3.2.0-30-generic-pae"
#GRUB_HIDDEN_TIMEOUT=10
#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=""

প্রথমে ওএসের নামটি লিখুন যা আপনি সরাসরি বুট করতে চান। আমার উবুন্টু। সুতরাং আপনি এটি হিসাবে লিখতে হবেGRUB_DEFAULT="Ubuntu, with Linux x.x.x-xx-generic-pae"

তারপরে আমি GRUB_TIMEOUT=ডিফল্ট ওএস বাছাইয়ের আগে আমাকে 1 সেকেন্ড দেওয়ার জন্য 1 সেকেন্ড ব্যবহার করেছি (যদি আমাকে অন্য ওএসে বুট করার দরকার হয় উদাহরণস্বরূপ জুবুন্টু)

হিসাবে জন্য GRUB_CMDLINE_LINUX_DEFAULT=""যদি আপনি সরাতে quite splashআপনার বুট করার প্রক্রিয়া চলাকালীন উবুন্টু লোগো পরিবর্তে (আমি এটা পছন্দ এই ভাবে: পি) গ্রন্থে দেখাবে


আরও একটি সমাধান রয়েছে:

বুট-মেরামত নামে একটি প্রোগ্রাম রয়েছে যা একটি জিইউআইয়ের সাথে কনফিগার করতে সহায়তা করে।

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

আপনি ইমেজ থেকে দেখতে পারেন। একটি বক্স বলা হয় Unhide boot menu। কেবল বাক্সটি আনচেক করুন এবং অ্যাপি টিপুন। উন্নত বিকল্পের তীরটিতে ক্লিক করে আপনি এটি অ্যাক্সেস করতে পারেন।

বুট মেরামত ইনস্টল করতে

sudo add-apt-repository ppa:yannubuntu/boot-repair

sudo apt-get update

sudo apt-get install -y boot-repair

এবং তারপরে boot-reapirটার্মিনাল থেকে বা ড্যাশ থেকে চালান ।


তৃতীয় সমাধান:

আপনার জীবনকে কিছুটা সহজ করার জন্য গ্রু-কাস্টমাইজার নামে একটি জিইউআই অ্যাপ্লিকেশন সহজেই ব্যবহার করতে পারেন ou নামটি যেমন বোঝায়, আপনি এটির সাথে গ্রাব মেনু এন্ট্রিগুলি পুনরায় অর্ডার করার চেয়ে আরও অনেক কিছু করতে পারেন।

আপনি এটি দ্বারা এটি ইনস্টল করতে পারেন:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

এখানে চিত্র বর্ণনা লিখুন

আপনি মেনু থেকে দেখতে পারেন show menuবিকল্প আছে। আনহ্যাক করুন এবং দেখুন এটি কাজ করে কিনা


পরিবর্তন নেই. : - / আমি ভেবেছি GRUB_DEFAULT মেনুর তালিকা অনুসারে একটি সংখ্যার # হওয়ার কথা? GRUB_TIMEOUT 0 তে পরিবর্তন করা কোনও লাভ হয়নি।
এরিক

@ এরিক আপনি 2 টি উপায় ব্যবহার করতে পারেন: গ্রাব তালিকায় যদি আপনার ওএসের জায়গাটি জানেন তবে আপনি একটি নম্বর ব্যবহার করতে পারেন। তবে আমার জন্য আমার কাছে 4 লিনাক্স ডিস্ট্রোস এবং 1 টি উইন্ডোজ প্লাস মেমস্টেস্ট এবং পুনরুদ্ধার রয়েছে। সুতরাং তাদের জায়গাগুলি মুখস্ত করা আমার পক্ষে খুব কঠিন :) কেবল নিশ্চিত করার জন্য (আমি জানি আপনি এটি করতে পেরেছেন তবে কেবল এটি নিশ্চিত করার জন্য: পি)। আপনি grub-updateমান পরিবর্তন করার পরে চালানো হয়েছে ?
সুহাইব

আমি মানগুলি পরিবর্তন করার পরে গ্রাব-আপডেট চালিয়েছি। : - /
এরিক

আপনার প্রদত্ত বুট-মেরামত অ্যাপটি ইনস্টল এবং ব্যবহার করেছি, এটি প্রথম রিবুটটিতে কাজ করে । এর পরে, GRUB মেনুটি ফিরে আসবে এবং আমি কোনও কী চাপ না দেওয়া পর্যন্ত এটি সেখানে বসে থাকে। আপনার সমস্ত সহায়তার জন্য আপনাকে ধন্যবাদ, আমি সত্যিই এটির প্রশংসা করি। এখান থেকে কোথায় যাবেন তা নিশ্চিত নয় ...
এরিক

@ এরিক ঠিক আছে আমি এটি পরীক্ষা করে একটি তৃতীয় সমাধান পেয়েছি
সুহাইব

2

GRUB_HIDDEN_TIMEOUTএবং GRUB_HIDDEN_TIMEOUT_QUIETবিকল্পগুলি হ্রাস করা হয়। সুতরাং তাদের মন্তব্য।

মেনুটি এড়িয়ে যেতে এবং কেবল ধরে রাখার সময় এটি প্রদর্শন করতে ESC, যুক্ত করুন:

GRUB_TIMEOUT_STYLE='countdown'
GRUB_TIMEOUT=1

নমুনা /etc/default/grub

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

'GRUB_TIMEOUT_STYLE' : এই বিকল্পটি যদি 'কাউন্টডাউন' বা 'গোপনে' সেট করা থাকে, তবে মেনুটি প্রদর্শন করার আগে , GRUB 'GRUB_TIMEOUT' দ্বারা নির্ধারিত সময়সীমার জন্য অপেক্ষা করবে। যদি এসএসসি সেই সময়ে টিপানো হয় তবে এটি মেনুটি প্রদর্শন করবে এবং ইনপুটটির জন্য অপেক্ষা করবে।


এটি হওয়া উচিত , তবে এটি যা করে তা 1 সেকেন্ডের জন্য স্ট্যান্ডার্ড মেনু দেখায়। কমপক্ষে একটি ব্র্যান্ড নতুন 16.04
frnhr

1

আমি নিম্নলিখিত লাইনটি যুক্ত করে এই সমস্যাটি সমাধান করতে পারি /etc/default/grub

GRUB_DISABLE_OS_PROBER=true

... এবং তারপর চলছে sudo update-grub

ব্যাখ্যা: ফাইল /boot/grub/grub.cfgচলমান দ্বারা উৎপন্ন হয় update-grubফাইল ব্যবহার /etc/grub.dএবং /etc/default/grub। সুতরাং আপনার সম্পাদনা করা উচিত নয় grub.cfg, তবে সময়সীমা কেন সেট করা হয়েছে তা খুঁজে পাওয়া সহায়ক to শুরু হওয়া লাইনগুলি অনুসন্ধান করুন set timeout=এবং তারপরে শুরু হওয়া পরবর্তী লাইনের জন্য অনুসন্ধান করুন ### END /etc/grub.d/ ...। এটি আপনাকে কোনও ইঙ্গিত দিতে পারে যা স্ক্রিপ্টের সময়সীমা নির্ধারণ করে। আমার ক্ষেত্রে ওস-প্রবার স্ক্রিপ্ট সময়সীমাটির জন্য দায়ী ছিল। দেখা যাচ্ছে যে এখানে একটি 10 ​​এর হার্ডকোডযুক্ত সময়সীমা রয়েছে /etc/grup.d/30_os-proberযা দ্বারা সেট করা হয়নি GRUB_TIMEOUT। হয় আপনি ওএস-প্রবারটি অক্ষম করতে পারেন GRUB_DISABLE_OS_PROBER=trueবা সম্পাদনা /etc/grup.d/30_os-proberকরতে GRUB_OS_PROBER_SKIP_LISTপারেন বা আপনার কিছু হার্ডডিস্ক পার্টিশন এড়িয়ে যেতে ব্যবহার করতে পারেন (অন্য কোনও ওএস কোথাও পাওয়া গেলে 30_os-prober ব্যবহৃত হয়)। বিশদ জানতে এই প্রশ্নোত্তর দেখুন। অন্যরা যেমন দেখিয়েছিল অন্য কারণ রেকর্ডফেইল হতে পারে , এই ক্ষেত্রে সেটটি GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT


0

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

/Boot/grub/grub.cfg সম্পাদনা করুন এবং পরিবর্তন করুন:

if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi

প্রতি

if [ ${recordfail} = 1 ]; then
  set timeout=1
else
  set timeout=10
fi

আপনার সমাধানের আগে এবং পরে ঠিক একই রকম।
RawwrBag

set timeout=-1যেমন হয় না set timeout=1। পূর্ববর্তীটি "চিরকাল অপেক্ষা করুন", এবং দ্বিতীয়টি "এক সেকেন্ডের জন্য অপেক্ষা করুন"।
জেফ ম্যাকজঙ্কিন

0

আমার উবুন্টুর সর্বদা 30 সেকেন্ডের টাইমআউট ছিল আমার কোনও মান নির্ধারণ করা উচিত বা না। এখানে পরে আমি কীভাবে জানতে পেরেছি যে রেকর্ডফেইলটি ছিল অনুপস্থিত মান

1. প্রকৃত গ্রাব স্ক্রিপ্ট যাচাই করুন /boot/grub/grub.cfg

আইএমএইচও, গ্রুব কী করবে তা যাচাই করার সর্বোত্তম উপায় হ'ল খোলা /boot/grub/grub.cfg। এটি grub-mkconfigথেকে স্ক্র্যাপটি টেমপ্লেট /etc/grub.dএবং সেটিং থেকে স্বয়ংক্রিয়ভাবে উত্পন্ন হয় /etc/default/grub

109 লাইনের চারপাশে আপনি দেখতে পাবেন এরকম কিছু:

108 if [ "${recordfail}" = 1 ] ; then
109   set timeout=30 # Note here this value
110 else
111   if [ x$feature_timeout_style = xy ] ; then
112     set timeout_style=hidden
113     set timeout=3
114   # Fallback hidden-timeout code in case the timeout_style feature is
115   # unavailable.
116   elif sleep --interruptible 3 ; then
117     set timeout=0
118   fi
119 fi

সেই উত্পাদিত স্ক্রিপ্টের সাহায্যে আমার ক্ষেত্রে, আমি জানতে পারি যে recordfailপরিবর্তনশীলটি সেট করা হয়নি।

২. যদি recordfailভেরিয়েবলটি সেট না করে থাকে তবে সেট করুন

/etc/default/grubআপনার প্রিয় পাঠ্য সম্পাদকটি খুলুন (যেমন ভিআইএম) এবং তারপরে GRUB_RECORDFAIL_TIMEOUTএকটি নির্দিষ্ট মান হিসাবে ভেরিয়েবল সেট করুন , উদাহরণস্বরূপ 5 সেকেন্ড।

আপনার কনফিগারেশন ফাইলটি দেখতে এমন হওয়া উচিত:

GRUB_DEFAULT=0
GRUB_TIMEOUT=3
GRUB_TIMEOUT_STYLE=hidden
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_RECORDFAIL_TIMEOUT=5

3. সাথে চালানোর জন্য কনফিগারেশন আপডেট করুন update-grub

শেষ পদক্ষেপ, সাথে চালানোর জন্য কনফিগারেশন আপডেট করুন update-grub। আপাতত, GRUB2 সেট টাইমআউট ব্যবহার করবে। এই কমান্ডটি /boot/grub.cfgফাইলটি পুনরায় তৈরি করবে ।

4. উত্পন্ন স্ক্রিপ্ট ফলাফল যাচাই করুন

আবার, /boot/grub.cfg109 লাইনের চারপাশে ফলাফলটি খুলুন এবং পরীক্ষা করুন:

108 if [ "${recordfail}" = 1 ] ; then
109   set timeout=5 # Note here this value
110 else
111   if [ x$feature_timeout_style = xy ] ; then
112     set timeout_style=hidden
113     set timeout=3
114   # Fallback hidden-timeout code in case the timeout_style feature is
115   # unavailable.
116   elif sleep --interruptible 3 ; then
117     set timeout=0
118   fi
119 fi

নোট করুন যে 109 লাইনের মান এখন আগের চেয়ে 30 এর পরিবর্তে 5।

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