Mengapa partisi efi dipasang?

10

Di Ubuntu dan beberapa distro lainnya, partisi EFI dipasang di /boot/efi.

Seperti yang saya pahami, partisi EFI dibaca sebelum OS rootfs ( /). Jadi setelah kernel dimuat dan dipasang /, untuk apa kita masih membutuhkan partisi EFI? Secara teori setelah instalasi awal Anda tidak perlu akses /boot/efilagi, karena hanya berisi biner .efi ...

Jadi mengapa itu dipasang? Tampaknya mengomputasi partisi dengan file sensitif yang tidak Anda akses sangat sering bukanlah hal yang sangat cerdas untuk dilakukan dari perspektif desain ...


EDIT:

Beberapa sistem baru-baru ini mungkin menyertakan grub.cfgpartisi mereka. Lihat laporan bug ini , meskipun ini tidak berlaku untuk 16.04LTS saya. Jadi untuk sistem dengan file konfigurasi pada ESP lebih masuk akal untuk memasangnya. Namun seberapa sering orang perlu menjalankan update-grub, dan tidak dapatkah skrip me-mount-nya dan menghitung ulang setelah memperbarui?

jiggunjer
sumber

Jawaban:

9

Ada beberapa alasan ESP yang mungkin perlu diakses dalam berbagai keadaan:

  • /boot/efi/EFI/ubuntu/grubx64.efi - Ini adalah biner EFI GRUB 2, yang harus diganti jika paket GRUB diperbarui.
  • /boot/efi/EFI/ubuntu/grub.cfg- Ini adalah file konfigurasi GRUB yang sangat sedikit; terutama itu banyak /boot/grub/grub.cfg. Pengalihan ini dilakukan untuk mengaktifkan "kait" untuk sistem Boot Aman; tanpa Boot Aman, grubx64.efibiner dapat dibangun secara lokal dan menunjuk langsung ke /boot/grub/grub.cfg; tetapi karena lokasi /boot/grub/grub.cfgbervariasi (seperti yang terlihat oleh ESP) dari satu sistem ke sistem lainnya, menempatkan grub.cfgfile pada ESP diperlukan untuk Boot Aman, yang tidak mengizinkan grubx64.efidibuat secara lokal. IMHO, akan lebih masuk akal untuk meletakkan grub.cfgfile dukungan GRUB utama dan lainnya pada ESP, tetapi pengembang yang bertanggung jawab atas hal ini telah memilih pendekatan yang lebih konservatif, relatif terhadap apa yang dilakukan sistem berbasis BIOS. Dalam hal apa pun,grub.cfgpada ESP jarang, jika pernah, diperbarui; tetapi itu mungkin diperlukan pada titik tertentu, terutama jika paket GRUB Debian diperbarui.
  • /boot/efi/EFI/ubuntu/shimx64.efi- Ini adalah binari Shim, yang diperlukan agar Boot Aman berfungsi. Seperti biner GRUB 2, itu mungkin diperbarui oleh pembaruan paket Debian, tetapi dari shim-signedpaket.
  • /boot/efi/EFI/ubuntu/MokManager.efi- Ini adalah biner MokManager, yang merupakan alat dukungan Shim. Seperti Shim, itu mungkin diperbarui dalam pembaruan paket.
  • /boot/efi/EFI/ubuntu/fwupx64.efi- Ini adalah alat untuk membantu mengotomatiskan pembaruan firmware pada komputer berbasis EFI. Seperti halnya binari EFI sebelumnya, binari EFI mungkin diperbarui oleh pembaruan paket Debian.
  • File firmware EFI - Memperbarui firmware kemungkinan mengharuskan menyalin file firmware ke ESP. Ini bisa berupa proses manual atau sesuatu yang setidaknya sebagian terotomatisasi menggunakan fwupdatebiner Linux dan mencocokkan fwupx64.efibiner EFI. (Saya tidak 100% positif bahwa yang terakhir memerlukan menulis file ke ESP, meskipun. Ini cukup baru dan memiliki dokumentasi minimal pada saat ini.)
  • Alat terkait EFI lainnya - Program seperti boot manager rEFInd saya dan boot manager EFI lainnya dan non-standar mungkin perlu diinstal ke ESP. Banyaknya alat yang mungkin perlu diinstal adalah signifikan, tetapi kebanyakan dari mereka eksotis, sehingga jumlah sistem yang terkena dampaknya kecil.
  • Penyesuaian file konfigurasi manual - Jika Anda ingin mengkonfigurasi ulang bootloader, Anda mungkin perlu membaca file konfigurasinya pada ESP, mengeditnya, dan menyimpan kembali file yang diedit. Untuk itu, hanya memeriksa konfigurasi mengharuskan ESP dipasang (meskipun itu bisa menjadi mount read-only).
  • Alat informasi sistem - Alat seperti Boot Info Script membaca file konfigurasi pada ESP untuk menghasilkan laporan tentang bagaimana sistem dikonfigurasi. Boot Info Script mungkin me-mount ESP bahkan jika itu tidak di-mount untuk melakukan tugasnya, tapi saya tidak 100% positif dari itu. Mungkin ada alat lain yang menganggap ESP sudah terpasang, dan fungsinya akan menurun jika asumsi ini tidak terpenuhi.

