আপনি শিফট কী চেপে ধরে রাখেন না GRUB2 মেনুটি লুকান: কীভাবে এটি ঘটবে?


32

আমার একটি উবুন্টু আছে - উইন্ডোজ d ডুয়াল-বুট সেটআপ, এবং আমি এটি রাখতে চাই যে আমার ল্যাপটপটি উইন্ডোজ boot টি বুট আপ করবে যদি না আমি বুট করার পরে শিফট কীটি টিপুন এবং গ্রুব 2 মেনুটি না আনেন যা থেকে আমি চয়ন করতে পারি উবুন্টু।

আমি গ্রুব 2 এবং এর বিকল্পগুলির উপর গবেষণা করেছি etc/default/grubএবং আমি মান GRUB_TIMEOUTএবং GRUB_HIDDEN_TIMEOUTমানগুলির সাথে সংমিশ্রণে প্রায় খেলার চেষ্টা করেছি , তবে কোনও ফলসই হয়নি। উভয়ই কাউন্টডাউন একসাথে শুরু GRUB_HIDDEN_TIMEOUTহওয়ার GRUB_TIMEOUTচিন্তাভাবনার চেয়ে আমি উঁচুতে সেট করার চেষ্টা করেছি , তবে না - GRUB_TIMEOUTকেবল অন্যটি সম্পন্ন হওয়ার পরে শুরু হয়।

এই আচরণ কি অর্জনযোগ্য?

যদি তাই হয়, কিভাবে?


1
আমি যেভাবে এটি করি তা হ'ল আমার টাইমআউট 0 এ সেট হয়েছে (গ্রাব কাস্টমাইজার ব্যবহার করে সেট করুন)। আমি আমার বায়োসের ঠিক পরে শিফট না ধরলে আমি কোনও GRUB2 মেনু উপস্থিত হতে সক্ষম হবো না, যা মেনুটি প্রদর্শন করে। sudo add-apt-repository ppa: danielrichter2007 / grub-customizer sudo apt-get update sudo apt-get ইনস্টল গ্রাব-কাস্টমাইজার
রায়ান ম্যাকক্লিউর

এটি আমার বোঝার জন্য এটি কিছু ইনস্টলেশনের জন্য পূর্বনির্ধারিত আচরণ
রোবটহুমানস

@ রায়ানমিসক্লিউর আমি টাইমআউটটি ম্যানুয়ালি 0 তে সেট করার চেষ্টা করেছি কিন্তু ডান-শিফট চেপে ধরে রাখলে গ্রুব 2 মেনু মোটেও আসে না।
বেজ হার্মোসো

উত্তর:


15

আমি মনে করি যে আমি একটি সহজ রেজোলিউশন পেয়েছি। / Etc / default / grub ফাইলটিতে নিম্নলিখিত লাইনগুলি সংশোধন করুন:

GRUB_HIDDEN_TIMEOUT = 0.0

GRUB_TIMEOUT = 0.0

অবশ্যই আমরা শেষ পর্যন্ত একটি আপডেট-গ্রাব চালাই। এটি আমার পিসিতে কাজ করে।


6
যে আঁচড়ের দাগ. এটি আমাকে গ্রাব মেনু দেয় না তবে আমি শিফট টিপে এটিও পেতে পারি না।
জোরকার্জ

9

এটি উবুন্টু 16.04 এর জন্য।

আমি এর উপরে পাওয়া কয়েকটি উত্তরগুলির সামান্য সংমিশ্রণ দিয়ে এটি সমাধান করেছি, সুতরাং গ্রাব প্যাকেজ আপডেট হওয়ার পরে ভবিষ্যতের সংশ্লেষগুলি এড়ানো 30_os-prober সংশোধন করার প্রয়োজন হবে না ...

আশা করি এটা সাহায্য করবে.

আমি যা চাই তা প্রতিবিম্বিত করতে / ইত্যাদি / ডিফল্ট / গ্রাবের কিছু ভেরিয়েবল পরিবর্তন করে;

GRUB_DEFAULT=4
GRUB_HIDDEN_TIMEOUT=5
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=""

GRUB_FORCE_HIDDEN_MENU="true"
export GRUB_FORCE_HIDDEN_MENU

তারপরে একটি নতুন ফাইল তৈরি;

