Làm thế nào để có được grub2 để nhớ lựa chọn cuối cùng?


102

Grub2 - Tài liệu Ubuntu cộng đồng cho biết như sau:

Việc lưu hệ điều hành có thể đạt được bằng cách chạy sudo grub-set-default nếu DEFAULT = đã lưu được đặt trong / etc / default / grub. Nó cũng có thể được lưu nếu GRUB_SAVEDEFAULT = true cũng được đặt trong / etc / default / grub. Trong trường hợp này, HĐH mặc định vẫn duy trì cho đến khi một HĐH mới được chọn thủ công từ menu GRUB 2 hoặc lệnh grub-set-default được thi hành.

Tôi đặt các dòng DEFAULT=savedGRUB_SAVEDEFAULT=truevào /etc/default/grub, và chạy sudo grub-set-default. Đây là đầu ra:

$ sudo grub-set-default
entry not specified.
Usage: grub-set-default [OPTION] entry
Set the default boot entry for GRUB.

  -h, --help              print this message and exit
  -v, --version           print the version information and exit
  --boot-directory=DIR    expect GRUB images under the directory DIR/grub
                          instead of the /boot/grub directory

ENTRY is a number or a menu item title.

Report bugs to <bug-grub@gnu.org>.

Tôi không tuân theo các tài liệu chính xác? Cách chính xác để làm điều này là gì?


2
Sau khi thay đổi tệp grub, tốt nhất bạn luôn luôn chạy " sudo update-grub".
Julien Chau

Chỉ cần chạy: sudo grub-set-default đã lưu Thật đơn giản.
T. Coles

Câu trả lời:


153

Các tài liệu trong trường hợp này là sai. Tất cả các biến /etc/default/grubbắt đầu với GRUB_, vì vậy nó GRUB_DEFAULT=saved, không DEFAULT=saved . Tôi đã sửa chữa wiki Ubuntu để phản ánh điều đó.

Hướng dẫn sử dụng chính thức mô tả chính xác điều này: http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration

Đặt những thứ sau vào /etc/default/grub:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Sau đó chạy:

sudo update-grub

4
+1 cho liên kết, tôi đã chỉnh sửa câu trả lời của bạn bằng giải pháp phù hợp với tôi (mà tôi bắt nguồn từ liên kết bạn cung cấp)
Jay Sullivan

Liên kết trong câu trả lời này bị hỏng. 'Trang 404'.
sdlins

Tôi có nên xóa dòng hiện tại GRUB_DEFAULT=0?
dùng25

@ user25 có xóa GRUB_DEFAULT=0, dòng nên đọcGRUB_DEFAULT=saved
ctrl-alt-delor

4

Trong trường hợp của tôi, nó không hoạt động cho các mục được xác định thông qua /etc/grub.d/40_customđó là thiếu savedefaultdòng.

menuentry "Chameleon" {
    savedefault ### <<<< this must be added
    set root="(hd1)"
    chainloader +1
}

3

Bạn đang quên số (ví dụ: "ENTRY là số hoặc tiêu đề mục menu." Trong văn bản của bạn).

sudo grub-set-default 1

cho tùy chọn 1 là mặc định.

Luôn chạy sudo update-grubsau khi sửa đổi /etc/default/grubtệp để áp dụng các thay đổi.


7
Điều này không hiệu quả với tôi, nó chỉ đặt menu GRUB để trỏ đến mục số 1, không phải là lựa chọn cuối cùng
Jay Sullivan

Nếu tùy chọn menu của bạn sẽ bị chôn vùi trong một menu con, như trong 'Tùy chọn nâng cao cho ubfox', định dạng là 'chỉ mục phụ> chỉ mục con-mục-chỉ mục'. Vì vậy, bạn cần chỉ định 1> 'chỉ số bạn chọn'. Bạn cũng có thể chỉ định theo tên chuỗi cho mỗi lựa chọn.
Epu

2

saveefault sẽ không hoạt động, nếu không có tiêu đề thích hợp trong grub.cfg được tạo tự động

Để tạo tiêu đề phù hợp, bạn cần đặt trong / etc / default / grub

GRUB_DEFAULT=saved

và tạo grub-mkconfig để thay thế bản sao grub.cfg của bạn

grub-mkconfig -o /boot/grub.cfg

saveefault từ Grub 2.02 không yêu cầu bất kỳ đối số bổ sung nào

Bạn có thể thấy nguồn lưu trữ trong grub.cfg


Hãy xem câu trả lời từ @ccpizza, có thể điều này sẽ giúp ích: Askubfox.com/a/674148/97838
Hibou57
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.