Bagaimana cara mendapatkan laptop HP saya untuk boot ke grub dari file efi baru saya?


28

Saya memiliki laptop HP Pavilion Sleekbook 14 yang telah saya instal Ubuntu 12.10 dual boot dengan windows asli 8. Saya menggunakan boot-repair untuk mengatur untuk boot ke grub.

Masalah saya adalah bahwa saya belum bisa mem-boot langsung dari file efi baru yang telah dibuat. Saya telah melihat-lihat opsi boot di layar bios, tetapi itu tidak memberi saya pilihan untuk Ubuntu. Satu-satunya cara saya bisa boot ke Ubuntu adalah dengan menekan F9 ketika saya menyalakan sistem dan kemudian secara manual menavigasi ke file ubi efi. Ini bekerja tetapi jika saya tidak memperhatikan, itu akan boot ke windows.

Setelah saya selesai menjalankan boot-repair, ia memberitahu saya untuk boot dari sda2 / EFI / ubuntu / shimx64.efi Saya telah melihat beberapa saran bahwa saya harus memindahkan file ini di tempat windows bootmgfw.efi, tetapi saya khawatir saya akan memecahkan hal-hal dan tidak dapat mem-boot instalasi windows 8. Sementara saya sudah tidak menyukai win8 bahkan lebih dari win7, saya memang membutuhkannya dari waktu ke waktu untuk beberapa tugas ...

Rincian perbaikan boot saya ada di sini: http://paste.ubuntu.com/1418009/


shimx64.efi bekerja untuk saya, meskipun dalam kasus saya Ubuntu Gnome tidak bisa boot setelah menginstal, dan harus memilih file dengan membuat opsi boot baru di BIOS.
timkofu

Ada banyak jawaban tentang Windows di sini, apakah Anda mencoba untuk boot ke Linux atau Windows?
Evan Carroll

banyak jawaban buruk yang tidak perlu rumit karena masalah windows lakukan saja penggantian nama efi sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efidari grub dari jawaban @Vitor Abella
Evan Carroll

Jawaban:


29

Saya punya masalah yang sama dengan HP Pavilion g6 saya ketika mencoba untuk dual boot Ubuntu 12.04.3 LTS dan Windows 8. Artinya, bahkan setelah "berhasil" menjalankan Boot-Repair, saya masih punya notebook boot langsung ke Windows 8. Jika saya menekan F9 sebelum simbol HP muncul, saya bisa masuk ke Menu Boot (menu HP? Saya tidak tahu ...) dan dari sana, untuk memilih entri "Ubuntu", yang pada gilirannya membawa saya ke GRUB 2 dan akhirnya ke instalasi Ubuntu saya.

Tetap saja, saya ingin dapat mem-boot komputer langsung ke Linux, tanpa perlu campur tangan pengguna.

Pada akhirnya, jawaban Rod Smith di atas , dikombinasikan dengan informasi yang saya temukan di forum lain, melakukan trik untuk saya. Saya memiliki Boot Aman dinonaktifkan dan Legacy Boot juga dinonaktifkan.

Inilah yang saya lakukan:

  • Saya mem-boot ke instalasi Ubuntu saya menggunakan trik tombol F9 di start up untuk dapat memilih boot loader.
  • Setelah di Ubuntu, saya membuka terminal.
  • Menggunakan perintah di bawah ini, saya memeriksa di mana Windows boot loader berada:

    $ sudo efibootmgr -v
    
  • Dalam kasus saya, asli boot loader berada di sini: /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi. Harap dicatat bahwa di komputer Anda mungkin berada di tempat yang berbeda. Jika demikian, Anda perlu menyesuaikan perintah di bawah ini.

  • Sesuai rekomendasi Rod dalam jawabannya (yang tentang cara memperbaiki boot loader secara manual), saya membuat cadangan file itu dengan memindahkannya satu tingkat ke atas:

    $ sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi
    
  • Akhirnya, saya menyalin boot loader GRUB2 di tempat itu, "menipu" sistem agar memuat boot loader yang saya inginkan alih-alih boot loader asli Windows.

    $ sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
    

Jadi akhirnya saya punya dual boot yang berfungsi dengan GRUB2. Jika Windows menimpa boot loader lagi setelah pembaruan (seperti yang terjadi pada saya), saya sudah tahu langkah-langkah untuk mendapatkan grub kembali ke tempatnya.

Semoga ini bisa membantu seseorang. Harap beri tahu saya jika ada masalah dengan solusi saya.


