Có thể nào mà quay trở lại tinh tinh vào GRUB sau khi khởi động Linux mà không cần khởi động lại


21

Tôi đang khởi động kép Windows và Linux trên ổ SSD của mình và thấy mình thường xuyên chuyển đổi giữa hai hệ điều hành. SSD thực sự rất nhanh và cả hai hệ điều hành đều khởi động trong khoảng 3 giây sau khi được chọn trong GRUB. Tuy nhiên, phải mất mãi mãi (khoảng 30 giây) để bộ điều khiển BIOS, RAID và bộ điều khiển SATA thứ hai của tôi khởi chạy trước khi cuối cùng tôi vào GRUB.

Vì vậy, tôi đã tự hỏi liệu có thể bỏ qua các khởi tạo này và chỉ "quay lại" với GRUB sau khi tôi đã khởi động Linux. Lý tưởng nhất là tôi cũng có thể làm điều tương tự từ bên trong Windows nhưng hy vọng của tôi không cao lắm :)

Tôi đã thực hiện một tìm kiếm trực tuyến và không tìm thấy gì ngoài trình tải linux có phần lỗi thời - loadlin.exe, có thể chạy từ bên trong Dos hoặc Windows 95/98 để khởi động Linux. Vì vậy, ít nhất khái niệm chuyển đổi hệ điều hành mà không cần khởi động lại không phải là mới. Bất cứ ai cũng biết về một công cụ hiện tại làm điều này?

Nếu không, có một vấn đề kỹ thuật nào ngăn chúng ta viết một chương trình như vậy hay đơn giản là không có đủ nhu cầu?

CẬP NHẬT: Một người bạn của tôi chỉ nói với tôi về Kexec . Sử dụng điều đó dường như có thể khởi động một nhân Linux khác từ bên trong một nhân đang chạy, nhưng liệu có thể quay lại GRUB hoặc bắt đầu cài đặt windows trực tiếp không?


4
Câu hỏi thú vị. Một lý do tôi có thể nghĩ đến vì không có nhiều hứng thú với điều này là VM đã được cải thiện gần đây. Hầu hết mọi người chỉ chạy HĐH thứ cấp của họ bên trong máy ảo trên máy chủ chính thay vì khởi động kép.
Noufal Ibrahim

Tôi cũng đã xem xét sử dụng VM nhưng tôi cần hiệu năng đồ họa nhanh và cho đến nay VM không mang lại hiệu năng thỏa đáng. Có thể mọi thứ sẽ thay đổi ngay bây giờ khi Xen (và những người khác sớm) có một tùy chọn vượt qua hoàn toàn cho card đồ họa. Tuy nhiên, vẫn sẽ rất thú vị để xem nếu có một cách để chuyển đổi nhanh. Đối với bình luận thứ hai, tôi thực sự không biết về unix.stackexchange.com. Tôi chắc chắn sẽ có một cái nhìn và có thể đăng ở đó nếu tôi không nhận được câu trả lời đầu tiên. Cám ơn vì sự gợi ý.

1
30 giây ? Tôi nghĩ rằng trên một máy chủ ibm giống như 5 phút.
Sirex

1
Nên có thể với bộ tải khởi động EFI (không biết làm thế nào). Hơi khó hơn với MBR, vì họ dự kiến ​​sẽ bắt đầu ở chế độ thực 16 bit và tự thiết lập mọi thứ, điều này có thể không thực hiện được sau khi hệ thống được khởi tạo một lần.
grawity

@Sirex: Nhưng ai dualboots máy chủ IBM? :)
grawity

Câu trả lời:


6

Sử dụng kexec bạn có thể giải quyết vấn đề. Không cần liên quan đến GRUB. Bạn có thể sử dụng trình tải kexec để khởi động trực tiếp vào các hệ điều hành khác nhau từ bên trong Linux. (Đảm bảo hỗ trợ kexec được biên dịch vào kernel của bạn.)


