Tại sao phân vùng efi được gắn kết?


10

Trong Ubuntu và một số bản phân phối khác, phân vùng EFI được gắn vào /boot/efi.

Theo tôi hiểu phân vùng EFI được đọc trước hệ điều hành rootfs ( /). Vậy sau khi kernel đã được tải và gắn kết /, chúng ta vẫn cần phân vùng EFI để làm gì? Về lý thuyết sau khi cài đặt ban đầu, bạn không cần truy cập /boot/efinữa, vì nó chỉ chứa nhị phân .efi ...

Vậy tại sao nó được gắn kết? Dường như tự động kết nối một phân vùng với các tệp nhạy cảm mà bạn không thường xuyên truy cập không phải là một điều rất thông minh để thực hiện từ góc độ thiết kế ...


BIÊN TẬP:

Một số hệ thống gần đây có thể bao gồm việc chia grub.cfgtay efi của họ. Xem báo cáo lỗi này , mặc dù đây không phải là trường hợp đối với 16.04LTS của tôi. Vì vậy, đối với các hệ thống có tệp cấu hình trên ESP, việc gắn kết nó sẽ có ý nghĩa hơn. Tuy nhiên, mọi người có cần chạy thường xuyên không update-grubvà tập lệnh có thể gắn kết nó sau đó và lặp lại sau khi cập nhật không?

Câu trả lời:


9

Có một số lý do mà ESP có thể cần được truy cập trong nhiều trường hợp:

  • /boot/efi/EFI/ubuntu/grubx64.efi - Đây là tệp nhị phân EFI GRUB 2, phải được thay thế nếu gói GRUB được cập nhật.
  • /boot/efi/EFI/ubuntu/grub.cfg- Đây là tệp cấu hình GRUB rất ít; chủ yếu là nó tải /boot/grub/grub.cfg. Chuyển hướng này được thực hiện để kích hoạt "móc" cho các hệ thống Khởi động an toàn; không có Secure Boot, grubx64.efinhị phân có thể được xây dựng cục bộ và trỏ trực tiếp vào /boot/grub/grub.cfg; nhưng vì vị trí của các /boot/grub/grub.cfgthay đổi (như được nhìn thấy bởi ESP) từ hệ thống này sang hệ thống khác, việc đặt một grub.cfgtệp trên ESP là cần thiết cho Secure Boot, không cho phép grubx64.efixây dựng cục bộ. IMHO, sẽ hợp lý hơn khi đưa các grub.cfgtệp hỗ trợ GRUB chính và khác vào ESP, nhưng các nhà phát triển phụ trách việc này đã chọn cách tiếp cận bảo thủ hơn, liên quan đến những gì hệ thống dựa trên BIOS làm. Trong mọi trường hợp,grub.cfgtrên ESP sẽ hiếm khi, nếu có, được cập nhật; nhưng đôi khi điều đó có thể cần thiết, đặc biệt nếu gói GRUB Debian được cập nhật.
  • /boot/efi/EFI/ubuntu/shimx64.efi- Đây là nhị phân Shim, được yêu cầu để Secure Boot hoạt động. Giống như nhị phân GRUB 2, nó có thể được cập nhật bằng bản cập nhật gói Debian, nhưng của shim-signedgói.
  • /boot/efi/EFI/ubuntu/MokManager.efi- Đây là tệp nhị phân MokManager, là một công cụ hỗ trợ Shim. Giống như Shim, nó có thể được cập nhật trong bản cập nhật gói.
  • /boot/efi/EFI/ubuntu/fwupx64.efi- Đây là một công cụ hỗ trợ tự động hóa việc cập nhật chương trình cơ sở trên máy tính dựa trên EFI. Như với các nhị phân EFI trước đó, nó có thể được cập nhật bằng bản cập nhật gói Debian.
  • Các tập tin chương trình cơ sở EFI - Cập nhật chương trình cơ sở có thể bắt buộc phải sao chép các tập tin chương trình cơ sở vào ESP. Đây có thể là một quy trình thủ công hoặc một cái gì đó ít nhất là tự động một phần bằng cách sử dụng fwupdatenhị phân Linux và fwupx64.efinhị phân EFI phù hợp . (Tuy nhiên, tôi không khẳng định 100% rằng cái sau yêu cầu ghi tệp vào ESP. Tuy nhiên, nó khá mới và có tài liệu tối thiểu vào thời điểm này.)
  • Các công cụ liên quan đến EFI khác - Các chương trình như trình quản lý khởi động rEFInd của tôi và các công cụ và trình quản lý khởi động EFI không chuẩn khác có thể cần được cài đặt vào ESP. Số lượng lớn các công cụ có thể cần phải được cài đặt là đáng kể, nhưng hầu hết trong số chúng là kỳ lạ, vì vậy số lượng hệ thống bị ảnh hưởng là nhỏ.
  • Điều chỉnh tệp cấu hình thủ công - Nếu bạn muốn cấu hình lại bộ tải khởi động, bạn có thể cần phải đọc tệp cấu hình của nó trên ESP, chỉnh sửa tệp và lưu lại tệp đã chỉnh sửa. Đối với vấn đề đó, chỉ cần kiểm tra cấu hình yêu cầu phải gắn kết ESP (mặc dù nó có thể là giá treo chỉ đọc).
  • Các công cụ thông tin hệ thống - Các công cụ như Boot Info Script đọc các tệp cấu hình trên ESP để tạo báo cáo về cách cấu hình hệ thống. Boot Info Script có thể gắn kết ESP ngay cả khi nó không được thực hiện để thực hiện công việc của nó, nhưng tôi không tích cực 100% về điều đó. Có thể có các công cụ khác giả định rằng ESP đã được gắn và chức năng của chúng sẽ bị suy giảm nếu giả định này không được đáp ứng.

