Tải phân phối Linux khác nhau mỗi khi máy tính khởi động tự động?


15

Tôi có hai bản phân phối Linux (OpenSuSE, Ubuntu) được cài đặt trên hai phân vùng khác nhau. Mỗi lần tôi khởi động máy, GRUB tải lên, cho phép tôi chọn một trong hai bản phân phối.

Tôi không muốn GRUB xuất hiện, vì vậy tôi giới hạn thời gian chờ là 0 trong /boot/grub/menu.lst, điều này có thể sẽ khiến máy của tôi tải OpenSuSE mỗi khi tôi khởi động PC vì đó là tùy chọn đầu tiên trong menu .lst.

Có thể là lần thứ hai tôi khởi động lại PC, Ubuntu sẽ được tải tự động? Lần thứ ba tôi khởi động lại lần nữa, OpenSuSE có thể được khởi động trong khi lần thứ tư tôi khởi động lại, Ubuntu có thể tải lên và cứ thế?

Nói cách khác, làm cách nào để máy của tôi khởi động HĐH tiếp theo trong menu.lst, lần sau nó được khởi động lại?


1
Bạn có phiền khi thêm một số chi tiết: Bạn có đang sử dụng Karmic (sử dụng Grub2) không? Ngoài ra, bạn có chia sẻ phân vùng / boot giữa cả hai distro không? Hoặc có một phân vùng khởi động liên kết đến cả distro kernel / initrd, v.v.?

Không có gì lạ cả! Tôi đã từng làm điều này với một phân vùng Linux chuyên dụng sẽ khôi phục Windows bằng Partimage. Mọi khởi động khác sẽ vào Linux để khôi phục, sau đó khởi động lại ngay lập tức vào Windows. (Nhưng tôi đã sử dụng LiLo sau đó với công tắc -R IIRC.)

Câu trả lời:


11

Đặt một cái gì đó trong các kịch bản khởi động để viết lại menu.lst.

Vì vậy, hãy để Ubuntu viết một phiên bản menu.lsttải OpenSuSE và OpenSuSE viết một phiên bản tải Ubuntu.

Một cách tương đối an toàn để làm được điều này sẽ có 3 tác phẩm, menu.lst, menu.lst.ubuntumenu.lst.SuSEvà có kịch bản làm:

cp menu.lst.ubuntu menu.lst

trên SuSE và:

cp menu.lst.SuSE menu.lst

trên Ubuntu.


9

Tôi đã đạt được chức năng mà tôi đang tìm kiếm bằng cách sử dụng tùy chọn 'saveefault' của GRUB. Tôi đã sử dụng để đặt giá trị của nó cho hệ điều hành khác ở cuối mục nhập của mỗi hệ điều hành trong menu.lst.

Cảm ơn rất nhiều cho tất cả những người đã cố gắng giúp đỡ. :)


1
+1 Sắp đề xuất lưu trữ, nhưng bạn đã đánh bại tôi;)
chris

3

Lilo có thể làm điều này.

Nhưng bạn có thể xem xét một tập lệnh đơn giản trong mỗi HĐH đặt HĐH khác làm mặc định grub. Ví dụ: tập lệnh sau sẽ sửa đổi default 1cài đặt thành default 0:

echo -e "g/default 1/d\ni\ndefault 0\n.\nw" | ed /boot/grub/menu.lst

(ed rất giống Vi. Chỉ chạy lệnh đầu tiên để xem nó đang làm gì.)

Trên hệ điều hành khác, bạn có thể chạy bản sao:

echo -e "g/default 0/d\ni\ndefault 1\n.\nw" | ed /boot/grub/menu.lst

Cảm ơn jhs. Tôi nghĩ rằng nó sẽ làm việc cho tôi. Nhưng tôi sẽ đến LILO nếu tôi không đạt được chức năng với GRUB.

2

Lý do / mục tiêu của bạn để làm điều này là gì?

Bạn đã xem xét chỉ chạy hai máy ảo khác nhau ? Nếu máy ảo có thể được xem xét, có một số cách khác nhau để thực hiện việc này từ bên trong máy chủ, mà không làm xáo trộn khách.

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.