Làm cách nào để ẩn menu GRUB hiển thị khi bắt đầu khởi động?


42

Tôi đã dừng khởi động kép và tôi không muốn phải chọn HĐH nữa. Tôi muốn khởi động trực tiếp vào Ubuntu 12.04 mà không thấy menu GRUB.

Làm thế nào tôi có thể đạt được điều đó?


Nếu bạn dừng khởi động kép, có lẽ bạn đã ngừng sử dụng HĐH khác. Tại sao bạn không thể gỡ bỏ hệ điều hành khác để ubfox có thể khởi động bình thường.
karthick87


nếu bất kỳ câu trả lời nào "trả lời" câu hỏi của bạn, vui lòng chấp nhận một trong số chúng :)
blade19899

@ david6: Tôi không thấy một trong hai câu hỏi này trùng lặp như thế nào. Tôi nghĩ rằng đây là về việc ẩn menu grub trong thời gian chờ.
oKtosiTe

Xin lỗi, liên kết thứ hai được cho là: askubfox.com/questions/66070/ Khăn Điều này bao gồm cách: Ẩn menu
Grub2

Câu trả lời:


33

Bạn chỉ có thể thay đổi cài đặt grub.

gõ vào thiết bị đầu cuối

sudo -H gedit /etc/default/grub

bạn cần thay đổi điều này

Thay đổi GRUB_HIDDEN_TIMEOUT_QUIET=falsethành

GRUB_HIDDEN_TIMEOUT_QUIET=true

Lưu file và thoát

Thể loại sudo update-grub

Nếu bạn không nhận được kết quả như mong muốn, hãy xem lỗi này .


7
hiện tại nó được đổi thành True nhưng tôi vẫn thấy menu grub ...
Alex Poulos

Tôi vào ngày 12.04 và tôi đã thử điều này nhưng nó đã nói "đúng" và nó vẫn hiển thị. Hệ điều hành duy nhất khác mà tôi có là failafe và Memtest - chỉ có thế. Tôi đã xóa Phân vùng Windows của mình và cập nhật grub và menu vẫn hiển thị.
Alex Poulos

@AlexPoulos xem liên kết
hingev

2
Làm việc cho tôi bằng cách thay đổi thời gian chờ thành 0 và sau đó làm cho nó yên lặng. Cảm ơn
king_julien

23

Tôi đã giải quyết vấn đề này bằng cách vô hiệu hóa OS Prober. Tôi đã làm điều đó bởi vì trong /boot/grub/grub.cfgphần được tạo bởi mẫu /etc/grub.d/30_os-prober, có một phần ghi đè từ "thời gian chờ" thành 10 và "kiểu" vào menu.

Chỉnh sửa /etc/default/grubvà thêm dòng này:

GRUB_DISABLE_OS_PROBER=true

Hy vọng bạn tìm thấy điều này hữu ích!

BTW, đầy đủ / etc / default / grub của tôi là:

GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR= [...]
GRUB_DISABLE_OS_PROBER=true
GRUB_RECORDFAIL_TIMEOUT=0

Chúc mừng mã hóa


2
điều đó làm việc cho tôi, nhưng nó đã làm biến mất tất cả các tùy chọn khởi động khác nhưng là tùy chọn mặc định ...
opensas 4/12/14

1
@opensas Nếu menu chọn không hiển thị, làm sao bạn biết tùy chọn khởi động nào "xuất hiện" trên đó? Nếu bạn muốn tắt menu, tại sao bạn lại muốn tùy chọn khởi động không mặc định?
Kyle Strand

nếu bạn bỏ qua phần 'GRUB_TIMEOUT_STYLE = hidden', thì đếm ngược sẽ hiển thị, nhưng không có gì khác, trừ khi bạn làm gián đoạn nó. Điều đó cho phép bạn vào menu và thay đổi cài đặt khởi động, ngay cả khi làm cho nó ít rõ ràng hơn.
stonecrusher

