Windows 8 menghapus Grub sebagai manajer boot default

37

Saya memiliki seri Sony VAIO S dengan Windows 8 yang sudah diinstal, dan saya menginstal Ubuntu 12.10 pada partisi baru. Ketika PC boot Grub ditampilkan, dan saya dapat memilih antara Windows 8 (tidak berfungsi di awal, harus mengubah pengaturan Grub) dan Ubuntu 12.10. Ketika saya memilih Ubuntu 12.10 semuanya OK, tetapi ketika saya menggunakan Windows 8, dan saya me-restart Grub tidak ditampilkan lagi (Windows 8 segera boot).

Saya mem-boot Ubuntu 12.10 LiveUSB, digunakan efibootmgr, dan menemukan bahwa Windows 8 (setiap kali melakukan booting) mengubah bootloader default EFI dari Grub ke Windows Boot Manager.

Bagaimana cara mengubahnya di Windows 8? Saya membaca sesuatu tentang bcdedit, tetapi tidak berfungsi atau saya tidak tahu bagaimana menggunakannya ...

Kouros
sumber
Saya pikir Anda sedang dalam pemecahan yang baik untuk diri sendiri. Teruslah menggali [;
Melon
3
Ya saya hanya perlu satu hal kecil maka saya akan menulis tutorial bagaimana melakukannya. Microsoft menyebalkan mengapa mereka harus mengubah manajer boot default? Menurut saya itu untuk mencegah orang menggunakan hal lain selain produk Microsoft.
Kouros
Naaah, saya pikir mereka tidak peduli. Bagaimanapun, berharap untuk melihat tutorial Anda segera.
Melon
Saya hanya bertanya layanan pelanggan Microsoft tentang ini, dan mereka mengarahkan saya ke forum mereka. Di forum, seorang teman memberi tahu saya bahwa windows menempatkan dirinya pada posisi pertama. Periode. Jika saya tidak menyukainya, buat saja file batch di windows yang berjalan di setiap startup, bcdedt-s windows uefi config untuk mem-boot grub pertama kali. Bagus.
Netom
Sistem file GPT berisi duplikat sektor boot. Tampaknya Windows hanya memeriksa checksum MBR dan 'memperbaikinya' dengan menimpanya dengan data MBR pelindung asli. Praktik terbaik keamanan. en.wikipedia.org/wiki/GUID_Partition_Table

Jawaban:

33

Saya tidak bisa membuat janji, tetapi coba ini dari jendela Prompt Perintah Windows yang diluncurkan dengan hak istimewa Administrator:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Catatan yang {bootmgr}harus diketik dengan tepat; itu bukan variabel. Jika itu tidak berhasil, Anda dapat mencoba ini di Linux:

  1. Cadangkan seluruh konten /boot/efi(Partisi Sistem EFI Anda, atau ESP).
  2. Jenis sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft.
  3. Jenis cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi.
  4. Buat /etc/grub.d/40_customentri file baru yang merujuk EFI/Microsoft/bootmgfw.efi. Model itu setelah entri yang ada di /boot/grub/grub.cfgyang mengacu pada EFI/Microsoft/Boot/bootmgfw.efi; hapus saja Bootdari jalur boot dan beri entri nama baru.
  5. Ketik sudo update-grubuntuk menginstal entri GRUB baru.

Ketika Anda reboot, GRUB akan muncul. Masalahnya adalah jika / ketika Windows memutuskan untuk menginstal ulang boot loadernya, sistem akan mulai mem-boot langsung ke Windows lagi.

Untuk langkah 4, Anda dapat:

  1. Salin 40_customentri yang dimulai dengan menuentry 'Windows ...'terletak di antara set ### BEGIN <path> ###dan ### END <path> ###tag / komentar. Ini adalah entri yang mengandung path Boot.
  2. Buat entri baru dalam file /etc/grub.d/40_customdengan menambahkan yang disalin menuentry.
  3. Ubah nama entri baru (aslinya harus Windows Boot Manageratau yang serupa).
  4. Ubah jalur dari EFI/Microsoft/Boot/bootmgfw.efimenjadi EFI/Microsoft/bootmgfw.efi.

EDIT:

Sejak menulis jawaban ini, saya menjadi sadar akan alat Windows pihak ketiga yang disebut EasyUEFI, yang merupakan alat GUI lebih mudah daripada bcdedituntuk menyesuaikan urutan boot EFI dari Windows. Saya tidak tahu apakah EasyUEFI akan menghentikan Windows dari membuat perubahan, jika Windows memiliki kebiasaan menetapkan dirinya sebagai default pada setiap boot. Dengan demikian, bcdeditmungkin masih diperlukan, tetapi EasyUEFI pasti patut dicoba juga.

Rod Smith
sumber
5
Apakah Anda akan mempertimbangkan untuk membantu saya / kami dan memberi kami petunjuk terminal spesifik untuk langkah 4? Saya melakukan semua yang lain kecuali langkah itu karena saya tidak yakin persis apa perintah untuk mengetik. Grub sekarang berfungsi, tetapi itu tidak akan membiarkan saya boot ke Windows. Eek!
tolong jelaskan langkah 4
ji-ruh
\EFI\ubuntu\shimx64.efiditemukan di Ubuntu 18.0.4 LTS
CSGO
2

Bagaimana cara mengubahnya di Windows 8? Saya membaca sesuatu tentang bcdedit, tetapi tidak berfungsi atau saya tidak tahu bagaimana menggunakannya ...

Masalah yang sama di sini, saya akhirnya menemukan bahwa pembaruan W8.1 terbaru ini melakukan itu, dan saya tahu itu karena saya baru saja memperbarui hari ini dan belum selama 33 hari atau lebih HP Pavilion saya memberi tahu saya ..

Bagaimanapun, inilah yang berhasil:

Saya mengikuti video Utube ini untuk menghentikan 'Perbaikan [Boot] Otomatis': http://www.youtube.com/watch?v=VRQYmtysFkg

Kemudian ubah bootmgr menggunakan solusi di atas yang disediakan oleh Rod: bcdedit / set {bootmgr} path \ EFI \ ubuntu \ grubx64.efi

Bingo!

btw: Boot Repair dari LiveUsb saya melakukan nada tetapi menyebabkan flash pendek sementara W8 memperbaiki entri bootnya ..

Resistensi adalah sia-sia
sumber
1
Luar biasa bahwa Anda telah memutuskan untuk membantu! Tetapi jawaban Anda tidak memberikan konteks apa pun untuk tautan (video) yang Anda poskan dan kami di sini di Tanya Ubuntu menginginkannya . Kami ingin jawaban di sini menyediakan konteks karena tautan (video) mungkin mati cepat atau lambat.
VenkiPhy6
0
  1. run Boot-Repair 's Recommended Repairdari liveCD, kemudian reboot pc.
  2. jika masih kurang bagus, jalankan Boot-Repair -> Advanced options -> untick " Backup and rename EFI files" -> tick " Restore EFI backups" -> Apply
LovinBuntu
sumber
2
Tidak ada masalah datang dari Windows 8
Kouros
0

Saya hanya memiliki sebagian dari jawaban: solusi yang berfungsi yang hampir ok sampai saya menemukan cara untuk memperbaikinya secara permanen.

Punya masalah yang sama: tepi thinkpad dikirimkan dengan windows 8; menginstal ubuntu sebagai dual boot dan kebanyakan lupa tentang windows sampai 8.1 keluar dan saya pikir saya akan mencobanya sebelum menghapus windows untuk selamanya. Jadi setelah menginstal 8.1, grub tidak muncul lagi pada startup TETAPI ketika saya menekan F12 maka muncul menu berbeda yang memungkinkan saya untuk boot ubuntu. Begitulah cara saya memulai komputer saya sekarang: tetapi setiap detik saya lupa menekan F12 dan itu masih menjalankan Windows (yang saya hampir tidak pernah mau).

Jadi menekan F12 membantu untuk sementara waktu (tidak yakin apakah ini berfungsi dalam kasus Anda tetapi mungkin patut dicoba). Saya tahu ada instruksi tentang cara mengembalikan grub tetapi saya tidak akan melakukan apa pun sebelum saya sepenuhnya yakin.

lebatsnok
sumber
0

Entah bagaimana Windows 8.1 benar-benar memblokir Ubuntu adalah duplikat dari pertanyaan ini. Saya kira tidak, tetapi saya hanya bisa berkomentar di sini. Saya mengalami gejala yang sama seperti Windows 8.1 benar-benar memblokir Ubuntu .

Dalam kasus saya, solusinya adalah dengan menekan F2 selama bootup dan mengubah urutan booting sehingga ubuntu berada di urutan teratas. Untuk beberapa alasan setelah saya memutakhirkan laptop dualboot (Win / ubuntu) saya dari Win 8 ke Win 8.1 'windows' muncul di bagian atas daftar boot di depan ubuntu, DVD, USB, dll. Dan laptop saya boot langsung ke Windows 8.1 tanpa memberikan saya ada pilihan.

Menekan F2 selama bootup dan menjadikan ubuntu teratas dalam daftar memecahkan masalah saya dan membuat ubuntu dapat dijangkau kembali (bersama dengan Windows 8.1) setelah saya memutakhirkan ke Windows 8.1 dari toko Microsoft.

riedlblower
sumber
0

Dengan Windows 10 dan Ubuntu 14.04 pada Acer E17 saya memiliki masalah yang sama (Windows Boot Manager mengambil alih, tidak dapat mengakses Grub saat boot). Saya mengikuti instruksi yang diberikan oleh Rod Smith di atas, tetapi tidak berhasil. (instruksi yang sangat bagus, btw)

Saya menemukan pengaturan di BIOS di bawah urutan boot yang mencantumkan Windows Boot Manager pertama dan HDD kedua. Saya menukar mereka, menyimpan & keluar / reboot, dan Grub segera muncul.

Saya membaca di tempat lain bahwa beberapa BIOS memiliki opsi boot cepat yang mungkin perlu Anda nonaktifkan juga, tetapi BIOS saya tidak memilikinya.

tukang batu
sumber
0

Pada beberapa mesin, Pengaturan BIOS mengontrol prioritas booting file * .efi di partisi UEFI. Saya menemukan laptop HP Pavilion 15-f039wm saya melakukannya, meskipun tidak segera jelas bahwa ia memiliki fitur itu. Menyetelnya di BIOS mengalahkan file .efi secara langsung dan menggunakan bcdedit.

Untuk mesin itu, saya tekan F10 untuk sampai ke pengaturan BIOS, lalu kursor ke dan pilih "Boot Options". Ada opsi untuk prioritas booting UEFI yang dapat diatur ulang, salah satunya adalah "OS Boot Manager". Namun opsi itu memiliki fitur tambahan yang jika saya sorot dan tekan Enter, ada pop up untuk mengatur ulang prioritas untuk "ubuntu" dan "Windows Boot Manager" di dalam "OS Boot Manager". Saya meletakkan "ubuntu" di atas dengan F5 / F6, menyimpan konten pop-up dengan F10, dan kemudian tekan F10 lagi untuk menyimpan dan keluar dari BIOS Setup.

Sekarang tanpa intervensi per-boot, saya mendapatkan menu Grub yang secara default mem-boot Ubuntu. Saya masih bisa boot ke Windows melalui menu Grub, atau mendapatkan boot aman dengan melakukan intervensi dengan F9 untuk mendapatkan menu UEFI Boot Manager.

Fitur BIOS itu membantu menjelaskan mengapa sepertinya kode UEFI mengganti perubahan pada BootOrder yang saya buat dengan efibootmgr di Ubuntu.

sudr minz
sumber