Linux trên UEFI - làm thế nào để khởi động lại màn hình thiết lập UEFI như Windows 8 có thể?


30

makeuseof.com giải thích rằng phần cứng được chứng nhận Windows 8 có một cách mới để vào màn hình thiết lập UEFI (tương đương với BIOS). Từ cách truy cập BIOS trên máy tính Windows 8 :

Chúng tôi không còn nhấn một phím nào đó trong quá trình khởi động để tiết lộ BIOS - thay vào đó, một tùy chọn để truy cập BIOS nằm trong menu tùy chọn khởi động của Windows 8 ... Nếu bạn chỉ ở đây để truy cập UEFI BIOS của máy tính, hãy nhấp vào gạch khắc phục sự cố.

Nhà phát triển chính của Secure Boot cho Linux nói rằng hệ điều hành thay thế không thể cho rằng cách cũ sẽ tiếp tục hoạt động . Vì vậy, Linux cũng có một cách mới để vào thiết lập UEFI?

Tôi có một bo mạch chủ ASUS. Nó gợi ý rằng một phiên bản nâng cấp của phần sụn chứa tùy chọn khởi động nhanh . Mặt trái của nó là tùy chọn có thể khiến việc "tiết lộ BIOS" trở nên khó khăn hơn nhiều so với hiện tại.

Tôi không bận tâm mày mò. Nếu điều này được biết là một ý tưởng tồi, tôi không muốn gặp rủi ro khi nâng cấp chương trình cơ sở mà không có gì (và có thể phải tắt trường hợp, đặt lại cài đặt và phải thiết lập lại tất cả).


Ngoài ra, cách xử lý này đối với người dùng Windows 7? Nếu họ lạc quan chọn tùy chọn khởi động nhanh, làm thế nào để họ có quyền truy cập lại thiết lập "BIOS" khi họ cần?


Chết tiệt. Bây giờ tôi ước tôi đã không chọn Asus trên Gigabyte cho bản nâng cấp mới của mình
kluka

Sử dụng bất kỳ cài đặt nào hoạt động cho Windows 7, đó sẽ là mặc định và sẽ ổn thôi :). Phải có một cách tiêu chuẩn để làm điều đó trong UEFI, tôi không tìm thấy nó được gọi ở bất cứ đâu. Ngay cả phần sụn gốc không có tùy chọn khởi động nhanh nào cũng khá linh hoạt, vì vậy tôi không hối tiếc. Chúng tôi đang xem xét một tính năng dành riêng cho UEFI; Tôi sẽ không dựa vào Gigabyte để có EFI ngay. Tôi đang giải quyết các vấn đề với 1) cổng USB3 và 2) bàn phím USB, về nguyên tắc có một chút thất vọng. OTOH đèn LED kiểm tra bộ nhớ rất hữu ích với tôi khi RAM mới của tôi bị hỏng sau một tuần.
sourcejedi

1
Một trong những vấn đề với UEFI là, mặc dù có tài liệu đặc tả 2.000 trang, nhưng KHÔNG có tiêu chuẩn hóa các vấn đề giao diện người dùng. Các nhà phát triển phần mềm có thể tự do cung cấp cho người dùng quyền truy cập vào các tiện ích thiết lập của họ theo bất kỳ cách nào họ thấy mong muốn.
Rod Smith

Bài báo nói rằng Windows 8 cuối cùng cũng cung cấp cho người dùng quyền truy cập vào tiện ích thiết lập thông thường theo cách tiêu chuẩn. Vì vậy, chứng nhận windows phải chỉ định một phương pháp để hỗ trợ này. Hy vọng rằng đó là một phần của UEFI, không phải là phần mở rộng MS không có giấy tờ. Lưu ý rằng đây KHÔNG phải là câu hỏi về "Khởi động an toàn". Câu hỏi cho rằng tôi đã quản lý để cài đặt và khởi động Linux.
nguồnjedi