Nếu ai đó muốn có thể nhìn thấy menu khởi động sau khi giữ phím Shift, GRUB_TIMEOUT phải được đặt thành lớn hơn bằng 0 (giả sử GRUB_TIMEOUT = 5). Mặt khác, các tùy chọn khởi động khác (giả sử, Windows) không thể được kích hoạt nếu cần.
3804598

Trên Ubuntu 18.04 LTS, GRUB_RECORDFAIL_TIMEOUT=0là thay đổi duy nhất/etc/default/grub giúp loại bỏ thời gian chờ 30 giây (và trình đơn bộ tải khởi động GRUB hoàn toàn), dường như là một lỗi: bug.launchpad.net/ubfox/+source/grub2/+bug/1814403/ ý kiến ​​/ 4 . Ngoài ra, sudo update-grubphải được thực thi để các chỉnh sửa có hiệu lực, điều này không được đề cập trong Trả lời. Lưu ý rằng không nên cài đặt giá trị 0này (xem liên kết được trích dẫn ở trên) trừ khi máy là VM phát triển hoặc tương tự.
Ben Johnson

11

Tôi đã thử tất cả những lời khuyên mà chúng không hoạt động, cuối cùng đã giảm thời gian chờ xuống 0 như sau:

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

chạy sudo update-grubsau khi thay đổi các giá trị
niksmac

Tương tự cho tôi. Tôi đã chạy "update-grub" - không hoạt động.
Robin Winslow

1
Đây là những gì tôi / etc / default / grub nhưng tôi vẫn nhận được đếm ngược 10 giây với menu grub hiển thị.
zorkerz

8

Bạn cần chỉnh sửa tệp tại /etc/default/grubđể tránh hiển thị menu grub.

Theo mặc định, các mục trong tệp đó trông như thế này.

GRUB_DEFAULT = 0
# GRUB_HIDDEN_TIMEOUT = 0
GRUB_HIDDEN_TIMEOUT_QUIET = sai
GRUB_TIME hiện = 10
GRUB_DISTRIBUTOR = `lsb_release -i -s 2> / dev / null || lặp lại Debian`
GRUB_CMDLINE_LINUX_DEFAULT = "giật gân yên tĩnh"
GRUB_CMDLINE_LINUX = ""
  • Xóa #dấu khỏi dòng thứ hai và
  • Thay đổi dòng GRUB_HIDDEN_TIMEOUT_QUIET=falsethành GRUB_HIDDEN_TIMEOUT_QUIET=true.

Sau khi thay đổi, phần bắt buộc của tệp sẽ trông như thế này

GRUB_DEFAULT = 0
GRUB_HIDDEN_TIMEOUT = 0
GRUB_HIDDEN_TIMEOUT_QUIET = đúng
GRUB_TIME hiện = 10
GRUB_DISTRIBUTOR = `lsb_release -i -s 2> / dev / null || lặp lại Debian`
GRUB_CMDLINE_LINUX_DEFAULT = "giật gân yên tĩnh"
GRUB_CMDLINE_LINUX = ""
  • Sau đó chạy sudo update-grublệnh trong terminal và khởi động lại để xem kết quả.

3
Tôi đã có cấu hình này nhưng vẫn còn menu grub xuất hiện.

1
Với cài đặt cập nhật grub này, 'Cảnh báo: Đặt GRUB_TIMEOUT thành giá trị khác không khi GRUB_HIDDEN_TIMEOUT được đặt không còn được hỗ trợ' và tôi vẫn nhận được đếm ngược 10 giây trong khi hiển thị menu grub. Đặt GRUB_TIMEOUT thành 0 cũng trả về kết quả tương tự.
zorkerz

@zorkerz bạn đang sử dụng phiên bản nào của Ubuntu?
Anwar

Xenial Xerus nhưng có hành vi tương tự vào ngày 15.10
zorkerz

5

Tôi đã có cùng một vấn đề và không có lời khuyên nào ở đây làm việc! Cách duy nhất là thay đổi hướng dẫn sử dụng /boot/grub/grub.cfg. Tại một số điểm của tập tin này, anh ấy làm cho thời gian chờ là 10! Vì vậy, chỉ cần bình luận những dòng

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

