Trong Grub gốc bạn đã làm điều này bằng cách thiết lập, trong /boot/grub/menu.lst , các mặc định từ khóa để "cứu" và sau đó sử dụng savedefault từ khóa trong mỗi mục trình đơn khởi động.
Cập nhật :
Grub2 phức tạp hơn một chút. Nó vẫn đang phát triển, do đó, mặc dù cả Ubuntu 9.10 và 10.04 đều sử dụng Grub2, nhưng có đủ sự khác biệt trong cách mọi thứ được đóng gói và định cấu hình để khiến mọi thứ trở nên thú vị.
Dưới đây là cách thực hiện các savedefault trick trong cả hai:
Ubuntu 10.04:
Các hướng 9,10 là một mẹo; Lucid đơn giản hơn nhiều. Xem trợ giúp của Ubuntu để biết thêm chi tiết. Bạn cần thực hiện hai thay đổi trong / etc / default / grub :
Thay đổi dòng đọc GRUB_DEFAULT=0
thànhGRUB_DEFAULT=saved
Thêm một dòng với GRUB_SAVEDEFAULT=true
Đó là nó. Thật ra điều đó không tệ phải không? Đừng quên chạy sudo update-grub
.
Ubuntu 9.10:
Có một số hack trên các diễn đàn Ubuntu để làm cho nó hoạt động; rõ ràng là savedefault từ khóa là lỗi trong Grub v1.97. Bài đăng này trên Diễn đàn Ubuntu cung cấp một phương pháp. Một bài viết khác cho thấy một phương pháp đơn giản hơn một chút:
Đặt GRUB_DEFAULT = được lưu trong / etc / default / grub .
Đặt hai dòng này vào /etc/grub.d/40_custom (gần cuối, sau dòng "exec tail" ):
saved_entry=${chosen}
save_env saved_entry
Tôi đã thử nghiệm phương pháp này trong Ubuntu 9.10 và nó hoạt động; lần khởi động tiếp theo sẽ tự động làm nổi bật mục cuối cùng được chọn. Kết hợp với thời gian chờ, điều này sẽ tự động khởi động vào hệ điều hành cuối cùng mà bạn đã khởi động.
Và đừng quên chạy sudo update-grub
. Sau khi bạn hoàn thành với những thay đổi của bạn. Nó quan trọng và đáng xấu hổ dễ quên ....
Grub không có cách nào để phân biệt khởi động lại với khởi động lạnh , vì vậy Grub không thể tự làm điều này khi khởi động lại. Tuy nhiên, nếu bạn đã khởi động vào Linux, bạn có thể sử dụng sudo grub-set-default N
(trong đó N là số mục nhập của menu khởi động, bắt đầu từ 0) để đặt mục N được chọn ở lần khởi động tiếp theo (thay vì bất kỳ mục nào được lưu).
Về lý thuyết, bạn có thể hack cùng một thứ gì đó dính vào thói quen tắt máy ( kịch bản Upstart , có lẽ) chạy grub-set-default cho bạn khi bạn bảo Linux tắt máy (nhưng không phải khi bạn bảo nó khởi động lại). Tuy nhiên, bạn sẽ không nhận được chức năng tương tự khi tắt Windows.
Tôi đã nghe nói về kỹ thuật Grub4DOS hoặc Grub1 liên quan đến việc cài đặt Grub vào phân vùng khởi động FAT32 hoặc NTFS / boot - cho phép bạn cũng chạy grub-set-default từ Windows, vì vậy bạn có thể gọi nó từ tập lệnh đăng xuất Windows. Lần trước tôi đã thấy bất cứ điều gì về điều đó, điều này là không thể trên Grub2. Điều đó có thể đã thay đổi ngay bây giờ.
sudo update-grub
. Tôi đã kiểm tra bằng cách khởi động vào Windows 7, tắt, sau đó bật lại máy tính. Ubuntu 10.04 (mặc định) vẫn được chọn. Tôi cũng đã thử đặt "yet_entry" vào / etc / default / grub, thay vì "đã lưu" (không chắc cách các tập lệnh cấu hình grub hoạt động), nhưng nó không giúp ích gì. Tôi chưa thử giải pháp số 1.