Cá nhân tôi đang chạy Windows 8 trên mẹ con ASRock Z77 Pro3 của mình, vừa mới thực hiện tùy chọn "Khởi động cực nhanh" này trong thiết lập UEFI. Tôi được ASRock cung cấp một tiện ích nằm trong thanh khay của mình, tôi có thể nhấn để truy cập cài đặt UEFI. Xóa CMOS sẽ đặt lại tùy chọn khởi động nhanh, vì vậy bạn luôn có thể thử. BBIOS của tôi không cho phép cài đặt này, vì nó không có hỗ trợ GOP, vì vậy tôi không có cơ hội dùng thử. Tôi không được cung cấp phần mềm tương tự cho Linux, chỉ có Windows 8.
Steen Schütt 17/12/12

Câu trả lời:


34

Trên các bản phân phối Linux hiện đại sử dụng systemd, bạn có thể truy cập thẳng vào menu cài đặt Firmware bằng cách sử dụng:

systemctl reboot --firmware-setup

Tài liệu: https://www.freedesktop.org/software/systemd/man/systemctl.html#--firmware-setup


1
Hah, tài liệu đó là một chút ngắn gọn. Có vẻ tốt - nó không dành riêng cho một trình quản lý khởi động nhất định. Xấu hổ vì không có một công cụ độc lập, nhưng tôi không có gì chống lại systemd. github.com/systemd/systemd/blob/ từ
sourcejedi

1
Xem thêm câu trả lời Unix.SE này . Hãy cẩn thận với việc sử dụng efivar, bằng cách nào đó tôi đã quản lý để loại bỏ 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndicationsbiến, có thể bằng cách chuyển dữ liệu trống vào efivarchương trình. Bây giờ tôi phải tìm cách tạo lại tập tin này, nếu không có nó thì systemctl reboot --firmware-setupchương trình không hoạt động nữa.
Lekensteyn

Xin lỗi khi nghe những rắc rối của bạn. Tôi đã nhận được cài đặt hiển thị rằng biến thành 0 sẽ ổn (từ nhận xét này github.com/systemd/systemd/blob/ mẹo ), mặc dù cùng một mã cho thấy systemd sẽ không quan tâm nếu biến bị xóa.
sourcejedi

1
Điều này dường như tạo lại biến, nhưng bằng cách nào đó, nó bị mất sau khi khởi động lại: printf '\7\0\0\0''\0\0\0\0\0\0\0\0' > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c(dựa trên firmware.intel.com/blog/accessing-uefi-variabled-linux và các nội dung trước đó tôi đã bỏ). Lưu ý rằng rm ...cần chattr -i ...trước khi bạn có thể loại bỏ nó (biện pháp an toàn về rm -rf /).
Lekensteyn

1
@sourcejedi Arch Linux có tàu systemd 230. Cuối cùng tôi cũng đã lấy lại được biến của mình. Vì một số lý do, việc tạo biến thông qua efivars dẫn đến kết quả OsIndications-89efde67-ffcd-12de-ab01-01efff012389có GUID khác. Khi tôi khởi động vào UEFI Shell , tôi đã gọi lệnh setvar OsIndications -nv -bs -rt =0000000000000000để đặt biến OsInduggest trong bộ lưu trữ không bay hơi để truy cập dịch vụ khởi động và thời gian chạy vào chuỗi thập lục phân biểu thị số 64 bit (0).
Lekensteyn

4

Tôi không chắc chắn chính xác Windows 8 làm điều này như thế nào, nhưng tôi có thể đoán rằng nó tận dụng các biến UEFI được sử dụng cho các tùy chọn khởi động.

Bạn có thể sử dụng efibootmgr để xác định ý nghĩa của các biến khởi động khác nhau. Trên hệ thống của tôi, Boot0000 là Thiết lập, vì vậy việc sử dụng efibootmgr -n 0sẽ khiến hệ thống khởi động thành thiết lập trong lần khởi động tiếp theo.


