উবুন্টু 18.04 এ GRUB টাইমআউট 0 এ কীভাবে সেট করবেন


11

আমি আমার গ্রাব কনফিগারেশন ফাইলটি 0 মান থেকে সময়সীমাতে আপডেট করার চেষ্টা করেছি, তাই ওএস দ্রুত শুরু হয়। আমি /etc/default/grubআমার উবুন্টু 18.04 এ কনফিগারেশন ফাইলটি পরিবর্তন করেছি এবং তারপরে দৌড়েছি:

sudo update-grub

এবং এটি কার্যকর হয়নি। আমিও দৌড়েছি:

sudo grub-mkconfig
sudo update-grub

কিন্তু তারা কাজ করেনি।

এই সমস্যাটি সমাধান করার জন্য আমি ওয়েবে প্রচুর অনুসন্ধান করেছি, তবে সমস্ত গাইডরা /etc/default/grubকনফিগার ফাইল দ্বারা গ্রাব আপডেট করার জন্য আপডেট-গ্রাব কমান্ড চালানোর জন্য বলে । আমি জানি না যে উবুন্টু 18.04 কিনা গ্রাব ফাইলগুলি অন্যভাবে পরিচালনা করে তবে আমি আমার পরামিতিগুলি দিয়ে আমার গ্রাব আপডেট করতে পারি না।

এটি আমার /etc/default/grubফাইল:

# 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=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
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"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

3
দয়া করে আপনার প্রশ্নটি সম্পাদনা করুন এবং আপনার সংশোধিত গ্রাব কনফিগারেশন ফাইলটি অন্তর্ভুক্ত করুন। অন্যথায় আমরা কী অনুমান করেছি তা অনুমান করার চেষ্টা করছি।
জৈব মার্বেল

আপনার কি অন্যান্য বিতরণ ইনস্টল করা আছে (দ্বৈত বুট)?
mook765

এটি কাজ করে না তার মানে এই না যে আমার গ্রাবের সময়সীমাটি এখনও 10 সেকেন্ডে ডিফল্ট হিসাবে নির্ধারিত হয়েছে @ মিলিবিয়াস
বব91

আমার একই এসএসডিতে উইন্ডোজ রয়েছে এবং অন্যান্য এইচডিডি-তে অন্যান্য ডিস্ট্রো ইনস্টল করা আছে তবে গত মাসে আমি ফেডোরা ২ had করেছি (উবুন্টু ১৮ এর পরিবর্তে) এবং গ্রাব কনফিগারেশন ফাইলটি পরিবর্তন করার সময় এটি কাজ করেছিল, সুতরাং আমি মনে করি যে অন্যান্য ডিস্ট্রোসের কারণগুলি নয় এই আচরণ @ mook765
Bob91

1
আপনি কি বুট-ইনফর্মটি চালাবেন এবং এর ফলাফল তথ্য লগের কোনও লিঙ্ক অন্তর্ভুক্ত করার জন্য আপনার প্রশ্নটি সম্পাদনা করতে পারেন? ধন্যবাদ।
ডেভিড ফোস্টার 13

উত্তর:


13

ইন /boot/grub/grub.cfgফাইল সেখানে প্রায় ফাইলের শেষে একটি অবস্থা, যে সেট থেকে 10 সময়সীমার যদি সময়সীমার 0. সেট করা হয় অন্য কথায় যদি আপনি আপনার মধ্যে 0 সময়সীমার সেট, /etc/default/grubউপরে শর্ত, এবং তারপর আপডেট কীড়া এটি 10 ​​সেকেন্ডে পুনরায় সেট করুন।

if [ "${timeout}" = 0 ]; then
     set timeout=10
fi

তবে, /boot/grub/grub.cfgকেবল পঠনযোগ্য ফাইল এবং আমি এই শর্তটি সরাতে পারি না। টাইমআউটটি বিভিন্ন মান সহ কিছু পরীক্ষা করেছি /etc/default/grub। আমি 1 মিমি (0.001), 0.1 এবং 1 সেকেন্ড দিয়ে চেষ্টা করেছি এবং আমি জানতে পেরেছি যে 1 (নীচে 0.1 এবং 0.001 এর মতো) নীচের মানগুলি একইভাবে কাজ করে এবং প্রায় টাইমআউট 0 তে সেট করে।


work in the same way and almost like timeoutএটি কারণ ব্যাশ মধ্যে গণিত শুধুমাত্র পূর্ণসংখ্যার সমর্থন করে। স্বল্পতম সময়সীমা যা একটি পার্থক্য তৈরি করবে তা হ'ল 1
মার্সিন ওরোলোস্কি