Nhưng, bạn không bao giờ có thể thực hiện cập nhật lại, nếu không nó sẽ quay trở lại cùng một tệp và thời gian chờ sẽ là 10 lần nữa! Lưu tệp (trong vi bạn sẽ cần phải bắt buộc ngay cả khi bạn đang su!). Khởi động lại máy tính và nó sẽ hoạt động tốt!


Thú vị, tại sao không if [ "${timeout}" = 10 ]; then set timeout=0 fi ? Hoặc đơn giản là loại bỏ hoàn toàn câu lệnh if và chỉ để lại set timeout=0?
Anh Cả Geek

Điều này được đặt ở đó từ một mẫu có thể bị vô hiệu hóa (prober OS, như được đề cập trong câu trả lời của Agustin). Bạn không cần phải chỉnh sửa thủ công grub.cfg.
Neil Traft

điều này làm việc cho tôi vào 14.04
Kalamalka Kid

3

nếu bạn muốn xóa một mục khởi động, chỉ cần gõ vào:

sudo update-grub

Nếu điều đó không làm việc, hãy cài đặt trình quản lý khởi động, như vậy:

sudo apt-get install startupmanager


với người quản lý khởi nghiệp, bạn có thể

  1. chọn với mục để khởi động,
  2. Chọn độ phân giải và, phải đợi bao lâu trước khi khởi động,
  3. bạn cũng có thể chọn 0 để tự động khởi động mục nhập khởi động mặc định

burg nhưng anh ta đang lấy về grub
Black Block

xin lỗi typo. nó được cho là sudo update-grub, tôi đã chỉnh sửa câu trả lời
blade19899

Vấn đề duy nhất với điều này là phiên bản Trình quản lý khởi động mà tôi không hiển thị nhiều tùy chọn - Imgur
Alex Poulos

1
Tôi vào ngày 12.04 và tôi đã thử điều này nhưng nó đã nói "đúng" và nó vẫn hiển thị. Hệ điều hành duy nhất khác mà tôi có là failafe và Memtest - chỉ có thế. Tôi đã xóa Phân vùng Windows của mình và cập nhật grub và menu vẫn hiển thị
Alex Poulos

bên cạnh "thời gian chờ tính bằng giây" có một hộp có số 10 đổi tên thành số 0
blade19899

3

Giống như Agustin , tôi thấy rằng vấn đề của tôi là với OS Prober. Làm tốt hơn một bước so với giải pháp của anh ấy, tôi thấy ý chính này sẽ cho phép bạn có HĐH nhưng vẫn ẩn menu. Bạn chỉ cần tải xuống hai tệp đó, đặt chúng vào /etc/grub.dvà cung cấp cho chúng quyền tương tự như các mẫu khác trong thư mục đó.

Nếu bạn muốn truy cập hệ điều hành không mặc định của mình, chỉ cần giữ phím shift trong khi khởi động lên. Điều đó sẽ hiển thị menu.


Điều đó chắc chắn có vẻ như là một lỗi với tôi. có ai báo cáo không ???
khai mạc

Đúng ... có lẽ tôi sẽ đi xung quanh nó vào một lúc nào đó. Không có ý tưởng nếu có một đã có.
Neil Traft

3

Tôi đã tìm thấy một giải pháp đơn giản cho vấn đề này.

  echo "
  set timeout_style=hidden
  set timeout=2" | sudo tee --append /etc/grub.d/40_custom 

Và cập nhật grub. Nó sẽ ghi đè cài đặt thời gian chờ trong grub.cfg, vì vậy không có vấn đề gì bạn có trong / etc / default / grub. Vì vậy, tôi có menu ẩn có thể được gọi bằng ca trong 2 giây.


Cách tiếp cận này hiệu quả với tôi (grub 2.02 ~ beta3-4ubfox7 được cài đặt bởi Ubuntu 17.10) khi không có giải pháp nào khác được đề xuất trên trang này (thật không may là tôi đã thử nghiệm điều này lần cuối: /). Cảm ơn!
pchaigno

