Apa yang bisa saya lakukan untuk memperbaiki kesalahan ini pada grub-efi?


15

Saya memiliki pengaturan sistem dual boot dengan Windows 10 dan Ubuntu 16.04, ketika menyalakan grub PC saya menunjukkan dengan benar, Windows dan Ubuntu dikenali, tidak ada masalah di sana. Setiap kali ada pembaruan atau saya harus menginstal sesuatu, saya terus mendapatkan kesalahan ini:

Errors were encountered while processing:
 grub-efi-amd64-signed
 shim-signed
Setting up shim-signed (1.12+0.8-0ubuntu2) ...
Installing for x86_64-efi platform.
grub-install: errore: cannot find EFI directory.
dpkg: error processing package shim-signed (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up grub-efi-amd64-signed (1.66+2.02~beta2-36ubuntu3) ...
grub-install: errore: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.
dpkg: error processing package grub-efi-amd64-signed (--configure):
 subprocess installed post-installation script returned error exit status 1

Bisakah saya mengabaikannya atau melakukan sesuatu yang bisa saya lakukan untuk memperbaikinya?


Apakah ini sistem UEFI? Apakah / etc / fstab Anda memasang partisi EFI di / boot / efi? Apakah / boot / efi berisi direktori EFI?
ubfan1

Ya, ini adalah sistem UEFI, / boot / efi berisi direktori EFI, tidak mengerti bit / etc / fstab
BressanFranco

Sepertinya pembaruan mungkin terganggu pada suatu waktu sebelum paket-paketnya selesai dikonfigurasikan, coba dpkg --configure -a
MttJocy

@MttJocy mencobanya, memberi saya kesalahan yang sama dengan paket grub-efi-amd64-signed dan shim-signed
BressanFranco

Jawaban:


4

Referensi untuk /usr/lib/grub/i386-pc/modinfo.shmenunjukkan instalasi GRUB mode BIOS - secara khusus, i386-pcbagian dari path tersebut mengidentifikasi versi mode BIOS GRUB. (Untuk instalasi mode EFI pada AMD64 / x86-64, jalur yang sama adalah /boot/grub/x86_64-efi/modinfo.sh.) OTOH, nama paket dengan jelas menunjukkan instalasi GRUB mode EFI. Keduanya tidak boleh dicampur, tetapi entah bagaimana itu terjadi dalam kasus Anda. Mungkin Anda sudah mendapatkan file konfigurasi GRUB yang tersisa dari instalasi mode-BIOS sebelumnya, dalam hal ini melacak dan memperbarui itu harus memperbaiki masalah. Mungkin Boot Repair dapat memperbaiki masalah secara otomatis. Perhatikan, bagaimanapun, bahwa upaya perbaikan beresiko memperburuk keadaan dengan menjadikan sistem Anda tidak dapat di-boot. Karena itu saya menyarankan untuk melanjutkan dengan sangat hati-hati!

Jika Anda tidak dapat memperbaikinya dengan mudah, Anda dapat mengganti GRUB dengan sesuatu yang lain - beberapa alternatif tersedia, seperti yang dijelaskan pada halaman Web saya ini. GRUB 2 adalah boot loader yang paling sulit untuk di-tweak begitu "off the rails," seperti milik Anda, itulah sebabnya menggantinya bisa menjadi pilihan yang baik. Boot manager rEFInd saya sendiri cenderung mudah untuk diinstal, dengan peringatan bahwa ada bug Ubuntu 16,04 yang mempersulit instalasi dari PPA dengan Secure Boot aktif. (Itu tercakup dalam dokumentasi.) Perhatikan juga bahwa hanya menginstal paket baru tidak akan mengatasi masalah Anda; Anda harus menghapus instalasi paket GRUB yang menyebabkan Anda kesulitan melakukannya. Saya membahas topik itu secara khusus di sini,karena itu tidak semudah yang Anda bayangkan. (Ubuntu terus mencoba menginstal ulang GRUB jika Anda menghapusnya.)


Boot-Repair dalam opsi lanjutan memiliki uninstall penuh / instal ulang grub. Itu dapat memperbaiki masalah konfigurasi. Pastikan untuk boot dalam mode UEFI jika UEFI menginstal.
oldfred

@oldfred, bagaimana saya memastikan bahwa saya boot dalam mode UEFI? jika ini adalah pengaturan bios, seharusnya (sebenarnya saya pasti yakin itu) sudah diaktifkan
BressanFranco

Anda memilih dari menu boot UEFI. Biasanya flash drive ditampilkan dua kali. Sekali sebagai UEFI: flashdrive dan lagi hanya sebagai flashdrive yang kemudian adalah boot BIOS. Anda juga dapat mengetahui apakah Anda mendapatkan menu grub itu adalah UEFI, jika Anda mendapatkan layar aksesibilitas (ikon kecil di bagian bawah) itu adalah BIOS. Menunjukkan pemasangan dengan tangkapan layar. Layar aksesibilitas BIOS ungu & layar menu grub hitam UEFI help.ubuntu.com/community/UEFI
oldfred

mencoba disk boot-perbaikan live dan melakukan perbaikan otomatis, semua tampaknya baik sekarang, tidak mendapatkan kesalahan yang sama seperti sebelumnya, pembaruan-grub menambahkan kembali partisi windows. Semua tampak baik
BressanFranco

40

Mencoba

sudo apt-get purge grub\*
sudo apt-get install grub-efi
sudo apt-get autoremove
sudo update-grub

memperbaiki.


memperbaikinya dengan disk langsung perbaikan-boot
BressanFranco

Perintah-perintah ini bekerja seperti pesona Xubuntu 16.04
guyfromfl

4
Apakah ini aman untuk dilakukan?
Pithikos

1
Kedua cara ini aman. Anda dapat menggunakan perintah di atas atau disk live boot-repair.
John

1
Saya memutakhirkan Ubuntu 17.04 ke 18.04 dan kemudian mendapatkan kesalahan: Errors were encountered while processing: grub-efi-amd64 grub-efi-amd64-signed shim-signed E: Sub-process /usr/bin/dpkg returned an error code setelah melakukan sudo apt upgrade. Solusi Anda juga berhasil dengan saya. Terima kasih.
mario go

4

Jika seseorang ingin membuat disk USB multiboot untuk menangani mbr dan grub:

Jika sistem Anda saat ini adalah EFI, maka Anda akan kehilangan ini:

sudo apt install grub-pc-bin

Jika sistem Anda saat ini adalah MBR, maka Anda akan melewatkan ini:

sudo apt install grub-efi-amd64-bin
# You may also need grub-efi-amd64-signed

1

mencoba:

sudo apt-get -f install

langkah 1: mulai uninstall shim

lalu: perintah terminal ini akan menghapus arsip bertanda shim

langkah 2: mencopot pemasangan shim

setelah: dengan arsip shim berhasil dihapus

langkah 3: shim dihapus

akhirnya: setidaknya pembaruan perangkat lunak Ubuntu akan mulai berfungsi kembali jika semuanya berjalan dengan baik (seperti dalam kasus saya)

langkah 4: Permintaan pembaruan sistem

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.