sudo touch /etc/grub.d/50_hidemenu
sudo chmod +x /etc/grub.d/50_hidemenu

এটি এই বিষয়বস্তু দিয়ে পূর্ণ;

#!/bin/sh
cat <<EOF
if [ "x\${timeout}" != "x-1" ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
      set timeout=0
    fi
  fi
fi
EOF

এবং আপডেট গ্রাব;

sudo update-grub

চিয়ার্স।


আমার জন্য কাজ করছে না।
মেনেহেহে

আমি কেবল এটি 16.04 এ পরীক্ষা করেছি। আপনি কি আলাদা সংস্করণে আছেন?
tux1c

16.10 হতে পারে। আপনি ঠিক বলেছেন, অবশ্যই এটি উল্লেখ করা উচিত ছিল।
মেনাশেহ

পাশাপাশি ডেবিয়ান
স্কিজে

7

কুবুন্টু 14.04-এ, এটি কার্যকর হয় না, যদি আপনি সেট করেন GRUB_TIMEOUT= 0, আশ্চর্যের সাথে, এটি প্রয়োগ করে এবং পুনরায় চালু করার পরে, গ্রাব মেনুটি 10 ​​সেকেন্ডে দৃশ্যমান থাকে।

এর কারণ হ'ল অন্য গ্রাব স্ক্রিপ্টে কোডের একটি টুকরা রয়েছে যা যদি গ্রুবটাইমআউটআউটকে 10 হিসাবে সেট করে তবে এর মান 0 থাকে।

সুতরাং আমি এইভাবে এটি কাজ করতে পেলাম:

উভয় grubএবং 30_osproberফাইলের একটি অনুলিপি তৈরি করুন !!! কিছু ভুল হয়ে গেলে আপনি মূল ফাইলগুলি পিছনে রাখতে পারেন

মধ্যে /etc/default/grub

GRUB_DEFAULT=4    #set this value to the OS you want to boot
GRUB_HIDDEN_TIMEOUT=0

GRUB_TIMEOUT=0

ইন/etc/grub.d/30_os-prober , একটি কোডের টুকরা রয়েছে যা গ্রাবের টাইমআউট 10 সেটে সেট করে যদি এটি শূন্যতে সেট করা থাকে /etc/default/grub, আমি জানি না কেন দেবরা সেখানে রাখে, তবে এটি গ্রাব মেনুটি আড়াল করে বাধা দেয়।

set timeout_style=menu

if [ "\${timeout}" = 0 ]; then    
  set timeout=10  # I changed this from 10 to 0

এই পরিবর্তনগুলির পরে, sudo update-grubনতুন গ্রাব বুট ক্রম উত্পন্ন করতে চালান ।

আমি আমার সমস্ত লিনাক্স ফিক্সগুলি / মোডগুলি https://sites.google.com/site/marcshomesite/Home/linux-tuning এ নথিভুক্ত করি


আমি আশা করি আপনি পরে একটি স্পেস রাখো নি =মধ্যে GRUB_TIMEOUT= 0
মারু

4

উইন্ডো স্বয়ংক্রিয়ভাবে GRUB মেনু থেকে নির্বাচন না করে বুট করার জন্য আমাদের /etc/default/grubফাইলগুলির মধ্যে এর অনুরূপ মানগুলি সম্পাদনা করতে হবে:

GRUB_DEFAULT= <number of default entry starting from 0>
GRUB_TIMEOUT= 0 # time in seconds to boot default
# GRUB_HIDDEN_TIMEOUT=0 # warning: activating this may lock you out from GRUB menu

এই ফাইলগুলির সম্পাদনা করার আগে এই ফাইলগুলির ব্যাকআপ নেওয়া সর্বদা ভাল ধারণা। পরিবর্তনগুলি করার পরে আমাদের সেগুলি সক্রিয় করতে হবে

sudo update-grub

GRUB_DEFAULT এর মানগুলি আমাদের পৃথক সিস্টেমে নির্ভর করে। উইন্ডোজকে সর্বদা বুট করার জন্য আমরা এন্ট্রি নম্বরটির "Microsoft Windows XP Professional"পরিবর্তে গ্রুব মেনুতে (যেমন ) যেমন প্রদর্শিত হয়েছিল ঠিক তেমনভাবে প্রবেশের নামে রাখতে পারি।


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


এটি কি উবুন্টুকে মানবিকভাবে বুটমুক্ত করতে পারে না, বা বুটটি আটকাতে এবং আমি চাইলে উবুন্টু বেছে নেওয়ার পক্ষে যথেষ্ট সময় থাকবে?
বেজ হার্মোসো

1
@ শাস্টেরিস্ক্টে আপনার অন্য একটি বুট ওএস নির্বাচনের জন্য কী টিপতে যথেষ্ট দীর্ঘ সময়সীমার মান নির্ধারণ করা উচিত।
তাক্কাত

আমি টাইমআউটটি 0 এ সেট করেছিলাম এবং শিফট কীটি ধরে রেখেছি তবে মেনুটি এখনও প্রদর্শিত হয় না। (ভাল জিনিস আমি এটি উবুন্টুতে বুট করার জন্য সেট করেছি যেখানে আমি সেটিংগুলি সেভাবেই সম্পাদনা করতে পারি))
বেজ হারমোসো