Cảm ơn. Bây giờ tôi đã thử khởi động UEFI trên BIOS hiện tại của tôi. Boot0000 dường như bị chiếm bởi một trong những mục khởi động bình thường. (Tôi cũng nhận ra rằng tôi đã đọc sai các ghi chú phát hành và không có lý do gì để mong đợi phiên bản mới hơn sẽ nhanh hơn. Ồ tốt :).
nguồn

@sourcejedi Các firmware tùy chọn khởi động nhanh chóng của nó có thể thực sự khởi động nhanh hơn 1 hoặc 2 giây, khởi động cực nhanh một lần nữa có thể cạo râu của người khác từ 1 đến 2 giây: unix.stackexchange.com/questions/149761/...
Pro Sao lưu

2

Tôi đã thử khởi động EFI với Ubuntu 12.04 và tìm thấy câu trả lời cho câu hỏi của riêng tôi.

(Tôi chưa nâng cấp chương trình cơ sở của mình. Tôi đã đọc sai các ghi chú phát hành - có lẽ nó sẽ không nhanh hơn nữa).

Nhập thiết lập chương trình cơ sở từ menu khởi động grub-efi

efibootmgrdường như không hỗ trợ khởi động lại để thiết lập firmware cho tôi. Nhưng grub-efi thì có. Nó có thể tạo một mục để thiết lập phần sụn trong menu khởi động GRUB.

Bạn có thể vào menu khởi động GRUB bằng cách giữ phím shift "sớm trong quá trình khởi động". Tôi nhấn nó xuống ngay sau khi đèn NumLock bật trên bàn phím và nó hoạt động với tôi.

Nếu bạn tò mò, tôi cũng đã xem lệnh: đó là "fwsetup". Tức là bạn có thể vào menu GRUB, làm theo các hướng dẫn trên màn hình để chuyển sang dòng lệnh, sau đó nhập "fwsetup" và nhấn return.

Nếu bạn thực hiện cài đặt EFI từ đầu, tôi tin rằng mục menu sẽ được tạo tự động. Tôi đã không cài đặt như EFI, điều đó có nghĩa là tôi phải đá nó (xem bên dưới, bước 4).

Chuyển đổi từ khởi động BIOS-GPT sang khởi động UEFI-GPT mà không ghi CD khởi động EFI?

EDIT: phần này có thể hoạt động trên một số hệ thống. Tuy nhiên, bây giờ tôi tin rằng nó phụ thuộc vào hành vi bổ sung không phải là một phần của tiêu chuẩn UEFI. Một ngày nào đó tôi sẽ tìm ra những gì đang xảy ra ở đây.

Tôi đã chuyển đổi cài đặt hiện có sang EFI mà không có CD khởi động hỗ trợ EFI. Một số người nghĩ rằng điều này là không thể. Phải thừa nhận rằng, có một vài thông điệp cảnh báo khó hiểu. Tôi đã có một cái nhìn về những gì đang xảy ra. Nếu hiện tại bạn có thể vào thiết lập phần sụn, thì nó không tệ lắm.

Phần khó là có lẽ bạn vẫn đang sử dụng bảng phân vùng MBR và bạn gần như chắc chắn cần phải chuyển đổi nó thành GPT. Tôi sẽ không bao gồm chuyển đổi từ MBR sang GPT. Phân vùng luôn có một chút nguy hiểm. gdiskcó thể chuyển đổi, nhưng có khá nhiều bit khó hiểu. Tôi đã không liệt kê tất cả chúng ở đây. Nhưng đối với một, có lẽ bạn cần thu nhỏ phân vùng cuối cùng, để tạo khoảng trống cho GPT cuối đĩa. Bạn không thể làm điều đó nếu phân vùng được gắn kết, vì vậy bạn sẽ muốn sử dụng CD khởi động. (Tôi cũng đã tổ chức chuyển đổi, đảm bảo rằng tôi có thể khởi động từ BIOS-GPT trước khi tôi thử UEFI-GPT, liên quan đến việc phải tạo một loại phân vùng khởi động khác.).