6

আমার ক্ষেত্রে সমস্যাটি ছিল যে আমার সিস্টেম "রেকর্ডফেইল" সমর্থন করে নি যার ফলে grub.cfg- এ একটি পৃথক ব্লক যুক্ত হয়ে গেছে যা 30 সেকেন্ডের সময়সাপেক্ষে ডিফল্ট হয়েছিল। এতে প্রাসঙ্গিক কোড /etc/grub.d/00_header:

if [ "$recordfail_broken" = 1 ]; then
  cat << EOF
if lsefi; then
  set timeout=${GRUB_RECORDFAIL_TIMEOUT:-30}
  if [ x\$feature_timeout_style = xy ] ; then
    set timeout_style=menu
  fi
fi
EOF

ফিক্সটি কেবল GRUB_RECORDFAIL_TIMEOUTইন-এর জন্য একটি মান যুক্ত করা /etc/default/grubএবং update-grubআবার চালানো । উদাহরণ স্বরূপ:

GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

# Adjusted timeout for system which doesn't support recordfail
GRUB_RECORDFAIL_TIMEOUT=2

# 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"

3

অন্যান্য উত্তরগুলির মত বলে, নিরঙ্কুশ GRUB_HIDDEN_TIMEOUTএবং চালানো update-grub। তারপর মন্তব্য

if [ "${timeout}" = 0 ]; then
  set timeout=10
fi

অধ্যায় /boot/grub/grub.cfg। ভিমে আপনি কেবল উদারনামার পয়েন্ট সহ কেবল পঠনযোগ্য সম্পত্তিটিকে ওভাররাইড করতে পারেন :x!। অথবা আপনি চালাতে পারেন

sudo chmod +w /boot/grub/grub.cfg
sudo vim /boot/grub/grub.cfg
sudo chmod -w /boot/grub/grub.cfg

ফাইল সম্পাদনা করার সময় অস্থায়ীভাবে লেখার অনুমতি থাকতে হবে।


3
আপনি ঠিক বলেছেন, তবে আমি মনে করি আপনি যতবারই গ্রাব আপডেট করেন (ম্যানুয়ালি বা যখন কোনও ওএস আপগ্রেড থাকে) /boot/grub/grub.cfgউপরের শর্তটি দিয়ে পুনরায় তৈরি করা হবে।
Bob91

2
এটি সত্য, ফাইলটি আপডেটে ওভাররাইট করা হয়েছে, যেমনটি আমি সম্প্রতি অভিজ্ঞতা করেছি।
asantas93

1

আপনি সেট GRUB_TIMEOUTকরতে পারেন 0

অংশ ওভাররাইটিং টাইমআউট মানটি ajust_timeoutশীর্ষে ফাংশনে লেখা হয় /etc/grub.d/30_os-prober

ajust_timeout () {
...
if [ "\${timeout}" = 0]; then
  set timeout=10
fi
...
}

সুতরাং, আপনি ফাইলটি সম্পাদনা করে মান নির্ধারণ করতে পারেন এবং যদি-ব্লক করে মন্তব্য করেন।


1

আপনি সেট GRUB_TIMEOUTকরতে পারেন -1

উদা:GRUB_TIMEOUT="-1"


'GRUB_TIMEOUT' মেনু প্রদর্শিত হওয়ার পরে এই ডিফল্ট এন্ট্রিটি বেশ কয়েক সেকেন্ড পরে বুট করুন, যদি না কী চাপানো হয়। ডিফল্টটি '5'। মেনুটি প্রদর্শন না করে অবিলম্বে বুট করতে '0' অথবা অনির্দিষ্টকালের জন্য অপেক্ষা করতে '-1' এ সেট করুন। কমান্ড থেকেinfo -f grub -n 'Simple configuration
বিজয়


0

আমরা কেবল লাইনটি যুক্ত করতে পারি

set timeout=0

থেকে /etc/grub.d/40_custom, ফাইলটি এক্সিকিউটেবল দিয়ে তৈরি করুন

chmod +x /etc/grub.d/40_custom

এবং চালান

sudo update-grub

নতুন- /boot/grub/grub.cfgফাইল তৈরি করতে । set timeout-Command আমরা যোগ শেষ হয় set timeoutএ -command /boot/grub/grub.cfgএখন যে কি গন্য।


-1

সমাধান যুক্ত করা হয়

GRUB_RECORDFAIL_TIMEOUT=0

to /etc/default/grub

অন্যান্য সমস্ত সমাধান গ্রাব আপডেটগুলিতে পুনরায় সেট করা হবে।

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