সংক্ষেপে, আমার যে আচরণটি প্রয়োজন তা অর্জনযোগ্য নয়?
বেজ হার্মোসো

@ শাস্টেরিসট: দুর্ভাগ্যক্রমে কিছু মেশিনে GRUB মেনু আনতে বুটের সময় টিপুন এবং ধরে রাখা-বাম-শিফটটি নষ্ট হয়ে গেছে (যেমন এই বাগ )। ESC বা SHIFT + ESC কাজ করার ক্ষেত্রে আপনি ভাগ্যবান হতে পারেন।
তাক্কাত

4

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

ধরে নিই যে আপনি সঠিক কাজটি করেছেন /etc/default/grub, সঠিকভাবে সেটিংস করেছেন GRUB_TIMEOUTএবং GRUB_HIDDEN_TIMEOUT(আমি যথাক্রমে 0 এবং 5 এর সাথে বলতে চাই) এবং এমনকি GRUB_DEFAULTবুট করার জন্য ডিফল্ট চিত্রটি নির্দিষ্ট করতে এখানে সঠিক পদ্ধতিতে কাজ করার পদ্ধতিটি এখানে রয়েছে।

  1. এই লাইন যুক্ত করুন

    GRUB_FORCE_HIDDEN_MENU="true"
    export GRUB_FORCE_HIDDEN_MENU
    

    শেষে /etc/default/grub

  2. আপনার ব্যাকআপ করুন /etc/grub.d/30_os-proberএবং এটি এখানে পাওয়া সংস্করণ দিয়ে ওভাররাইট করুন

  3. এটা পরীক্ষা করো! মেনুটি প্রদর্শন করতে SHIFTকী টিপুন

এই সমস্যাটি মাল্টি ওএস সেটআপের সাথে সম্পর্কিত এবং স্ক্রিপ্ট সম্পাদনা করা এটি সংশোধন করার অন্যতম উপায়।

30_os-prober :

#! /bin/sh
set -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix="/usr"
exec_prefix="${prefix}"
datarootdir="${prefix}/share"

. "${datarootdir}/grub/grub-mkconfig_lib"

found_other_os=

make_timeout () {

  if [ "x${found_other_os}" = "x" ] || [ "x${GRUB_FORCE_HIDDEN_MENU}" = "xtrue" ] ; then 
    if [ "x${1}" != "x" ] ; then
      if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
    verbose=
      else
    verbose=" --verbose"
      fi

      if [ "x${1}" = "x0" ] ; then
    cat <<EOF
if [ "x\${timeout}" != "x-1" ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep$verbose --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
EOF
      else
    cat << EOF
if [ "x\${timeout}" != "x-1" ]; then
  if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
    set timeout=0
  fi
fi
EOF
      fi
    fi
  fi
}

adjust_timeout () {
  if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
    cat <<EOF
if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
EOF
    make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}"
    echo else
    make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
    echo fi
  else
    make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
  fi
}

if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
  adjust_timeout
  exit 0
fi

if [ -z "`which os-prober 2> /dev/null`" -o -z "`which linux-boot-prober 2> /dev/null`" ] ; then
  # missing os-prober and/or linux-boot-prober
  adjust_timeout
  exit 0
fi

OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
if [ -z "${OSPROBED}" ] ; then
  # empty os-prober output, nothing doing
  adjust_timeout
  exit 0
fi

osx_entry() {
    found_other_os=1
        cat << EOF
menuentry "${LONGNAME} (${2}-bit) (on ${DEVICE})" --class osx --class darwin --class os {
EOF
    save_default_entry | sed -e "s/^/\t/"
    prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
    cat << EOF
        load_video
        set do_resume=0
        if [ /var/vm/sleepimage -nt10 / ]; then
           if xnu_resume /var/vm/sleepimage; then
             set do_resume=1
           fi
        fi
        if [ \$do_resume = 0 ]; then
           xnu_uuid ${OSXUUID} uuid
           if [ -f /Extra/DSDT.aml ]; then
              acpi -e /Extra/DSDT.aml
           fi
           $1 /mach_kernel boot-uuid=\${uuid} rd=*uuid
           if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
              xnu_mkext /System/Library/Extensions.mkext
           else
              xnu_kextdir /System/Library/Extensions
           fi
           if [ -f /Extra/Extensions.mkext ]; then
              xnu_mkext /Extra/Extensions.mkext
           fi
           if [ -d /Extra/Extensions ]; then
              xnu_kextdir /Extra/Extensions
           fi
           if [ -f /Extra/devprop.bin ]; then
              xnu_devprop_load /Extra/devprop.bin
           fi
           if [ -f /Extra/splash.jpg ]; then
              insmod jpeg
              xnu_splash /Extra/splash.jpg
           fi
           if [ -f /Extra/splash.png ]; then
              insmod png
              xnu_splash /Extra/splash.png
           fi
           if [ -f /Extra/splash.tga ]; then
              insmod tga
              xnu_splash /Extra/splash.tga
           fi
        fi
}
EOF
}

wubi=

for OS in ${OSPROBED} ; do
  DEVICE="`echo ${OS} | cut -d ':' -f 1`"
  LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
  LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
  BOOT="`echo ${OS} | cut -d ':' -f 4`"

  if [ -z "${LONGNAME}" ] ; then
    LONGNAME="${LABEL}"
  fi

  echo "Found ${LONGNAME} on ${DEVICE}" >&2

  case ${BOOT} in
    chain)

      case ${LONGNAME} in
    Windows*)
      if [ -z "$wubi" ]; then
        if [ -x /usr/share/lupin-support/grub-mkimage ] && \
           /usr/share/lupin-support/grub-mkimage --test; then
          wubi=yes
        else
          wubi=no
        fi
      fi
      if [ "$wubi" = yes ]; then
        echo "Skipping ${LONGNAME} on Wubi system" >&2
        continue
      fi
      ;;
      esac

      found_other_os=1
      cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" --class windows --class os {
EOF
      save_default_entry | sed -e "s/^/\t/"
      prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"

      case ${LONGNAME} in
    Windows\ Vista*|Windows\ 7*|Windows\ Server\ 2008*)
    ;;
    *)
      cat << EOF
    drivemap -s (hd0) \${root}
EOF
    ;;
      esac

      cat <<EOF
    chainloader +1
}
EOF
    ;;
    linux)
      LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
      prepare_boot_cache=

      for LINUX in ${LINUXPROBED} ; do
        LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
        LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
        LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
        LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
        LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
        LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"

        if [ -z "${LLABEL}" ] ; then
          LLABEL="${LONGNAME}"
        fi

    if [ "${LROOT}" != "${LBOOT}" ]; then
      LKERNEL="${LKERNEL#/boot}"
      LINITRD="${LINITRD#/boot}"
    fi

    if [ -z "${prepare_boot_cache}" ]; then
      prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | sed -e "s/^/\t/")"
      [ "${prepare_boot_cache}" ] || continue
    fi
    found_other_os=1
        cat << EOF
menuentry "${LLABEL} (on ${DEVICE})" --class gnu-linux --class gnu --class os {
EOF
    save_default_entry | sed -e "s/^/\t/"
    printf '%s\n' "${prepare_boot_cache}"
    cat <<  EOF
    linux ${LKERNEL} ${LPARAMS}
EOF
        if [ -n "${LINITRD}" ] ; then
          cat << EOF
    initrd ${LINITRD}
EOF
        fi
        cat << EOF
}
EOF
      done
    ;;
    macosx)
      OSXUUID="`grub-probe --target=fs_uuid --device ${DEVICE} 2> /dev/null`"
      osx_entry xnu_kernel 32
      osx_entry xnu_kernel64 64
    ;;
    hurd)
      found_other_os=1
      cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" --class hurd --class gnu --class os {
