Làm cách nào để đặt thời gian chờ grub và mục khởi động mặc định grub?


191

Trong Ubuntu 12.04 (trở lên), làm cách nào để đặt thời gian GRUB và HĐH mặc định (mà tôi thấy lúc khởi động) là tôi khởi động kép Windows (7/8) và Ubuntu (12.04 trở lên)?


Bạn có thể cung cấp thêm thông tin. Bạn có ý nghĩa gì với "thời gian grub" và hệ điều hành mặc định của bạn là gì. Trong menu grub của bạn các dòng khác nhau là gì?
Julien Chau

1
thời gian grub có nghĩa là thời gian đếm ngược khi tôi phải chọn os ở màn hình khởi động BIOS. Tôi xin lỗi nhưng tôi không biết chính xác menu chọn os đó được gọi là gì nên tôi đã đăng nó dưới dạng thời gian.
thiên thạch

Câu trả lời:


227
  • Nhấn Alt+ F2, gõ gksudo gedit /etc/default/grubnhấn Entervà nhập mật khẩu của bạn.
  • Bạn sẽ thấy các nội dung sau:

    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 = ""
    
  • Bạn có thể thay đổi mặc định từ 0 thành bất kỳ số nào, tương ứng với mục trong menu khởi động Grub (mục nhập đầu tiên là 0, thứ hai là 1, v.v.)

  • Bạn có thể thay đổi "thời gian chờ ẩn" (không có menu); và cũng hiển thị đếm ngược ( GRUB_HIDDEN_TIMEOUT_QUIET=false)
  • Bạn có thể buộc menu grub hiển thị bằng cách nhận xét hai GRUB_HIDDENdòng với một #ở đầu dòng
  • Và đặt thời gian chờ của menu grub (mặc định là 10 giây)

  • Thực hiện các thay đổi của bạn, nhấn Ctrl+ Sđể lưu và Ctrl+ Qđể thoát

  • Quan trọng : Mở thiết bị đầu cuối có Ctrl+ Alt+ Tvà nhập sudo update-grubđể áp dụng các thay đổi bạn vừa thực hiện
  • Khởi động lại và bạn sẽ thấy thời gian chờ / thay đổi mục nhập mặc định của mình

Câu hỏi liên kết:


Cảm ơn, @Raja, nhưng grub / grub2 là sự khác biệt chính. Nếu bạn có grub2 chính xác, tôi sẽ vui vẻ chỉnh sửa câu trả lời của bạn thay vì đưa ra câu trả lời khác :)
ish

cảm ơn câu trả lời của bạn đã có hiệu quả nhưng bạn có thể vui lòng giải thích cho tôi điểm thứ hai và thứ ba (thời gian chờ ẩn và dòng ẩn ẩn) chúng có ý nghĩa gì không.
thiên thạch

2
Vui lòng không đề nghị bất kỳ ai thay đổi tùy chọn grub mặc định bằng cách đặt chỉ mục tùy ý. Điều đó cực kỳ không trực quan và có khả năng dẫn đến thảm họa. Người dùng có thể nhập sai, hoặc có thể thay đổi trong quá trình nâng cấp, dẫn đến hành vi không mong muốn.
Cerin

2
Điều này cần một bản cập nhật liên quan đến các cấp độ kép của menu grub hiện tại.
Hannu

1
@Cerin đề nghị của bạn là gì?
phil294

30

Nếu bạn đọc tệp mà bạn đang chỉnh sửa trong ví dụ trên (/ etc / default / grub), bạn sẽ nhận thấy rằng một vài dòng đầu tiên hướng dẫn bạn chạy update-grubsau khi thực hiện các thay đổi để cập nhật tệp thực tế mà grub đọc thành " nhận hướng dẫn của nó "(/boot/grub/grub.cfg). Lưu ý rằng bạn thực sự phải chạy nó bằng sudolệnh trước vì bạn cần quyền root để thực sự chạy lệnh (đó là lý do tại sao người đăng ở trên nói phải gõ sudo update-grub). Điều này sẽ khiến những thay đổi bạn đã thực hiện được ghi vào /boot/grub/grub.cfg. Một vài dòng tiếp theo cho bạn biết rằng bạn có thể đọc tài liệu đầy đủ về các tùy chọn trong tệp đó (một lần nữa, / etc / default / grub) bằng cách nhập info -f grub -n 'Simple configuration'.