1
Theo như tôi biết thì tòa nhà kexec_load()chỉ dành cho việc tải kernel Linux. Công cụ tải kexec mà bạn liên kết dường như cũng chỉ hỗ trợ các nhân Linux. --- Có thể khởi động ví dụ memtest86 nhưng tôi chưa bao giờ thấy ai khởi động Windows trực tiếp bằng cơ chế kexec nhưng có thể thông qua GRUB : Cách khởi động trực tiếp vào Windows từ kexec + Grub4DOS .
pabouk


2

Kiểm tra xem bạn có hỗ trợ UEFI không. Điều đó có thể DRASTICALLY cải thiện tốc độ khởi động.


Điều này không cung cấp một câu trả lời cho câu hỏi. Để phê bình hoặc yêu cầu làm rõ từ một tác giả, hãy để lại nhận xét bên dưới bài đăng của họ.
Jawa

1
@Jawa OP đang gặp vấn đề vì POST của anh ấy đang mất một thời gian dài không thể chấp nhận được. UEFI chắc chắn cắt giảm thời gian này: mục đích chính của việc tạo ra nó.
Milind R

2
Hai điều ở đây: 1) Câu hỏi không phải là "làm thế nào để tôi khởi động nhanh hơn" mà là "làm thế nào để tôi trở lại GRUB sau khi khởi động?" 2) Câu trả lời một dòng có lẽ là tốt nhất như ý kiến.
Kevin Panko

Cám ơn vì sự gợi ý. Vì tôi đã đăng câu hỏi ban đầu, tôi đã thay đổi cấu hình đĩa cứng của mình và bây giờ, tôi đã tối ưu hóa một số cài đặt trong bios để cải thiện thời gian khởi động. Về bản chất, tôi có thể vô hiệu hóa những thứ liên quan đến RAID (mà tôi không cần thêm nữa) và cũng kích hoạt khởi động EFI. Hiệu quả tổng thể là khởi động nhanh hơn nhiều. Tuy nhiên, câu hỏi ban đầu vẫn rất thú vị đối với tôi và cho đến nay tôi vẫn chưa tìm được giải pháp đáng tin cậy.
Dimitar Asenov

1

Câu chuyện dài, không phải với cách làm việc bây giờ. Một cách tiếp cận tốt hơn có thể là tìm ra lý do tại sao bộ điều khiển BIOS / RAID / SATA của bạn mất quá nhiều thời gian. Có thể có các bản cập nhật BIOS và có thể là các bản cập nhật firmware cho bộ điều khiển đột kích.


Một lý do có thể khiến POST chậm là bạn có cấu hình bộ điều khiển ổ cứng để tự động phát hiện các ổ đĩa không tồn tại trong BIOS. Nếu bạn có một ổ cứng và một đĩa CD / DVD duy nhất, không có điểm nào cố gắng tự động phát hiện cho 2 (hoặc 4) khe cắm khác, các thử nghiệm này phải hết thời gian và có thể mất một thời gian.
Haqa

1

Trừ khi BIOS của bạn có tùy chọn thiết lập cụ thể để bỏ qua POST trong quá trình khởi động lại (tôi đã thấy nó một lần), điều này không tồn tại kể từ Windows 98 / ME (thủ thuật Khởi động lại nhanh chỉ thực sự tải lại Windows.)

Có thể ai đó có đủ thời gian hack khởi động có thể tái tạo điều đó và tải lại GRUB, nhưng nó sẽ phải thay đổi cách INIT khởi động lại hệ thống.


0

Nếu bạn không thể tìm thấy các bản cập nhật như Zeroedout đề xuất, bạn có thể muốn chạy hệ thống máy chủ của mình trong các máy ảo, vì vậy khởi động lại gần như miễn phí.

Ngoài ra, một số hệ thống có chế độ khởi động nhanh / nhanh trong đó một số kiểm tra không phổ biến. Bạn có thể muốn kiểm tra điều đó.

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.