2

Thêm dòng sau vào /etc/default/grub:

GRUB_FORCE_HIDDEN_MENU="true"

2

Tôi đã thấy rất nhiều người nói rằng những câu trả lời được đề xuất không phù hợp với họ. Tôi đã thử một vài lựa chọn và cái này hiệu quả với tôi :

Chỉnh sửa /etc/grub.d/00_header và tìm:

if [ "\${recordfail}" = 1 ]; then
  set timeout=-1

Thay đổi nó thành ...

if [ "\${recordfail}" = 1 ]; then
  set timeout=10

Và chạy update-grub.


2

đối với tất cả các bạn có từ giật gân trong dòng cmd bất cứ điều gì ngoại trừ mã hóa 0 cho thời gian chờ sẽ không hoạt động ,,

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

Hãy thử loại bỏ từ giật gân từ dòng cuối cùng thứ hai, cập nhật và khởi động lại ,, voila, không có menu :)

hth, krex


2

điều này làm tôi mất một lúc nhưng nó đã được đền đáp, đó là sự pha trộn giữa việc đào và câu trả lời của riêng tôi ở trên trước tiên để đảm bảo rằng bạn /etc/default/grub/usr/grub/default/grubgiống nhau. sau đó chạy gksu gedit /etc/grub.d/30_os-probergần đầu là hai dòng chúng ta muốn nhưng để tìm chúng tìm styke và thay đổi dòng đó thành ẩn sau đó tìm kiếm một dòng hết thời gian, nó sẽ giống như nếu timeout = 0được đặt thành 10 xóa phần đó từ if đến cuối tệp bạn xóa phần cuối của tập tin hoặc bị vặn và cấu hình grub của bạn sẽ ghi lại một cái gì đó như thế này chỉ là của tôi:

đặt khởi động mặc định cho windows 8.1 pro

GRUB_DEFAULT="Windows 8 (loader) (on /dev/sda1)"

thiết lập một cửa sổ năm giây để nhấn shift để tôi có thể khởi động vào Ubuntu

GRUB_HIDDEN_TIMEOUT=5
GRUB_HIDDEN_TIMEOUT_QUIET=true

sửa lỗi chính trong trường hợp

GRUB_TIMEOUT=0

thiết lập phong cách để ẩn

GRUB_TIMEOUT_STYLE=hidden

công cụ Ubuntu mặc định

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

1
  • Cấu hình grub thông qua sudo nano /etc/default/grub
  • Nhập cuối tệp:
GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=0
  • Lưu thay đổi CTRL+S
  • Thoát CTRL+X
  • Cập nhật menu grub sudo update-grub

0

Cố gắng này có nguy cơ của riêng bạn và chỉ là phương sách cuối cùng!

Tôi đã thử chỉnh sửa /etc/default/grubvà chạy sudo update-grubmà không có kết quả.

Đã kết thúc chỉnh sửa /boot/grub/grub.cfgbằng tay, cụ thể,

...
### END /etc/grub.d/00_header ###

set timeout=0
saved_entry="Ubuntu"
save_env saved_entry

### BEGIN /etc/grub.d/05_debian_theme ###
...

-1
GRUB_DEFAULT=0
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=""

# Set this if you hide grubmenu at boot! hidden-timeout has to be 0-10
# NOT recommend with dual-boot systems
# Type ESC/ENTER at boot to make grub-menu visible again! 
# in this case hidden-timeout has to be 3-10
GRUB_DISABLE_OS_PROBER=true

giải quyết vấn đề! s.grub2 @ubfoxusers! ;-)

Ngoài ra, có thể làm cho menu grub hiển thị lại trong khi khởi động!

QUAN TRỌNG nếu bạn gặp sự cố và muốn khởi động Kernel cũ (và ổn định)!

(Đã thử nghiệm với Linux Mint 17.3 Rosa dựa trên Ubuntu 14.04)


4
Xin đừng lặp lại câu trả lời trước đó .
David Foerster
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.