Điều đó nói rằng, đặt GRUB_TIMEOUT thành -1 nếu bạn muốn đặt "thời gian grub" là không xác định. Nói cách khác, nó sẽ không bao giờ tự động khởi động. Bạn sẽ phải lựa chọn.

Cuối cùng, để trả lời câu hỏi của bạn, đây là những mô tả về những "dòng ẩn grub" trực tiếp từ tài liệu được tham chiếu ở trên:

GRUB_HIDDEN_TIMEOUT
    Wait this many seconds for a key to be pressed before displaying
    the menu.  If no key is pressed during that time, boot
    immediately.  Unset by default.

GRUB_HIDDEN_TIMEOUT_QUIET
    In conjunction with `GRUB_HIDDEN_TIMEOUT', set this to `true' to
    suppress the verbose countdown while waiting for a key to be
    pressed before displaying the menu.  Unset by default.

Tôi hi vọng cái này giúp được!


14

Bạn có thể sử dụng một ứng dụng có tên Grub Customizer . Nó dễ dàng hơn nhiều.

Bạn có thể cài đặt nó bằng cách:

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

Có một bài viết về How-To Geek về nó, Cách cấu hình Menu khởi động Linux GRUB 2 một cách dễ dàng . Ngoài ra, có một chủ đề được giải quyết trên Diễn đàn Ubuntu, Thay đổi thứ tự khởi động trong GRUB 2 có đề cập đến công cụ này.

Dưới đây là một số ảnh chụp màn hình của phần mềm này:

màn hình_1

màn hình_2

màn hình_3


1
Điều này cần một bản cập nhật liên quan đến các cấp độ kép của menu grub hiện tại.
Hannu

5

Tôi đã làm theo câu trả lời đầu tiên nhưng có vẻ như cần cập nhật nếu bạn khởi động kép với Windows 7 Pro và Ubuntu 16.04. Cũng đảm bảo khởi động an toàn đã tắt trong BIOS.

a) Đầu tiên anh ta nói sử dụng Alt+ F2khi tôi nghĩ rằng anh ta muốn sử dụng để mở một cửa sổ đầu cuối. Trong trường hợp của tôi, nó là Ctrl+ Alt+ T.

b) Trong mục đầu tiên gksudo gedit /etc/default/grub, gksudolệnh không được cài đặt theo mặc định trong Ubuntu 16.04 . Để giải quyết vấn đề này, hãy làm như sau trong Terminal:

sudo -ivà nhấn Entervà cung cấp mật khẩu của bạn và sau đó Entermột lần nữa.

sau đó gõ:

gedit /etc/default/grubvà nhấn Enter.

c) Bây giờ bạn sẽ thấy menu thay đổi grub như minh họa trong câu trả lời 1. Thực hiện theo câu trả lời của anh ấy cho đến khi anh ấy đến Ctrl+ Sđể lưu các thay đổi. Điều này không hoạt động trong Ubuntu 16.04 nhưng bạn sẽ thấy nút lưu ở góc trên bên phải màn hình. Nhấn vào đó.

d) Ctrl+ Qđể bỏ.

e) Loại tiếp theo sudo update-grubEnter

f) Loại exit. Bạn cần phải làm điều này hai lần.

g) Khởi động lại

Tôi thấy rằng trên máy tính của mình sau một vài lần đăng nhập, quá trình khởi động sẽ không hiển thị màn hình grub khi khởi động và do đó tôi không thể truy cập Ubuntu vì tôi đã đặt Windows làm khởi động mặc định của mình với độ trễ 7 giây trong trường hợp tôi muốn nhận vào Ubuntu.

Để khắc phục vấn đề này, bạn cần vào Windows.

  1. Nhấp vào menu bắt đầu và nhập CMDvào hộp tìm kiếm.

  2. Nhấp chuột phải vào dòng CMD ở trên cùng của màn hình được tạo bởi nhấp chuột phải.

  3. Bấm vào chạy với tư cách quản trị viên .

  4. Trên loại dòng lệnh bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi. Mục này có tác dụng đăng ký menu grub với trình quản lý khởi động windows. (Tín dụng cho: Grub không hiển thị khi khởi động cho Windows 8.1 Ubuntu 13.10 Khởi động kép )

  5. Cuối cùng, tôi khởi động lại vào windows.