9
Terima kasih, ini membantu, namun saya tidak bisa boot ke Windows. Saat startup, ia memulai GRUB dan dalam GRUB, opsi 'Windows Boot Manager' masuk ke menu GRUB (diharapkan karena tautan ini ke file .efi yang sama). Sepertinya masalah itu meskipun saya tidak beruntung dengan perbaikan boot. Saya menyelesaikannya dengan membuka Ubuntu, di /etc/grub.d/ mengisi file 40_custom dengan menyalin entri Boot Windows yang saya miliki di pasta ubuntu dan mengedit url file .efi untuk menunjuk ke cadangan bootmgfw.efi. Jadi menuentry berisichainloader /EFI/Microsoft/bootmgfw.efi
Vince

1
menuentry itu tidak berfungsi untuk saya
Pierre

@Pierre May: Mungkin menggunakan entri menu berikut ini akan bekerja untuk Anda: menuentry 'Real Windows' {set root = (hd0, gpt2) chainloader /EFI/Microsoft/bootmgfw.efi} (ini mengasumsikan bahwa partisi efi Anda ada pada yang pertama hard drive, pada sda2. Untuk memastikan, Anda dapat mengetik "c" ketika Anda berada di grub dan ketik "ls" untuk melihat partisi yang tersedia.
tobiasBora

12

Saya menghadapi masalah yang sama pada HP ProBook 4340s dengan Windows 8 asli yang sudah ditimpa oleh Kubuntu 15.04 baru (Saya lebih suka tidak ada dual boot). Di antara upaya-upaya lain, saya juga mencoba Boot-Repair (baik dari HD setelah instalasi dan melalui boot-repair-disk ), tetapi latihan itu kemungkinan besar tidak perlu.

Apa yang membuat triknya adalah perubahan berikut pada Pengaturan BIOS (setelah komputer mulai mendorong F10 - buka Konfigurasi Sistem - buka Opsi Booting ):

  1. Periksa Boot Khusus

  2. Lihat SecureBoot

  3. Mode Boot : pilih UEFI Hybrid atau UEFI Native (Saya memilih UEFI Native)

  4. UEFI Boot Order : letakkan Custom Boot ke atas

  5. Tentukan Opsi Boot yang Disesuaikan : pilih Tambahkan + taruh pengaturan:\EFI\ubuntu\grubx64.efi

Kami menemukan string jalur yang benar ketika membuka GRUB melalui opsi Boot dari File EFI di Opsi Boot Cepat (F9). Pada awalnya, daftar opsi berisi:

  • Manajer boot OS
  • Boot dari File EFI

Setelah menambahkan opsi Boot Khusus, ditambahkan ke daftar:

  • Boot Khusus
  • Manajer boot OS
  • Boot dari File EFI

Apakah persis seperti itu di sini pada hp zbook 15, tidak berhasil
cmbarbu

Jika Anda menggunakan sistem uefi dan menginstal UBUNTU 16.10 setelah windows 10 dari jawaban ini adalah yang benar
leoredi

terima kasih, saya telah melakukan iniDefine Customized Boot Option: choose Add + put the setting: \EFI\ubuntu\grubx64.efi
m3asmi

6

UEFI Hewlett-Packard telah memberi saya sakit hati untuk sementara waktu. Perbaikan Anda membantu saya me-restart laptop HP saya di GRUB lagi - tanpa menekan F9 terlebih dahulu.

Saya punya satu masalah: setelah perbaikan Anda, saya bisa memilih Windows 8 di GRUB, tetapi Windows 8 kemudian menolak untuk memulai dan saya diperlihatkan menu GRUB lagi.

Perbaikan saya:

  1. Menyalin file Microsoft asli ke /boot/efi/EFI/Microsoft/Boot/bootmgf2.efi
  2. Mengedit /boot/grub/grub.cfguntuk mengenali file Microsoft yang diubah namanya

Laptop sekarang boot ke GRUB, Ubuntu dan Windows 8 sekarang mulai OK dari GRUB.


5

Biasanya, menjalankan Perbaikan Boot mencadangkan file boot loader asli Microsoft ( bootmgfw.efi) sebagai bootmgfw.efi.bkpdan mengganti bootmgfw.efifile asli dengan salinan GRUB (atau shim), dan output Perbaikan Boot yang Anda posting akan menunjukkan ini; Namun, saya tidak melihat file cadangan seperti itu. Jadi, saya sarankan Anda melakukan satu dari tiga hal:

  • Jalankan Perbaikan Boot lagi, tetapi cari opsi yang terkait dengan mencadangkan dan mengganti boot loader Microsoft. Aktifkan opsi-opsi itu untuk melanjutkan proses. GRUB mungkin atau mungkin tidak dapat meluncurkan Windows; yang tampaknya hit atau miss - dan lebih "miss" jika Anda membiarkan Boot Aman aktif.
  • Lakukan pekerjaan secara manual: Dari Linux, buat cadangan /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi(Saya sarankan memindahkannya satu tingkat, ke /boot/efi/EFI/Microsoft/bootmgfw.efi, daripada mengganti nama menjadi bootmgfw.efi.bkp, karena yang terakhir adalah non-standar dan membuat alat selain dari Perbaikan Boot dan GRUB Ubuntu tidak dapat menemukannya). Salin /boot/efi/EFI/ubuntu/grubx64.efidi tempatnya; atau jika Anda berencana untuk menjaga Boot Aman berfungsi, salin /boot/efi/EFI/ubuntu/shimx64.efidi tempatnya dan salin grubx64.efike/boot/efi/EFI/Microsoft/Bootmenggunakan nama aslinya. Anda kemudian perlu memodifikasi konfigurasi GRUB Anda untuk mengaktifkannya meluncurkan bootloader Windows di lokasi barunya atau dengan nama barunya. (Saya pernah mendengar bahwa GRUB belum dapat meluncurkan boot loader Windows dalam mode Boot Aman, jadi, jika Anda ingin meluncurkan Windows dari GRUB, Anda mungkin perlu menonaktifkan Boot Aman. OTOH, saya belum pernah mencoba ini sendiri , jadi saya bisa salah tentang kemampuan GRUB dalam hal ini.)
  • Nonaktifkan Boot Aman, lalu boot ke Linux dan instal manajer boot reFInd saya dengan menggunakan paket Debian. Setelah selesai, ketik sudo mvrefind.sh /boot/efi/EFI/refind /boot/efi/EFI/Microsoft/Boot. Perintah yang terakhir bergerak dan mengganti nama file dengan cara yang analog dengan prosedur manual yang baru saja saya jelaskan atau dengan apa yang dilakukan Perbaikan Booting, tetapi ia mengatur ulang boot sebagai boot loader default daripada GRUB. Jika Anda ingin menggunakan Boot Aman, Anda dapat melakukannya dengan menyulap file dan menginstal shim versi baru (shim Ubuntu cukup awal sehingga tidak akan berfungsi dengan baik dengan rEFInd). Menginstal rEFInd dengan cara ini memungkinkan Anda untuk boot tanpa menggunakan GRUB, dan kombinasi skrip instal (dijalankan oleh sistem paket ketika Anda menginstal paket Debian) dan mvrefind.shskrip mengatasi masalah yang Anda hadapi.

Sebagai catatan, masalah yang Anda hadapi terkait dengan bug yang diketahui dalam implementasi EFI HP. Pada dasarnya, firmware memiliki kode-keras untuk boot dari boot loader Microsoft dan menyulitkan atau tidak mungkin melakukan booting dari yang lain. Saya sangat menyarankan Anda mengeluh kepada HP tentang hal ini; mereka tidak akan memperbaiki masalah seperti itu kecuali orang mengeluh.

Dari ketiga solusi tersebut, menggunakan Boot Repair kemungkinan merupakan cara termudah untuk bekerja; tetapi seperti yang saya catat, penamaan non-standar yang menggunakan Perbaikan Boot dapat berakhir menyebabkan masalah untuk utilitas lain di masa depan. Penyesuaian manual akan membutuhkan lebih banyak upaya untuk bekerja, tetapi akan lebih bersih dalam jangka panjang. Beberapa orang telah melaporkan masalah membuat GRUB untuk memuat rantai boot loader Windows, sehingga salah satu opsi bisa membuat Anda sakit kepala pada skor itu. rEFInd jauh lebih mungkin untuk mem-boot Linux atau Windows tanpa masalah, tetapi seperti yang Anda tahu dari prosedurnya, membuatnya berfungsi mungkin memerlukan sedikit usaha lebih banyak daripada menjalankan Perbaikan Boot lagi, meskipun mungkin lebih sedikit daripada melakukan juggling file manual. Menggunakan rEFInd bersamaan dengan Secure Boot membutuhkan lebih banyak kehebohan saat ini. (Lihat dokumentasi rEFInd untuk detailnya.

Ada risiko yang terlibat dalam ketiga solusi; Implementasi EFI sangat berbeda di antara mereka sendiri, yang berarti bahwa prosedur otomatis atau manual yang berfungsi dengan baik di satu komputer dapat gagal total di komputer lain. Untuk melindungi diri Anda, saya sarankan mencadangkan ESP Anda (biasanya /boot/efidi Linux); cukup bungkus file dalam tarball atau salin ke direktori cadangan. Jika terjadi kesalahan, Anda dapat boot dengan disc darurat dan mengembalikan file. Itu mungkin akan membuat komputer boot lagi.


Terima kasih banyak! Saya belum mencoba salah satu opsi Anda, tetapi akan akhir pekan ini.
maddentim

Boot manager rEFInd Anda terlihat menarik. Jadi, Anda mengatakan saya dapat menonaktifkan Boot Aman dan masih menggunakan Win8? Satu pertanyaan yang saya miliki adalah ketika saya mencoba tar / boot / efi, tar memberi saya kesalahan pada beberapa file di folder ubuntu. Mereka memiliki nama-nama aneh seperti 'ame = "App.lic'. Lihat baris 809 hingga 817 di paste.ubuntu.com/1418009 Instalasi terakhir ini sebenarnya adalah upaya ketiga saya. Saya pikir mereka sampah dan dapat dihapus. Apa yang Anda Saya akan mengirim kembali setelah saya menyelesaikan salah satu langkah Anda
maddentim

Saya telah melihat beberapa laporan tentang orang yang menonaktifkan Boot Aman dan tidak memiliki masalah mem-boot Windows, jadi itu bukan masalah. Jika Anda ingin tetap mengaktifkannya untuk manfaat keamanan, itu bisa dimengerti, tetapi Anda tidak perlu khawatir Windows menjadi tidak bisa di-boot. Mengenai tarkesalahan Anda , itu terdengar seperti skrip yang memiliki bug dan membuat file dengan nama aneh. Saya belum melihat file-file itu di output Anda sebelumnya, tetapi dapat dibayangkan bahwa bug apa pun yang membuatnya juga bertanggung jawab atas masalah boot Anda. Jika demikian, menggunakan rEFInd kemungkinan akan mengatasi masalah, tetapi solusi lain mungkin gagal.
Rod Smith

rEFInd tidak berhasil menginstal. Saya pikir LovinBuntu telah mengidentifikasi masalah. / boot / EFI hanya baca. Ini adalah bagian dari output: mkdir: tidak dapat membuat direktori /boot/efi//EFI/refind': Read-only file system cp: cannot create regular file /boot/efi//EFI/refind/refind_x64.efi ': Tidak ada file atau direktori yang menginstal driver untuk ext4 (ext4_x64.efi) mkdir: tidak dapat membuat direktori `/ boot / efi // EFI / refind ': Sistem file read-only Menyalin file biner
rEFInd

3

Saya menghabiskan satu hari untuk masalah yang sama dan akhirnya saya menyelesaikannya. Berikut ini adalah solusi tepat. Artikel lengkap untuk menyelesaikan masalah ada di sini Yang ditulis oleh Rod Smith .

Informasi berguna

Untuk mem-boot ke tabel partisi GPT dengan boot loader efi. efifile dibuat oleh sistem operasi pada saat instalasi yang harus disediakan untuk bios UEFI komputer untuk memberikan kemampuan untuk boot ke sistem operasi yang sesuai.

Untuk memegang file efi kita perlu memiliki satu partisi EFI. Ini biasanya sebuah partisi kurang dari 200MB dengan fat32format dengan label EFI system. Ini termasuk .efifile dan dependensinya (dalam bentuk .dllatau .efi) yang diperlukan untuk mem-boot ke salah satu partisi yang dapat di-boot (biasanya sistem operasi). Di komputer saya, partisi ini memiliki struktur yang ditunjukkan oleh skema berikut:

\EFI
   |_Boot
     |_fw
   |_Microsoft
     |_Boot
     |_Recovery
   |_Ubuntu
     |_fw

Biasanya .efifile dapat memiliki nama apa pun tetapi tampaknya beberapa komputer mencari nama tertentu. Jadi saya menyebutkan nama standar juga.

  1. BootFolder: Diakui sebagai opsi boot default dan jika NVRAM dihapus karena suatu alasan. Ini akan digunakan secara default. Nama pemuat efi boot adalah "bootx64.efi". Ketika Anda ingin memilih boot loader efi default, salin file efi Anda dan semua file di sekitarnya ke folder boot dan ganti nama file efi dari sumber Anda menjadi "bootx64.efi".

  2. MicrosoftFolder: Ini menyimpan file boot efi windows. Ada beberapa file efi tetapi yang utama adalah "efibootmgfw.efi". Saya yakin ini digunakan oleh windows untuk boot.

  3. UbuntuFolder: Ini menyimpan file efi Ubuntu atau Mint. Ada beberapa .efifile tetapi yang utama adalahgrubx64.efi

melakukan apa?

Sudah ada beberapa opsi boot yang diinstal pada saat instalasi sistem operasi. Namun, mereka dapat hilang dari opsi booting bios untuk alasan yang berbeda seperti melepas dan menginstal ulang HDD atau menginstal sistem operasi baru atau bahkan baterai motherboard baru. Ada dua solusi untuk memulihkan opsi boot.

  1. (Tidak disarankan) Seperti dijelaskan dalam beberapa jawaban, kita dapat mengganti opsi boot yang berfungsi dengan yang tidak berfungsi. Tapi masalahnya tetap saja sebaliknya.

  2. Daftarkan file loader boot efi yang hilang secara manual.

Bagaimana melakukan?

  1. Boot dari Linux bootable flash (Saya menggunakan flash bootable Linux Mint). Ini harus berupa USB EFI. (GPT usb yang dapat dibuat oleh program seperti rufus)

  2. Pasang partisi EFI, distro Anda dapat melakukan ini secara otomatis. Lewati langkah ini jika /boottersedia dan tunjukkan struktur yang mirip dengan yang di atas. Ubuntu modern harus melakukan ini untuk Anda.

    1. Temukan alamat partisi EFI Anda. Ini dapat dilakukan dengan menggunakan partedperintah atau Disksprogram. Biasanya ini adalah partisi pertama atau kedua dalam disk yang dapat di-boot. ( /dev/sda1Atau /dev/sda2) Partisi ini biasanya antara 100MB-200MB dengan FAT32 dan tipe partisi dari Sistem EFI.

    2. Pasang partisi EFI. Anda dapat menggunakan dfperintah untuk memeriksa apakah partisi sudah dipasang sebelumnya.

      df  /boot/efi
      

      Jika partisi belum dipasang sebelumnya (Tidak ditampilkan dalam perintah sebelumnya) Pasang partisi dengan menggunakan mountperintah:

      mount  /dev/sda1  /boot/efi
      
  3. Sekarang jika Anda menjelajah /boot/efiAnda akan melihat struktur file yang mirip dengan milik saya yang dijelaskan di atas. Kontrol jika di sana Anda dapat menemukan folder sistem operasi Anda yang hilang. Dalam kasus BIOS komputer saya hanya dapat melihat opsi boot windows, namun saya juga punya opsi boot linux Mint's Grub.

    • (Tidak disarankan) Opsi boot windows saya berfungsi jadi Pertama untuk tujuan pengujian saya membuat cadangan folder Microsoft yang menyimpan banyak file di antara file boot efi windows. ( bootmgfw.efi) Lalu saya mengganti nama folder ubuntu menjadi Microsoft, selanjutnya saya ganti namanya grubx64.efimenjadi bootmgfw.efi. Setelah restart, Alih-alih boot ke menu windows grub dimuat, namun kali ini boot ke windows hanya mungkin dengan grub. Dan boot langsung ke windows tidak dimungkinkan.

      sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
      
    • ( Cara yang disarankan ) Cukup tulis alamat file efi yang Anda inginkan agar sistem operasinya terlihat di opsi boot bios. Dalam kasus saya, Linux Mint tidak ada dalam daftar booting BIOS komputer. Alamat file efi-nya /efi/ubuntu/grubx64.efirelatif terhadap root partisi EFI. Kemudian saya mendaftarkannya ke NVRAM dengan menggunakan perintah efibootmgr .

      efibootmgr -c -d /dev/sda -p 1 -l \\efi\\ubuntu\\grubx64.efi -L nameForBootOption
      

      pada p 1bagian perintah, 1 menentukan nomor partisi dari partisi efi di disk yang diberikan. nameForBootOptionadalah nama khusus yang diberikan untuk opsi boot

* Berhati-hatilah untuk menulis alamat yang benar. Ketika Anda memasang partisi di linux. Itu me-mount partisi ke beberapa folder di bawah root, yang memperluas alamat asli menjadi sesuatu seperti /media/mint/CC1F-9708/EFI/ubuntunamun kita hanya perlu memberikan /EFI/ubuntubagian.

* DisksProgram adalah alat grafis yang luar biasa yang ada di flash bootable linux Mint secara default. Itu dapat digunakan untuk memeriksa dan menemukan partisi EFI dan juga dapat digunakan untuk memasang partisi EFI tanpa menggunakan mount atau perintah parted. Anda hanya perlu mencarinya di menu, Preferensi, Disk.


Pergi dengan cara yang tidak direkomendasikan. Bekerja dengan sempurna.
Evan Carroll

1

Anda terpengaruh oleh bug ini: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1091477

Larutan:

  1. via Gparted, buat partisi EFI lain (FAT32, 200MB, terletak di dalam 100GB pertama disk)
  2. pindahkan bendera 'boot' di atasnya
  3. buat Ubuntu menggunakan ESP baru ini (mis. via Boot-Repair -> Recommended Repair).

Nah, membuat ESP lain di dalam 100GB pertama berarti memindahkan partisi win8 lebih dari 200MB ... Harus hati-hati di sana saya pikir. Mungkin merusak boot Windows. Mungkin aku harus meledakkannya. Aku bahkan tidak menyukainya. Saya hanya benar-benar membutuhkannya untuk menonton netflix!
maddentim

Harap perbarui Boot-Repair (paket 'boot-sav' dan 'boot-repair') kemudian jalankan Perbaikan yang Direkomendasikan, dan tunjukkan URL baru yang akan muncul.
LovinBuntu


1

Saya menghadapi masalah serupa setelah menginstal Cent-OS 7 melalui windows 10. di sini adalah proses di bawah ini saya ikuti.

  • OS awal adalah windows 10
  • diinstal cent-os 7 menggunakan uefi usb yang dibuat oleh rufus

masalah: windows 10 sedang memuat dan menu boot cent OS bahkan tidak bisa ditampilkan.

  1. Bagaimana saya memecahkan:
  2. pergi ke Bios
  3. boot legacy diaktifkan (hanya langkah ekstra untuk tindakan pencegahan di masa depan)
  4. pergi ke opsi Boot
  5. klik OS boot manager
  6. Pindahkan CentOS UEFI di atas windows: tekan f10 untuk menyimpan
  7. klik OD bootmanager lagi dan verifikasi.
  8. tekan f10 untuk menyimpan dan keluar

Sekarang sistem Anda akan boot di UEFI centos

karena kami mengaktifkan boot lama, kami dapat memilih kunci esc untuk masuk ke bios atau opsi boot lainnya


1

Saya menemukan cara untuk mendapatkan HP Pavilion g7-2269wm (UEFI) untuk menjalankan booting ulang (GRUB juga dimungkinkan) tanpa mengganti bootmgfw.efidengan rEFInd atau GRUB

Saya menginstal rEFInd dan menambahkan rEFInd ke daftar boot manager menggunakan sudo efibootmgr -c -d /dev/sda -p 2 -L "rEFInd" -l "\EFI\refind\shimx64.efi"

Reboot menggunakan F9 untuk memilih rEndnd dan kemudian memilih Ubuntu.

Kemudian diganti namanya bootmgfw.efimenjadi bootmgfwms.efimenggunakan

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi

Kemudian saya reboot dan reboot ke rEFInd tanpa harus menggunakan F9. Entri Windows 10 sekarang hilang sehingga saya memilih Ubuntu.

Kemudian untuk mendapatkan kembali entri Windows 10 saya berlari

sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfwms.efi /boot/EFI/EFI/Microsoft/Boot/bootmgfw.efi

Kemudian saya reboot dan rEFInd datang tanpa menekan F9 dan Windows 10 muncul sebagai entri.


1

Ini jawaban lebih lanjut untuk mairabc bagi mereka yang, seperti Vince atau saya, tidak bisa boot ke windows. Anda membutuhkan fs_uuid:

# grub-probe --target=fs_uuid /boot/efi/EFI/Microsoft/bootmgfw.efi

dan hints_string:

# grub-probe --target=hints_string /boot/efi/EFI/Microsoft/bootmgfw.efi

Maka Anda harus mengedit file /etc/grub.d/40_custom seperti itu:

menuentry "Microsoft Windows x86_64 UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --no-floppy --set=root your_hints_string your_fs_uuid
    chainloader /EFI/Microsoft/bootmgfw.efi
}

Simpan dan lakukan a

# update-grub

reboot ke windows ...


1

Di laptop HP saya, saya lakukan sebagai berikut, langkah demi langkah:

1 - Boot ke ubuntu dengan F9

2 - Periksa di mana Windows boot loader berada

sudo efibootmgr -v

Dalam hal ini /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

3 - Cadangkan file .efi:

sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/bootmgfw.efi

4 - Ganti file .efi asli dengan yang ubuntu ( trik ):

sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

5 - Tambahkan menu windows 10 pada grub. Buka /etc/grub.d/40_customdan tambahkan entri menu ini di akhir file:

menuentry "Windows 10 click here!" {
    search --set=root --file /EFI/Microsoft/bootmgfw.efi
    chainloader /EFI/Microsoft/bootmgfw.efi
}

6 - Simpan 40_customdan:

sudo update-grub

7 - Tentang BIOS Nonaktifkan Boot Aman (Saya tidak yakin apakah itu diperlukan)

8 - Jika semuanya berjalan dengan benar, defaultnya akan boot di ubuntu dan windows 10 akan menjadi pilihan lain di grub.

Itu lebih mudah dari yang saya kira.


sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efibekerja dengan sempurna.
Evan Carroll

@ EvanCarroll, apakah Anda pikir saya harus meningkatkan jawaban saya? Ini benar-benar langkah yang saya lakukan.
Vitor Abella

Yah, saya tidak yakin jawaban ini diperlukan untuk jujur. Itu banyak kata tetapi metode Anda di sana, adalah hal yang sama Tekin di bagian yang tidak direkomendasikan. Tetapi, bagi pengguna Linux saja, metode itu sangat bagus untuk kesederhanaannya.
Evan Carroll

1

Saya punya laptop HP 2018, 14 inci dengan Windows 10 dan Ubuntu dual boot. Saya biasa menekan F9 untuk memilih OS yang saya inginkan dan saya lakukan selama beberapa minggu sekarang.

Larutan:

  • Shutdown dan tekan F10 untuk masuk ke BIOS

  • Arahkan ke bagian BIOS yang mencantumkan urutan boot

  • Tekan enter pada OS boot manager.

  • gunakan F5 atau F6 untuk beralih Ubuntu dengan Windows.

  • Simpan dan keluar.


0

Ini BUKAN masalah Windows! Firmware HP benar-benar bermasalah karena tidak menggunakan (atau bahkan mendukung dengan benar) variabel UEFI adalah "BootOrder". Saya pikir satu-satunya perbaikan untuk ini adalah mengganti file boot loader Windows (seperti yang telah disebutkan) dengan grub.efi Anda.


0

Skenario saya mirip dengan Michal Žarnay pada 19 Agustus '15 pukul 15.20 posting: Saya mendapat beberapa menara mini HP Pavillion Slimline 400-314, tidak memerlukan Windows 8 pra-instal, jadi segera mempartisi ulang HDD dan menginstal Ubuntu 14.04 dan Grub2.

Sayangnya, menu BIOS Pavillion sangat terbatas dalam konfigurasi boot. Itu tidak memiliki sebagian besar pilihan mewah yang dijelaskan sebagian besar orang lain di sini. Bahkan berusaha mengubah urutan boot gagal.

Solusi HANYA yang saya dapatkan adalah menggunakan solusi "penamaan alternatif" seperti yang dijelaskan di bagian "Solusi Penamaan Alternatif" di blog ini .


1
Selamat Datang di Tanya Ubuntu! Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Mark Kirby

0

Saya mengkonfirmasi bahwa langkah-langkah @Vitor Abella menyelesaikan masalah dual-boot untuk HP 2000-notebook saya, kecuali bahwa saya harus melakukan salah satu dari yang berikut (seperti yang disebutkan oleh @mairabc):

  • aktifkan boot lama (secara default, boot keamanan dinonaktifkan)

atau

  • nonaktifkan legacy boot, dan aktifkan boot keamanan.

0

Jika Anda tidak ingin berpindah-pindah file boot , Anda dapat mencoba mengubah urutan boot secara manual:

Masuk ke ubuntu secara manual dan periksa urutan boot saat ini dan ID mereka menggunakan:

sudo efibootmgr -v

kemudian ubah urutan boot menggunakan -o dan ID's (dalam urutan boot dari kiri ke kanan):

sudo efibootmgr -o 0000,3000,0001,2001,2002,2003



Contoh :
1. Tampilkan pengaturan boot saat ini

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0001,3000,0000,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

2. Ubah urutan boot (kami ingin memulai ubuntu terlebih dahulu, yang akan menampilkan menu boot saat startup):
Perhatikan bahwa percobaan pertama memberi kesalahan karena tidak dapat menemukan Boot2003 (drive floppydisk?), Seperti yang Anda lihat adalah diciptakan kembali setelah reboot sekalipun.

$ sudo efibootmgr -o 0000,3000,0001,2001,2002,2003
Invalid boot order entry value: 0000,3000,0001,2001,2002,2003
                                                         ^
Boot entry 2003 does not exist

$ sudo efibootmgr -o 0000,3000,0001,2001,2002
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002
Boot0000* ubuntu
Boot0001* Windows Boot Manager
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk

3.Reboot. Menu boot seharusnya sekarang muncul. (2003 ditambahkan kembali secara otomatis):

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,3000,0001,2001,2002,2003
Boot0000* ubuntu    HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* Windows Boot Manager  HD(2,GPT,c451cb3c-a684-45ac-9925-4046e57c40cb,0x145800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot2001* USB Drive (UEFI)  RC
Boot2002* Internal CD/DVD ROM Drive (UEFI)  RC
Boot3000* Internal Hard Disk or Solid State Disk    RC
Boot3001* Internal Hard Disk or Solid State Disk    RC
Boot3002* Internal Hard Disk or Solid State Disk    RC
Boot3003* Internal Hard Disk or Solid State Disk    RC

0

Solusi saya terwujud setelah saya tahu grub4dos sedang memuat

buat entri ini masuk men.lst

title Linux
find --set-root /-name.efi
boot /-name.efi

0

Setelah instalasi Ubuntu 14.04 64 bit pada notebook HP-15-r248nf dengan Windows 8 ditingkatkan menjadi 10 yang diinstal yang terjadi dengan lancar di samping masalah dengan menjatuhkan koneksi Wifi dengan driver Wifi Realtek (diselesaikan menggunakan echo "options rtl8723be fwlps=N ips=N" | sudo tee /etc/modprobe.d/rtl8723be.conf ), PC masih boot di bawah Windows.

Ubuntu melalui grub menjadi hanya tersedia saat menggunakan kunci ESC selama fase boot. perbaikan-boot tidak membantu, sebenarnya menginstal cukup banyak opsi di grub, tetapi grub masih tidak dapat diakses secara langsung.

Bahkan itu hanya diperlukan untuk mengubah urutan boot dari default.

  • Pada langkah boot setelah menyalakan PC ketik Esc, lalu F10 untuk masuk ke pengaturan BIOS.
  • Buka tab "Konfigurasi sistem", turun ke "Opsi boot". Tekan enter. Nonaktifkan "Boot aman"
  • Pergi ke urutan Boot UEFI. Saya menempatkan menggunakan F5 / F6 manajer Boot OS di atas (mungkin tidak diperlukan).
  • Pilih "OS boot manager" dengan Enter. Menggunakan F5 / F6, pindahkan ubuntu ke atas di atas Windows Boot Manager.
  • Tinggalkan pengaturan Bios dengan F10 Save / exit dan konfirmasikan perubahan yang Anda buat.

Sekarang Anda akan diarahkan ke grub di mana Anda memilih opsi yang ditandai Ubuntu dengan tanda bintang di atas yang akan boot secara otomatis setelah jeda singkat.


2
Harap format ini sedikit. Aku bahkan tidak tahu apakah itu jawaban.
TheWanderer

0

Memecahkan masalah boot EFI saya seperti ini:

The efibootmgr -oopsi ditimpa ketika anda reboot, sehingga tidak akan bekerja.

Namun, saya menemukan bahwa -nopsi itu. Jadi dalam menjalankan usb-ubuntu langsung efibootmgrdan cari tahu nomor empat digit untuk ubuntu dan muat nomor itu dengan -nopsi. Kemudian, untuk dapat reboot dari sistem Anda buat skrip seperti ini:

#!/bin/sh
/usr/bin/efibootmgr -n 0000

Mengganti 0000dengan entri ubuntu. Menjalankan crontab -eakan memungkinkan Anda untuk mengedit cron Anda. Tambahkan baris seperti ini padanya:

@reboot /home/"user"/"path"/efibootsj

ini akan menjalankan skrip efibootsj(atau apa pun namanya) setelah komputer Anda boot.

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.