Giả sử bạn đã thiết lập GPT:

  1. Cài đặt grub-efi. Điều này loại bỏ grub-pc, và ngăn nó hoạt động. (grub-efi thực sự vẫn hoạt động sau khi tôi gỡ bỏ nó!). Fedora có vẻ hơi khác một chút; Tôi chỉ thử cái này trên Ubuntu. Trong quá trình cài đặt, bạn sẽ thấy lỗi về việc không thể truy cập các biến EFI, đó là do bạn không khởi động bằng EFI.
  2. Tắt.
  3. Bật nguồn. Hãy chắc chắn rằng bạn khởi động thông qua EFI! Đây là phần phụ thuộc hệ thống và đáng lo ngại. Hệ thống của tôi đã bắt đầu mặc định khởi động MBR, vì vậy tôi đã thấy một lỗi đáng sợ từ GRUB - nhưng đó là từ grub-pc cũ. Trên hệ thống của tôi, thật dễ dàng để vào màn hình thiết lập chương trình cơ sở tại thời điểm này (xem bên dưới) và thay đổi mức ưu tiên khởi động thành "ubfox" (là mục nhập để khởi động hệ điều hành của tôi thông qua EFI).
  4. Bây giờ bạn có thể làm lại cài đặt grub ( grub-installhoặc grub2-installtrên Fedora) và nó sẽ không hiển thị bất kỳ lỗi nào. Và bây giờ , chạy update-grub(hoặc grub2-mkconfig -o /boot/grub/grub.cfg, trên Fedora) sẽ tạo mục menu để vào thiết lập phần sụn.

Vào menu cài đặt chương trình cơ sở / khởi động trên hệ thống ASUS của tôi

TUYÊN BỐ TỪ CHỐI: đây không phải là chương trình cơ sở / bảng mới nhất. Hệ thống ASUS của bạn có thể hoạt động khác với tôi.

Chương trình cơ sở ASUS hiện tại của tôi thông báo khi "cấu hình khởi động" đã thay đổi - ví dụ: khi tôi cài đặt grub-efi. Có văn bản nói rằng nó đã thay đổi nếu bạn nhìn vào màn hình "EZ setup" ban đầu. Và, khi phát hiện ra sự thay đổi như vậy, việc vào màn hình thiết lập sẽ dễ dàng hơn. Những gì nó làm là nó hiển thị màn hình giật gân với "nhấn DEL để vào thiết lập" trong vài giây. (Nếu bạn đã bật tùy chọn "khởi động nhanh", nó thường bỏ qua màn hình giật gân).

Tôi nghĩ rằng cũng có thể kích hoạt màn hình giật gân bằng cách bạn tắt nguồn hệ thống và rút phích cắm trong một phút hoặc lâu hơn trước khi khởi động lại.

Trên chương trình cơ sở hiện tại của tôi, tôi có thể nhập thiết lập chương trình cơ sở bằng cách làm mờ phím DEL trong khi khởi động, ngay cả khi không có màn hình giật gân. Tuy nhiên , đây là điều kiện để bật hỗ trợ bàn phím trong phần sụn.

Có thể chuyển đổi chương trình cơ sở không để thăm dò bàn phím trong khi khởi động, được cho là để tăng tốc mọi thứ. Tôi đoán đây là thử nghiệm tiếp theo để thử, bây giờ tôi tự tin hơn về công cụ EFI này! .


0

Dựa trên câu trả lời của @ Lekensteyn, tôi đã tạo một phím tắt UI (trong menu Quản trị nếu môi trường của bạn vẫn có một trong số đó). Hữu ích nếu bàn phím của bạn dường như không bao giờ hoạt động cho đến sau POST.

/usr/share/applications/uefi-reboot.desktop

[Desktop Entry]
Name=UEFI Firmware Setup (Reboot)
Comment=Access the motherboard configuration utility
Exec=systemctl reboot --firmware-setup
Icon=system-restart
Terminal=false
Type=Application
Categories=System;Settings;
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.