Cách thoát khỏi vỏ EFI trong hộp ảo


12

Tôi đang chạy một máy ảo cho Mac OSX và nó luôn khởi động vào vỏ EFI, tôi chỉ muốn một lời giải thích đơn giản về cái này là gì và làm thế nào, nếu có thể, để thoát nó.

Câu trả lời:


14

Trình bao EFI là một công cụ dòng lệnh tương tự như khái niệm bash trong Linux / Unix / OS X hoặc cửa sổ Dấu nhắc Lệnh trong Windows. Nó cho phép bạn xem, xóa, chỉnh sửa và đổi tên tệp, để cập nhật các mục quản lý khởi động EFI, v.v. Bạn có thể thoát khỏi shell bằng cách gõ exit; tuy nhiên, trong trường hợp VirtualBox, điều này có thể sẽ đưa bạn đến một menu EFI có thể gây nhầm lẫn.

Nếu bạn đã cài đặt HĐH trong phiên VirtualBox của mình, rất có thể nó đã cài đặt bộ tải khởi động trên Phân vùng hệ thống EFI (ESP). Hầu hết các hệ điều hành đều đăng ký các bộ tải khởi động này với phần sụn, phần mềm này sẽ tự động ghi nhớ và khởi động chúng. Một điều khó hiểu của VirtualBox là nó thường quên các mục quản lý khởi động này. Kết quả là VM khởi động vào vỏ EFI theo mặc định. Có một số cách để giải quyết vấn đề này, bao gồm:

  • Bạn có thể khởi chạy trình tải khởi động bằng tay bằng cách sử dụng trình bao EFI:
    1. Nhập fs0:để truy cập hệ thống tập tin đầu tiên, thường là ESP.
    2. Nhập cd EFI\{osname}, {osname}tên của thư mục nơi hệ điều hành của bạn cài đặt bộ tải khởi động. (Bạn chưa nói hệ điều hành nào bạn đã cài đặt, vì vậy tôi không thể chắc chắn đó là gì. Nhập vào ls EFIsẽ cho bạn thấy những gì ở đó.)
    3. Khởi chạy bộ tải khởi động bằng cách gõ tên của nó. Một lần nữa, tôi không thể biết đó là gì. Đối với Linux, nó thường grubx64.efi. Đối với Windows, đó là bootmgfw.efi.
  • Tự động hóa quy trình trên với tập lệnh khởi động shell EFI ( startup.nshtrong thư mục gốc của ESP).
  • Đổi tên bộ tải khởi động thành EFI\BOOT\bootx64.efitên tệp dự phòng:
    1. Nhập fs0:để truy cập hệ thống tập tin đầu tiên, thường là ESP.
    2. Nhập mv EFI\{osname} EFI\BOOTđể đổi tên thư mục chứa bộ tải khởi động. Như trên, bạn sẽ phải xác định {osname}chính mình là gì .
    3. Nhập mv EFI\BOOT\{loadername.efi} EFI\BOOT\bootx64.efi, {loadername.efi}tên của trình tải khởi động, chẳng hạn như grubx64.efiđối với hầu hết các cài đặt Linux.
  • Đăng ký bộ tải khởi động với phần mềm VirtualBox bằng cách sử dụng các công cụ của shell. Tôi không biết về một mô tả ngắn gọn về cách thực hiện điều này trên web, và tôi không có thời gian để viết nó lên đây. Nó có thể gây khó chịu nếu không có hướng dẫn chính xác bởi vì có rất nhiều cạm bẫy không rõ ràng mà bạn phải tránh.

Cá nhân, giải pháp tôi thường sử dụng là đổi tên bộ tải khởi động từ mặc định của HĐH thành EFI\BOOT\bootx64.efi. Đây là cách dễ nhất để thực hiện và nó hoạt động đủ tốt. Một nhược điểm của phương pháp này là nếu HĐH của bạn từng cập nhật bộ tải khởi động, bản cập nhật có thể sẽ chuyển đến vị trí ban đầu, vì vậy bạn sẽ phải lặp lại quy trình nếu bạn muốn sử dụng bộ tải khởi động được cập nhật.


Còn Mac thì sao? Hướng dẫn của bạn không hoạt động
Pacerier 19/03/18
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.