Làm cách nào tôi có thể buộc Ubuntu khởi động trên menu khởi động bị kẹt?


31

Tôi có Ubuntu Server 11.04, nhưng nó không đầu (không có màn hình). Cách duy nhất tôi muốn có thể truy cập nó là từ xa thông qua SSH. Nhưng, đôi khi, nói rằng sau khi mất điện, khi máy chủ khởi động lại, nó sẽ bị kẹt trên menu khởi động Grub và nó sẽ không đếm ngược. Nó sẽ chỉ treo ở đó chờ tôi chọn mục khởi động đầu tiên. Điều này có nghĩa là tôi phải đến đó và cắm vào màn hình và bàn phím.

Nhưng tôi không thể làm điều đó từ xa. Làm cách nào tôi có thể buộc nó tiếp tục khởi động để khởi động mục 1 (mặc định) bất kể mất điện hay bất cứ điều gì?

Câu trả lời:


10

Câu trả lời cho câu hỏi này có thể được tìm thấy trong tập tin grub /etc/grub.d/00_header

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=${2}
fi
EOF
}

Đặt giá trị thời gian chờ thành -1 sẽ dừng đếm ngược. Thay đổi giá trị thành giá trị> 0 tức làset timeout=10

phần này của tập tin sẽ như thế nào

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=10
else
  set timeout=${2}
fi
EOF
}

Sau đó chạy

sudo update-grub2

Cảm ơn. Đây có phải là phần "make_timeout" trong tệp không vì tôi có thể thấy một số dòng "recordfail" khi tìm kiếm. Nếu vậy, hãy để tùy chọn "thiết lập thời gian chờ" thứ hai như vậy (tùy chọn "khác")?
Liên kết

đúng - Tôi sẽ cập nhật câu trả lời để làm rõ
fossfreedom

Nếu tôi chạy sudo shutdown ngay bây giờ -r, nhưng tôi ping hệ thống và nhận thấy nó không hoạt động trở lại, khi tôi tắt và bật lại thủ công, có nơi nào để kiểm tra tại sao nó bị hỏng không?
Liên kết

nó có bị kẹt ở grub nữa không? hoặc nó chỉ tắt máy? Làm một người đàn ông "tắt máy" có một vài tập tin mà công cụ được ghi vào.
fossfreedom

3
Tôi nghĩ giải pháp này không vĩnh viễn vì nó sẽ bị ghi đè nếu các gói grub nhận được cập nhật. "Giải pháp khác" để sử dụng "GRUB_RECORDFAIL_TIMEOUT" là phù hợp hơn. Vì vậy, tôi đã tôn trọng giải pháp này và nâng cao giải pháp khác.
rik-Shaw

36

Tính đến Ubuntu 12.04, một đơn giản hơn, nhưng vẫn cung cấp tài liệu, giải pháp là sử dụng /etc/default/grubđể ghi đè lên recordfail timeout:

GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

Thực tế là tùy chọn như vậy là hoàn toàn không có giấy tờ chỉ là quá xấu.

CHỈNH SỬA

Trên thực tế, hỗ trợ cho GRUB_RECORDFAIL_TIMEOUTđã được thêm vào giữa chu kỳ 12.04, bắt đầu từ phiên bản 1.99-21ubuntu3.3:

  grub2 (1.99-21ubuntu3.3) precise-proposed; urgency=low

[ Ben Howard ]
* Parameterization of recordfail setting. This allows users to define the
  default time out of GRUB when recordfail has been set. The curren
  setting causes hangs on headless and appliances where access to the
  console is limited or prohibited.  (LP: #669481)  [1]

-- Louis Bouchard <louis.bouchard@canonical.com>  Tue, 21 Aug 2012 10:51:58 +0200

Thông tin chi tiết hơn từ LaunchPad .


Sau khi thực hiện thay đổi, cũng chạy update-grubđể tạo /boot/grub/grub.cfgtệp cập nhật
Colt
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.