Singkatnya, ada beberapa alasan mengapa OS itu sendiri atau Anda mungkin ingin atau perlu membaca dari atau menulis ke ESP. Yang mengatakan, alasan-alasan ini sedikit jumlahnya sehingga mekanisme untuk sementara memasang ESP dan kemudian melepasnya ketika dilakukan mungkin bermanfaat. Tentu saja skrip instalasi paket Debian dapat melakukan pekerjaan itu, misalnya, seperti halnya alat otomatis yang memodifikasi file konfigurasi pada ESP. AFAIK, meskipun, mengubah status pemasangan ESP tidak di cakrawala.

Perhatikan bahwa ESP dipasang dengan izin yang cukup ketat secara default. Baru-baru ini (dimulai dengan 15.10 atau 16.04, mungkin - saya tidak yakin kapan tepatnya), mount permisi diubah sehingga hanya rootbisa dibaca /boot/efi. Bahkan sebelum itu, hanya rootbisa menulis ke ESP, meskipun izin baca lebih longgar. Karena rootdapat me-mount partisi, ada manfaat keamanan minimal untuk membiarkan ESP dilepas pada titik ini, meskipun akan ada manfaat karena akan ada lebih sedikit risiko kerusakan sistem file pada ESP karena bug, kegagalan daya, dll.

Rod Smith
sumber
Apakah ini hanya kebetulan bahwa banyak distro memiliki kebijakan pemasangan ini? Atau mungkinkah itu terkait dengan POSIX atau standar lain? Semua turunan Debian +, Deretan Arch +, OpenSUSE. Mungkin Fedora ...
jiggunjer
Pada stock 17.04 instal saya tidak memiliki batasan /boot/efi(jawaban di atas hanya menyebutkan root-dapat diakses; tidak demikian halnya bagi saya; lebih lanjut mount adalah rw): fstabentri:UUID=1234-5678 /boot/efi vfat defaults 0 1
sxc731
2

Anda benar: tidak perlu memasang ESP di /boot/efidalam pengaturan default (alias dengan grub 2 )

update-grub pembaruan grub.cfgyang terletak di /boot/grubsehingga konfigurasi grub diperbarui tanpa masalah jika ESP tidak di-mount.

Saya sudah tidak terpasang selama beberapa tahun pada instalasi saya sebelumnya tanpa masalah.

Anda dapat memperoleh beberapa mikro-detik selama boot dengan tidak memasangnya jika Anda inginkan ;-)

titik balik matahari
sumber
Sepertinya desain yang bodoh bagi saya. Menghapusnya secara tidak sengaja = kehilangan semua bootloader. Installer openSuse secara aktif memperingatkan saya jika saya tidak menambahkannya ke fstab, tetapi unmount itu belum menyebabkan kehancuran nuklir sejauh ini.
jiggunjer
1
Anda tidak dapat menghapus file sistem secara tidak sengaja. Ada banyak file lain yang dapat merusak sistem Anda. Dan ini bisa dipulihkan dengan mudah pula.
Pilot6
1
@ Pilot6 1) Anda bisa. 2) tidak relevan. 3) tergantung pada bagaimana cara sistem dikonfigurasikan.
jiggunjer