Bagaimana cara saya menentukan apakah sistem Ubuntu yang berjalan tertentu dibooting menggunakan EFI / UEFI, atau BIOS?
Bagaimana cara saya menentukan apakah sistem Ubuntu yang berjalan tertentu dibooting menggunakan EFI / UEFI, atau BIOS?
Jawaban:
Cara termudah adalah memeriksa untuk melihat apakah /sys/firmware/efi
ada. Itu tidak muncul jika Anda boot menggunakan BIOS tradisional.
#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
Usang
Jawaban di bawah adalah metode yang mungkin tidak selalu berhasil.
Alih-alih gunakan jawaban Colin berdasarkan/sys/firmware/efi
.
Sangat mudah untuk mengetahui apakah sistem di-boot di EFI (atau tidak, dalam hal ini harusnya BIOS):
Gunakan saja dmesg | grep "EFI v"
Ini akan mengembalikan garis seperti ini, jika sistem di-boot dari EFI:
[0,000000] EFI v2.00 oleh American Megatrends
Atau mengembalikan apa pun jika bukan, dalam hal ini boot dari BIOS
... dmesg | grep -q "EFI v" # -q beri tahu grep untuk tidak menghasilkan apa-apa jika [$? -eq 0] # periksa kode keluar; jika 0 EFI, BIOS lain kemudian echo "Anda menggunakan boot EFI." lain echo "Anda menggunakan boot BIOS" fi ...
Sumber: Untuk cara menentukan apakah sistem EFI menggunakan emulasi legacy-BIOS atau tidak, serta informasi lebih lanjut tentang pengujian kompatibilitas EFI dan EFI, bersama dengan string untuk sejumlah vendor / versi EFI, silakan lihat halaman ini dari KTT Pengembang Ubuntu untuk Precise .
if dmesg | grep -Fq "EFI v"; then ...
. Tidak ada gunanya menjalankan [
perintah di samping, hanya untuk menguji keberhasilan / kegagalan. $?
terutama berguna untuk memeriksa kesalahan tertentu.