Tôi hi vọng cái này giúp được.


Bạn có thể vui lòng liên kết đến "minh họa trong câu trả lời 1" - Tôi không thể tìm thấy ý của bạn.
Tom Hale

Ngoài ra "Tôi đã làm theo câu trả lời đầu tiên". Bạn có thể định dạng "Tín dụng cho:" của tôi làm ví dụ. Tuyệt vời bài đầu tiên. Chào mừng bạn đến với AskUbfox.
Tom Hale

Tôi đã phá vỡ cửa sổ X theo những cách kỳ lạ khi chạy các ứng dụng đồ họa như gedit như sudo. Tôi đề nghị sử dụng một trình soạn thảo dựa trên văn bản như nano thay thế.
Arthur Tacca

2
Alt+F2là lối tắt thống nhất để chạy một lệnh trong nền. Trong menu mở ra, bạn có thể nhập bất kỳ lệnh nào giống như trong thiết bị đầu cuối. Nhưng vì nó không mở một thiết bị đầu cuối, bạn sẽ không thấy bất kỳ đầu ra thiết bị đầu cuối nào và không thể tương tác với thiết bị đầu cuối. Đó là lý do tại sao bạn thường sử dụng nó cho những việc như bắt đầu một chương trình GUI như gedit. Ngoài ra, bạn không thể sử dụng sudo vì bạn cần thiết bị đầu cuối cho điều đó. Đó là lý do tại sao họ sử dụng gksudo(GUI sudo). Nếu bạn thực hiện các lệnh trong một thiết bị đầu cuối, bạn chỉ có thể sử dụng thông thường sudonhư thế này: sudo gedit /etc/default/grubkhông cần sudo -i.
Sebastian

@Sebastian Để khởi chạy một ứng dụng đồ họa, sudo -Htốt hơn , tức là sudo -H gedit /etc/default/grub.
wjandrea

2

Sử dụng mục nhập mặc định dựa trên một số làm tôi ngạc nhiên kể từ khi được giới thiệu trong GRUB. Đây thực sự là ý tưởng tồi. Làm thế nào về cập nhật kernel và cấu hình lại grub tự động? Làm thế nào về người dùng không biết rằng thích nhập vào cuối danh sách? Cập nhật sẽ phá vỡ cấu hình dựa trên số mặc định.

Thay vào đó, hãy sử dụng tùy chọn SAVED tại đây để ghi nhớ mục được chọn cuối cùng:

GRUB_DEFAULT=SAVED
GRUB_SAVEDEFAULT=TRUE

Sau đó áp dụng GRUB với

sudo update-grub

1
Không phải là một vấn đề lớn, nhưng điều này không giải thích làm thế nào hoặc ở đâu để thực hiện những thay đổi này. Bạn có thể muốn liên kết đến một câu trả lời khác.
wjandrea

1

Điều này cũng không hiệu quả với tôi vào ngày 16.04.

Nhưng tôi đã sửa nó bằng cách thay đổi tập tin /boot/grub/grub.cfg

sudo vim /etc/default/grub

chỉnh sửa grub

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

thay đổi giá trị thời gian chờ

###segment in /boot/grub/grub.cfg:
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  #set timeout=10 # comment this original
  set timeout=0 # add this
fi

sudo chmod -w /boot/grub/grub.cfg
reboot

0

Nó có thể được thực hiện dễ dàng mà không cần bất kỳ mã. Chỉ cần làm theo các bước sau.

  1. Mở hệ thống tập tin.
  2. Mở /etcthư mục.
  3. Mở defaultthư mục.
  4. Tìm grubtệp và mở nó bằng leafpad(hoặc bất kỳ trình soạn thảo văn bản nào khác).
  5. Đặt GRUB_TIMEOUTtheo nhu cầu của bạn và lưu nó.
  6. Bây giờ mở terminal và gõ update-grub.
  7. Khởi động lại hệ thống của bạn.

Đó là nó.


0

Tôi nghĩ rằng bạn có một dòng như thế này: GRUB_TIMEOUT_STYLE = hidden

Thay đổi nó thành GRUB_TIMEOUT_STYLE = menu

Và bình luận tất cả các dòng liên quan đến các tính năng HIDDEN.

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.