Tóm lại, có khá nhiều lý do mà bản thân HĐH hoặc bạn có thể muốn hoặc cần đọc hoặc ghi vào ESP. Điều đó nói rằng, những lý do này đủ ít để một cơ chế tạm thời gắn kết ESP và sau đó ngắt kết nối nó khi thực hiện có thể có lợi. Chắc chắn, một kịch bản cài đặt gói Debian có thể thực hiện công việc, ví dụ như các công cụ tự động có thể sửa đổi các tệp cấu hình trên ESP. AFAIK, tuy nhiên, việc thay đổi trạng thái gắn kết của ESP không phải ở đường chân trời.

Lưu ý rằng ESP được gắn với các quyền khá hạn chế theo mặc định. Gần đây (bắt đầu từ 15.10 hoặc 16.04, có lẽ - tôi không chắc chắn chính xác khi nào), các quyền gắn kết đã được thay đổi để chỉ rootcó thể đọc từ đó /boot/efi. Ngay cả trước đó, chỉ rootcó thể ghi vào ESP, mặc dù quyền đọc bị lỏng lẻo hơn. Vì rootcó thể gắn kết các phân vùng, nên có lợi ích bảo mật tối thiểu để bỏ qua ESP vào thời điểm này, mặc dù sẽ có một lợi ích là sẽ có ít rủi ro hơn về thiệt hại hệ thống tập tin đối với ESP vì lỗi, mất điện, v.v.


Có phải chỉ là trùng hợp ngẫu nhiên mà nhiều distro có chính sách gắn kết này? Hoặc nó có thể liên quan đến POSIX hoặc một số tiêu chuẩn khác? Tất cả các dẫn xuất Debian +, Arch + derivs, OpenSUSE. Có lẽ Fedora ...
jiggunjer

Trên bản cài đặt 17.04, tôi không có bất kỳ hạn chế nào /boot/efi(câu trả lời ở trên chỉ đề cập đến quyền truy cập root; không phải trường hợp đối với tôi; hơn nữa là mount rw): fstabentry:UUID=1234-5678 /boot/efi vfat defaults 0 1
sxc731

2

Bạn đã đúng: không cần phải gắn kết ESP /boot/efitrong thiết lập mặc định (hay còn gọi là grub 2 )

update-grub cập nhật grub.cfgnằm trong /boot/grubcấu hình của grub được cập nhật mà không gặp vấn đề gì nếu ESP không được gắn.

Tôi đã có nó không được gắn kết trong một vài năm trên cài đặt trước đó của tôi mà không có vấn đề.

Bạn có thể đạt được một vài giây trong khi khởi động bằng cách không gắn nó nếu bạn muốn ;-)


Nó có vẻ như thiết kế ngu ngốc đối với tôi. Xóa nó một cách tình cờ = mất tất cả các bộ tải khởi động. Trình cài đặt openSuse chủ động cảnh báo tôi nếu tôi không thêm nó vào fstab, nhưng việc kết nối nó đã không gây ra một vụ nổ hạt nhân cho đến nay.
jiggunjer

1
Bạn không thể xóa các tập tin hệ thống do tai nạn. Có rất nhiều tập tin khác có thể làm hỏng hệ thống của bạn. Và điều này có thể dễ dàng khôi phục lại.
Pilot6

1
@ Pilot6 1) bạn có thể. 2) không liên quan. 3) phụ thuộc vào cách hệ thống được cấu hình.
jiggunjer
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.