Setelah berhasil memperbarui bios saya, terjadi kesalahan dan saya berakhir dengan kursor yang berkedip di sudut kiri atas layar hitam. Tidak ada kesalahan, tidak apa-apa. Bios sekarang hanya mencantumkan SATA: <disc name>
opsi boot sebagai pengganti UEFI yang biasa ubuntu
. Saya menggunakan skema partisi GPT.
Saya akhirnya menemukan bahwa solusi yang berfungsi adalah menginstal ulang dengan benar grub-efi-amd64
. Jadi, bagaimana saya melakukan ini?
PS: Sebenarnya, saya berhasil menginstal ulang GRUB2 EFI saya sendiri dan akan mengirim jawaban saya di sini karena saya tidak dapat menemukan cara lengkap untuk ini.
Jawaban:
Boot komputer Anda dengan live-USB / CD dalam mode UEFI . Saya punya dua opsi boot
<flash_drive>
danUEFI: <flash_drive>
, yang kedua diperlukan untuk mengekspos variabel efi/sys/firmware/efi/
agarefibootmgr
tidak gagal nanti. Booting dengan opsi pertama memberi saya kesalahan berikut:modprobe efivars
tidak bekerja untuk saya.chroot ke sistem yang rusak (mirip dengan bantuan grub2 ubuntu tetapi dengan kekhususan efi):
Tergantung pada distribusi linux Anda, sekarang Anda melakukan hal yang berbeda.
Untuk Ubuntu / Debian :
atau sebagai alternatif:
seharusnya hal di atas memberi Anda grub, tetapi bukan yang dapat di-boot
Untuk Fedora (hingga 16, dapat bekerja untuk orang lain):
Pada perintah berikut, Anda harus mengganti sdX dengan perangkat yang memiliki partisi EFI yang ingin Anda boot. Di
--part Y
Anda harus menggantiY
dengan nomor partisi EFI (seperti dalam/dev/sdXY
).Sekarang ketik Ctrl + D untuk keluar dari chroot, unmount semuanya dan reboot:
Anda mungkin perlu menyesuaikan ini dengan kebutuhan Anda (tabel partisi yang berbeda, partisi yang terpisah / boot, dll.) Dan ini mungkin bukan satu-satunya pilihan tetapi ini bekerja dengan baik untuk saya.
Sistem live yang cocok untuk memperbaiki berbagai hal adalah grml . Ada juga panduan lengkap tentang cara mensetup perangkat USB yang dapat di-boot, yang bagian Mac-nya paling berguna sebenarnya (cukup buat partisi FAT32, salin file, reboot, selesai).
sumber
/run/resolvconf...
(di Ubuntu 12.04), sebagai gantinya saya hanya digunakanmount --bind /run /mnt/run
untuk me-mount seluruh/run
direktori di lingkungan chroot.update-grub
tidak akan menyalin gambar grub2 terbaru ke partisi EFI Anda, itu hanya memperbarui grub.cfg. Jadi cara yang lebih baik untuk dilakukan adalahapt-get install --reinstall grub-efi
(atau grub-efi-amd64) ini juga akan memanggil pembaruan-grub di akhir.update-grub
saya/boot/efi
masih kosong (saya telah membuat partisi baru ini). Hanya setelah menjalankangrub-install
file yang sebenarnya ditulis di sana. Panduan ini membantu saya (Jerman): wiki.ubuntuusers.de/EFI_ProblembehebungSebagai penyederhanaan potensial dari metode pertama, dimungkinkan untuk langsung mem-boot ke sistem pada hard disk, hanya menggunakan grub dari live CD. Diuji pada xubuntu 13.10 dengan live CD xubuntu 13.10.
Pastikan Boot Aman dinonaktifkan di BIOS Anda. Masukkan CD langsung dan boot melalui UEFI. Menu GRUB CD akan ditampilkan. Tekan "c" untuk sampai ke baris perintah.
Adaptasikan perintah grub di atas jika Anda memiliki partisi sistem EFI yang berbeda.
Setelah sistem Anda mem-boot dari hard disk, itu seharusnya cukup untuk menginstal ulang grub pada partisi sistem EFI dan untuk mendaftarkannya dengan firmware melalui grub-install.
sumber
configfile (hd0,gpt1)/EFI/ubuntu/grub.cfg
tidak melakukan apa-apa. Bagaimana saya boot setelah mengeluarkan perintah ini?sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi
daripada perintah yang disarankan di atas (tapi yang di atas mungkin hanya berfungsi dengan baik - saya tidak tahu). Dan setelah itu Anda dapat mengakses OS linux Anda lagi. Kemudian jalankan sajasudo update-grub
dan semuanya harus bisa di-boot.configfile (hd1,gpt1)/EFI/ubuntu/grub.cfg
. Boot LiveCD dan jalankansudo gparted
untuk menemukan partisi efi Anda.Seperti Maxine, saya menemukan pengaturan UEFI di BIOS menjadi rusak dan mesin saya tidak mau boot.
Dalam kasus saya, ini adalah Lenovo ThinkServer RD430 dengan Linux Mint Debian dan sepertinya apa pun yang saya lakukan tentang pembaruan-grub atau mengubah hard drive di server akan menyebabkannya tidak bisa boot. OS dalam kasus saya adalah linuxmint-201403-mate-dvd-64bit diinstal melalui USB. (lihat di bawah untuk deskripsi lengkap tentang peristiwa yang akan menyebabkan UEFI tidak berfungsi)
Melewati langkah-langkah yang persis sama pada ThinkServer TS140 tidak mengakibatkan UEFI kehilangan akal sekalipun. Tampak pada halaman driver RD430 dan bios saya sudah dua versi. Saya belum pernah memperbarui BIOS pada motherboard sebelumnya, jadi saya tidak akan memperbarui secara otomatis ketika ada versi baru yang tersedia. Setelah memperbarui bios, jawaban Maxine di atas berhasil, hanya dengan sedikit ...
The
efibootmgr -c
perintah menambahkan dua entri0000
dan0002
!The
Boot0002* Linux HD
entri pertama dalam urutan boot tidak benar .The
0000
entri benar.Untuk menguji ini, saya mencoba mem-boot tanpa gangguan, yang merupakan
0002
entri. Seperti yang diharapkan, itu tidak berhasil. Jadi saya me-restart server, tekan F12, dan memilihlinuxmint
. Seperti yang diharapkan, itu melakukan boot ke instalasi LMDE saya.Cara untuk menghapus entri yang tidak diinginkan melalui efibootmgr adalah:
Saya menggunakan perintah ini untuk menghapus entri
0001
dan0002
. Opsi0001
adalah dari yang terakhir dari banyak upaya saya untuk memulihkan OS.Catatan UEFI
Jika Anda membaca ini dan sama frustasinya dengan UEFI seperti saya sebelumnya, berikut adalah beberapa catatan dan sumber daya:
»Booting ke UEFI Shell mirip dengan menggunakan shell DOS.
»Intel membuat manual referensi PDF untuk perintah shell efi .
» Dokumen UEFI_on_TS430 Lenovo adalah satu-satunya sumber daya yang saya lihat menjelaskan penggunaan shell efi.
» Referensi shell uefi lain dari Panduan Administrator nPartition .
»Anda dapat mencoba mem-boot ke partisi dari shell efi dengan menavigasi ke loader dan menjalankannya.
»UEFI ingin disk memiliki tabel partisi GPT, bukan tabel bagian msdos.
»UEFI ingin partisi pertama pada disk Anda diformat fat32 atau vfat.
»Untuk boot" generik "harus ada
/EFI/boot
direktori di root denganbootx64.efi
di dalamnya.»Beberapa orang menyalin
grubx64.efi
dari tempatnya diinstal/EFI/boot/bootx64.efi
dan cheat ini berhasil untuk mereka.»Kapan saja Anda membuat perubahan grub, gunakan
efibootmgr -v
sebelum dan sesudah untuk memastikan reboot Anda ok.Pengalaman RD430 saya
Saya telah menginstal resin OS 10+ kali dalam seminggu terakhir mencoba untuk menyelesaikan masalah ini dan mengatur server. Konfigurasi saya adalah SSD pada pengontrol RAID ini di slot PCIe 2.0 dengan LMDE diinstal di dalamnya. Kontroler AOC-S3008L-L8i RAID ( direfleksikan ke mode IT ) dalam slot 2nd PCIe 3.0 dengan drive 6x 3TB. RAM: 12GB ECC (3x 4GB).
Berikut adalah perubahan yang saya buat yang menyebabkan sistem saya tidak bisa boot:
»Ubah slot pci S3008L-L8i (meninggalkan kartu SSD + saja).
»Nonaktifkan prompt raid bios perangkat lunak LSi untuk pengontrol onboard.
»Tambahkan kartu HighPoint RocketRaid lama saya ke slot PCIe terbuka.
»Buat perubahan
/etc/default/grub
lalu jalankanupdate-grub
.( mungkin
grub-install
perlu dijalankan juga? )sumber
Saya akan memilih ini, tetapi tampaknya saya tidak memiliki cukup perwakilan di SuperUser. Aku senang akhirnya menemukan jawaban untuk ini setelah berhari-hari klon bertarung yang bekerja tetapi tidak mau boot. Saya pikir itu semua berhubungan dengan UEFI dan semacam mekanisme "boot aman" atau sesuatu.
Saya bekerja di luar jaringan, jadi apt-get bukanlah pilihan. Apa yang saya lakukan adalah meletakkan Desktop Ubuntu pada stik USB, tambahkan paket
grub-efi
dangrub-efi-amd64
ke root stik USB (grub-efi_1.99 ~ rc1-13ubuntu3_amd64.deb dan grub-efi-amd64_1.99 ~ rc1-13ubuntu3_amd64.deb untuk Ubuntu 11,04 - ubah sesuai keperluan untuk distro dan arsitektur), dan letakkan yang berikut ini dalam skrip pada stik USB juga:Boot tongkat USB Live, buka terminal, jalankan perintah, dan pekerjaannya bagus! Satu-satunya masalah sesekali adalah bahwa UEFI terkadang dipindahkan ke urutan prioritas boot di bawah HDD, pada titik mana Anda harus masuk ke BIOS dan mengubah urutan boot untuk menghentikannya mencoba (dan gagal)
SATA: drive
.Anda juga dapat menggunakannya
dpkg-reconfigure
sebagai penggantidpkg -i
, tetapi itu menanyakan beberapa pertanyaan tentang bootloader.[Sunting] Saya juga tidak memiliki cukup perwakilan untuk berkomentar, jadi apa yang saya pikir adalah komentar pada balasan ternyata menjadi balasan.
sumber
sudo chroot /mnt /bin/sh -c "dpkg -i /tmp/grub-efi*.deb" && sudo shutdown -r now
memberikan perilaku yang benar.Pada Ubuntu 14.10 32 bit saya di Lenovo Yoga 2 Pro, saya berubah ke boot UEFI seperti ini:
membuat folder
pasang partisi "Sistem EFI" di
/etc/fstab
ini menunjukkan:
/dev/sda2 2050048 2582527 532480 260M EFI System
pasang partisi itu
instal
grub-efi-amd64-bin
dan copot pemasangangrub-efi-ia32-bin
reboot Ubuntu dalam mode efi
menguji apakah boot dengan baik, maka saya menginstal
grub-efi-amd64
dan menghapusgrub-pc grub-gfxpayload-lists
denganSaya memilih untuk tidak menghapus / boot ketika ditanya.
Mungkin saya membuatnya rumit dan ini akan bekerja dengan baik:
sumber
Entri ini lebih sesuai dengan persiapan komputer Anda untuk menginstal ulang entri efi. Ini juga apa yang Anda temukan sebagai cara yang efektif dan sederhana untuk membuat disk penyelamat setelah instalasi sistem pada media internal (SSD, HDD).
Dengan Linux Mint Tara (varian Linux yang terkait erat dengan Ubuntu Bionic Beaver), metode ini membuat instalasi saya rusak, dan memungkinkan nantinya untuk menyimpannya. Itu muncul karena saya menginginkan USB live yang memiliki kegigihan, dan karena waktu untuk menginstal utilitas seperti Unetbootin untuk instalasi persisten kira-kira sama dengan instalasi baru, saya hanya menggunakan distribusi langsung yang sama untuk melakukan instalasi pada USB seperti digunakan untuk menginstal OS pada SSD internal.
Tentu saja, tidak satu pun dari ini adalah RAID atau pengaturan khusus lainnya, tetapi memang membutuhkan partisi volume yang disiapkan pada drive USB, dan instalasi dilakukan pada USB yang menggunakan metode distro yang tersedia, menghindari drive internal untuk menginstal pada satu mount root (/) partisi.
Di sinilah instalasi grub baru kusut dengan drive internal. Ketika saya reboot ke USB, entri grub UEFI internal sepertinya telah menghilang, hanya menyisakan menu grub ketika mencoba memilih drive menggunakan entri di menu BIOS.
Sebaliknya, booting dari USB menunjukkan bahwa metode distro telah menghasilkan menu grub yang sudah jadi, dengan daftar untuk / dev / sda2, partisi yang berisi mount / boot / efi. Di sebagian besar internal drive internal menginstal nama grub partisi adalah hd0, gpt1.
Menuju ke 'lanjutan', lebih dari satu penyelamatan kernel tersedia. Dari sana, jalankan utilitas grub dan kemudian boot secara normal.
Dari titik ini, menjalankan OS pada drive internal yang sebelumnya tidak dapat diakses, cabut USB, kemudian jalankan
sudo grub-install
.Ketika Anda reboot tanpa USB, Anda harus dapat kembali. Pada titik ini USB dikonfigurasikan untuk meluncurkan drive internal ke mode normal atau penyelamatan, dan drive memiliki menu sendiri.
sumber