EOF
      save_default_entry | sed -e "s/^/\t/"
      prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
      grub_device="`${grub_probe} --device ${DEVICE} --target=drive`"
      mach_device="`echo "${grub_device}" | sed -e 's/(\(hd.*\),msdos\(.*\))/\1s\2/'`"
      grub_fs="`${grub_probe} --device ${DEVICE} --target=fs`"
      case "${grub_fs}" in
    *fs)    hurd_fs="${grub_fs}" ;;
    *)  hurd_fs="${grub_fs}fs" ;;
      esac
      cat << EOF
    multiboot /boot/gnumach.gz root=device:${mach_device}
    module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\
            --multiboot-command-line='\${kernel-command-line}' \\
            --host-priv-port='\${host-port}' \\
            --device-master-port='\${device-port}' \\
            --exec-server-task='\${exec-task}' -T typed '\${root}' \\
            '\$(task-create)' '\$(task-resume)'
    module /lib/ld.so.1 exec /hurd/exec '\$(exec-task=task-create)'
}
EOF
    ;;
    *)
      echo "  ${LONGNAME} is not yet supported by grub-mkconfig." >&2
    ;;
  esac
done

adjust_timeout


    cat <<EOF
if [ "x\${timeout}" != "x-1" ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep$verbose --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
EOF

1
আমি আপনার পদ্ধতিটি চেষ্টা করেছিলাম এবং এটি ব্যর্থ হয়েছিল। উবুন্টু 14.04 এলটিএস
মায়ুখ নায়ার

1
ফাইলটির কোন অংশগুলি পরিবর্তন করা উচিত? আমার 14.04 ফাইলটির এই ফাইলটির সাথে অনেক পার্থক্য রয়েছে, তাই আমি মনে করি আমার কেবলমাত্র লক্ষ্যযুক্ত পরিবর্তন করা উচিত।
মাকিসএইচ

@ ময়ূখনার: আমার উবুন্টু আছে ১৪.০৪ এবং এই পদ্ধতিটি কার্যকর হয়েছিল। আমি নিম্নলিখিতটি করেছি - ১. GRUB_DEFAULT = 0 সেট করুন / ইত্যাদি / ডিফল্ট / গ্রাব ২. GRUB_HIDDEN_TIMEOUT = 0 সেট করুন (দারিওপঞ্চ যা বলেছেন তার বিপরীতে) ৩. আপনার /etc/grub.d/30_os-prober ব্যাকআপ করুন এবং উপরের উল্লিখিত অনুলিপিটি অনুলিপি করুন 30-os_prober ফাইল 4. sudo আপডেট-
grub2

নোট গ্রাবটি আপডেট করা দরকার sudo update-grub/etc/default/grub ফাইলটি পরিবর্তন করার পরে
উইলফ

3

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

  1. প্রথম পরিবর্তনটি /etc/grub.d/30_os-proberফাইলটিতে রয়েছে:

    • এটি দিয়ে খুলুন sudo gedit /etc/grub.d/30_os-prober
    • পরিবর্তন quick_boot="1"করুনquick_boot="0"
    • ফাইল সংরক্ষণ করুন
  2. এরপরে আপনি টাইমআউট মানগুলি /etc/default/grubশূন্য বা অন্য কোনও মানতে সেট করতে পারেন :

    • এটি দিয়ে খুলুন sudo gedit /etc/default/grub
    • GRUB_HIDDEN_TIMEOUT=0এবং GRUB_TIMEOUT=0
    • ফাইল সংরক্ষণ করুন
  3. শেষ পদক্ষেপটি গ্রাব আপডেট করা

    • sudo update-grub

প্রথম ফাইলে পরিবর্তনগুলি হ'ল কারণ ডিফল্ট সেটিংসটি হ'ল যদি অন্য ওএস (যেমন উইন্ডোজ 10) সময়সীমা মান 10 সেকেন্ডে সেট থাকে এবং তাই এর দ্বারা পরিবর্তন করা যায় না /etc/default/grub। এটি একটি ফাংশন দ্বারা সম্পন্ন হয় adjust_timeoutযা জিজ্ঞাসা করে যে quick_bootসেট আছে কিনা এবং অন্য ওএস উপস্থিত রয়েছে কিনা asks


অবশেষে 16.04 এ জাজে ভোর!
জেএলটিডি ২

2

গ্রাব অপ্টিমাইজার ইনস্টল করুন

sudo অ্যাড-এপ-রিপোজিটরি পিপিএ: danielrichter2007 / গ্রাব-কাস্টমাইজার

sudo apt-get update
sudo apt-get install grub-customizer

গ্রাব কাস্টমাইজার এখন অ্যাপ্লিকেশন> সিস্টেম সরঞ্জাম মেনুতে প্রদর্শিত হবে।

অথবা আপনি এটি কমান্ড লাইন থেকে খুলতে পারেন।

gksudo গ্রাব কাস্টমাইজার

গ্রাব বিকল্পের জন্য চিত্র ভিতরে

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


3
এটি এমন কী করতে পারে যা সম্পাদনা করে করা যায় না etc/default/grub?
বেজ হার্মোসো

3
@ শাস্টেরিস্কিট: এটি অ-ইংরেজী স্পিকারদের পক্ষে, কমান্ড-লাইনের সাথে পরিচিত না এমন লোকেরা বা যারা কেবল কম্পিউটারটি ব্যবহার করতে চান এবং কনফিগারেশন ফাইলগুলি নিয়ে উপহাস না করে এমন লোকদের পক্ষে কার্যকর হতে পারে।
ফ্লিম

কেন এই upvated হয়েছে? এটি কোনও সমস্যার সমাধান বলে মনে হচ্ছে না; আমি চেষ্টা করেছি grub-customizer('অপ্টিমাইজার' নয়) এবং কাজ করার সময়, শিফট কী টিপানো না হলে এটি GRUB মেনুটি আড়াল করতে আমাকে সহায়তা করে না।
নিকোলাই লেসচভ

1

একক বুট সিস্টেমে আমার একই সমস্যা ছিল। GRUB_TIMEOUT যদি শূন্য নন তবে GRUB_HIDDEN_TIMEOUT নির্বিশেষে মেনুটি সর্বদা পপ আপ হয়ে যায়। GRUB_TIMEOUT যদি শূন্য হয় তবে GRUB_HIDDEN_TIMEOUT সেকেন্ডের জন্য ঘুমাত তবে SHIFT বা ESC উভয়ই মেনুটি প্রদর্শন করবে না।

30_os-prober এ অ্যাডজাস্ট_টাইম () এর শেষে ঘুমের বিবৃতিতে অন্য একটি ধারা যুক্ত করে আমি এটি ঠিক করেছি। এখন যদি এটি ব্যাহত না হয় তবে সময়সীমা শূন্য হয় এবং এটি কোনও মেনু ছাড়াই বুট হয় তবে এটির ব্যত্যয় হলে আমি সময়সীমা 10 এ সেট করে set

এটি আসলে পেছনের দিক থেকে মনে হয় যেহেতু ঘুম ব্যাহত না হলে 0 (মিথ্যা) ফিরে আসা উচিত এবং যদি এটি হয় তবে এটি আমার পক্ষে কাজ করে বলে মনে হয়।


0

গ্রাব 2 বুট মেনু স্বয়ংক্রিয়ভাবে ভিজিবল তৈরি করা

কিছু কারণে GRUB_GFXMODE=640x480গ্রুব কাস্টমাইজারে সেটিংস সম্পাদনা করা সাধারণত বুট মেনুতে দৃশ্যমান করে তোলে:

  1. উপরের মতো গ্রাব-কাস্টমাইজার ইনস্টল করুন এবং আপডেট করুন
  2. জিইউআইতে গ্রুব কাস্টমাইজারটি সন্ধান করুন (আমার জন্য এটি সিস্টেম> প্রশাসন> ... তে রয়েছে, তবে কারওর জন্য এটি অ্যাপ্লিকেশন> সিস্টেম সরঞ্জামসমূহের অধীনে তহবিল হয় ..)
  3. গ্রাব কাস্টমাইজার খুলুন এবং পছন্দসমূহ> উন্নত নির্বাচন করুন
  4. GRUB_gfxmode (640X480) নির্বাচন করুন - এটি ইতিমধ্যে নির্বাচিত থাকলে, এটি নির্বাচন থেকে পুনরায় নির্বাচন করুন, পুনরায় বুট করুন এবং এটি আবার নির্বাচন করুন।
  5. আপনার আঙ্গুলের ক্রস এবং রিবুট!

এটি আমার পক্ষে কেন কাজ করেছে তা আমার কোনও ধারণা নেই তবে এটি আমার কম্পিউটারে কাজ করেছে, সুতরাং আশা করি এটি আপনার পক্ষেও কার্যকর হবে!


0

শাস্টারিস্ক্ট, 'শিফট' সমাধানের একটি বিকল্প হ'ল একটি স্ক্রিপ্ট তৈরি করা যা আপনার জন্য কিছু স্থানান্তরিত অপারেশন করে। আমি যা বলতে চাইছি তা হ'ল একটি ফাইল তৈরি করা grub.bakযা আপনার grub.cfgফাইলের হুবহু অনুলিপি হয়, কেবলমাত্র পার্থক্য হ'ল উদাহরণটির জন্য set timeout=0লাইনটি পরিবর্তিত হয় set timeout=10। এমন শেল স্ক্রিপ্ট তৈরি করুন যা আপনার প্রয়োজন অনুসারে আপনাকে রিবুট করার অনুমতি দেয় switch আমি একটি সমপরিমাণ পাইথন স্ক্রিপ্ট তৈরি করেছি যা এই প্রয়োজনীয়তাগুলি পূরণ করে, তবে অবশ্যই এটির সাথে যোগাযোগ করতে হবে sudo/usr/binপ্রকৃত স্ক্রিপ্টের নিজেই একটি সিমিলিংক হিসাবে আমি কেবল এটি সেটআপে রেখেছি। দ্রষ্টব্য: আমি আর্চটিতে ফ্লাক্সবক্স চালাচ্ছি সুতরাং এই স্ক্রিপ্ট এবং উবুন্টুর মধ্যে কোনও বিভেদ আছে কিনা তা সম্পর্কে আমি নিশ্চিত নই, তবে আমার মনে হয় খুব সামান্য পরিবর্তন হওয়া উচিত। স্ক্রিপ্টটি দেখে মনে হচ্ছে:

#! /usr/bin/python
from shlex import split
from subprocess import call
from os import rename, chdir

chdir('/boot/grub/')
try:
    with open('grub.bak','r') as alternate:
        pass
    if raw_input('Auto-boot is set. Un-set?> ') == 'y':
        rename('grub.cfg','grub.back')
        rename('grub.bak','grub.cfg')

    if raw_input('Reboot system?> ') == 'y':
        call(split('shutdown -r now'))

except:
    if raw_input('Auto-boot is not set. Set?> ') == 'y':
        rename('grub.cfg','grub.bak')
        rename('grub.back','grub.cfg')

    if raw_input('Reboot system?> ') == 'y':
        call(split('shutdown -r now'))

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


0

এমনকি আপনি যদি GRUB_TIMEOUT 0 তে সেট করে থাকেন তবে আপনার যদি কোনও GRUB_HIDDEN_TIMEOUT থাকে তবে 30_ প্রো-প্রোবার আপনার পছন্দ হয় বা না তা 10 এ টাইমআউট সেট করে। এখানে অন্যান্য সমাধানগুলি সেই স্ক্রিপ্টটি সম্পাদনা করে তবে এটি আপডেট সমস্যাগুলির কারণ হতে পারে GRUB আপডেট করা থাকলে আপনাকে মার্জ করতে হবে।

আরও ভাল সমাধান: /etc/grub.d/50_goddamnit(নতুন ফাইল) এ নিম্নলিখিত লিখুন :

#!/bin/sh
echo "set timeout=0"

মূলত, এটি সর্বশেষে চলবে এবং /boot/grub/grub.conf এ চূড়ান্ত লাইন হবে, এর ফলে ডিফল্ট কনফিগারেশনে অন্য সমস্ত নির্বোধ মিশিগাসকে ওভাররাইড করে।

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