Saya telah menginstal Fedora di komputer saya dengan /
partisi, swap
partisi , dan ESP
partisi untuk booting EFI.
Sekarang, saya menginstal Elementary OS, bukan Fedora.
- Saya telah memformat
/
partisi (/ dev / sda3) - Memformat partisi swap (/ dev / sda4)
- Tetapi tidak memformat partisi boot EFI (/ dev / sda1)
Sekarang ketika saya boot, saya mendapatkan menu grub lama saya yang diinstal oleh Fedora. Saya hanya bisa boot ke OS Dasar dengan:
- Memasuki menu boot.
- Memilih boot dari file EFI
- Menavigasi
/dev/sda1/
, untuk mendapatkanelementary
direktori yang berisigrubx64.efi
file. Yang mana/boot/efi/EFI/elementary/grubx64.efi
.
Bagaimana saya bisa memperbaikinya? Saya berpikir untuk memformat partisi boot /dev/sda1/
dengan fat16
atau sesuatu kemudian menginstal ulang grub di atasnya.
/dev/sda1
Sekarang saya mengandung ini:
root@rafael:/home/rafael# ls /boot/efi/
EFI mach_kernel System
root@rafael:/home/rafael# ls /boot/efi/EFI/
BOOT/ elementary/ fedora/
root@rafael:/home/rafael# ls /boot/efi/EFI/fedora/
BOOT.CSV fonts gcdx64.efi grub.cfg grubx64.efi MokManager.efi shim.efi shim-fedora.efi
root@rafael:/home/rafael# ls /boot/efi/EFI/elementary/
grubx64.efi
Inilah efibootmgr
hasil saya :
BootCurrent: 003D
Timeout: 0 seconds
BootOrder: 2001,2002,2003
Boot0000* Notebook Hard Drive
Boot0010* Internal CD/DVD ROM Drive
Boot0011* Internal CD/DVD ROM Drive (UEFI)
Boot0012* Fedora
Boot0013* Fedora
Boot0014* Fedora
Boot0015* Fedora
Boot0016* Fedora
Boot0017* Fedora
Boot0018* Fedora
Boot0019* Fedora
Boot001A* Fedora
Boot001B* Fedora
Boot001C* Fedora
Boot001D* Fedora
Boot001E* Fedora
Boot001F* elementary
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Bantuan apa pun akan dihargai.
efibootmgr
output sehingga dapat dilihat apakah entri SD ada di sana (sepertinya bukan tapi untuk memastikan). Anda mungkin juga suka refind sebagai boot manager Anda. Kalau-kalau Anda ingin mengintip cepat pada E17 pada sistem itu ada gambar yang hanya berfungsi (490M ISO link) serta snapshot mingguan . Mungkin lebih rendah dari E polisefibootmgr
output.Jawaban:
Saya tidak tahu mengapa Anda menggunakan grub. UEFI bertindak sebagai boot loader dan memungkinkan untuk memilih sistem operasi atau kernel yang berbeda dari menu boot. Meskipun ada beberapa pengecualian, biasanya tidak diperlukan untuk mem-boot loader boot kedua, grub dalam hal ini.
Anda menyebutkan, Anda menginstal OS dasar bukan Fedora, yang berarti Anda hanya perlu memuat satu sistem operasi. Di sini saya menyajikan cara untuk melakukannya tanpa menggunakan grub. Kernel perlu dikompilasi dengan EFI_STUB, jika itu yang Anda bisa tanyakan
Salin kernel dan initramfs ke ESP (partisi sistem EFI)
Daftarkan kernel sebagai opsi boot di UEFI
The
--disk
Argumen mengambil nama perangkat disk, misalnya--disk /dev/sda
, yang--part
argumen mengambil jumlah partisi dari ESP, misalnya 4. Anda dapat menemukan nomor partisi ESP dengan perintah berikut:Pastikan Anda mengulangi langkah-langkah setelah setiap pembaruan kernel
Baik Anda melakukan ini secara manual (cukup ulangi langkah-langkah di atas) atau Anda menulis skrip kecil yang berfungsi. Untuk sepenuhnya mengotomatiskannya, skrip dapat dihubungkan ke prosedur pasca-pemasangan kernel, ke dalam prosedur pasca-pembaruan initramfs dan ke dalam prosedur postrm kernel (untuk menghapus entri boot UEFI). Sebenarnya, saya tidak tahu mengapa ini tidak dilakukan secara default dalam distribusi, itu hanya beberapa baris kode.
sumber
grep EFI_STUB /boot/config-3.2.0-49-generic
mendapat apa-apa.Saya melakukannya !
Pertama-tama, saya menghapus semua entri boot yang tidak perlu dengan:
Kemudian, Memformat ulang partisi ESP dengan
FAT32
sistem file.Kemudian instal grub ke
/dev/sda
NOT/dev/sda1
sumber