Bagaimana cara mendapatkan GRUB menjadi bootloader default alih-alih Windows Boot Manager pada laptop UEFI?

109

Saya punya notebook HP Pavilion Touchsmart yang datang dengan Windows 8. Saya telah mengupgrade ke 8.1, dan sekarang saya ingin mem-boot dua distribusi Ubuntu dengan Windows 10. Ketika mem-booting ganda dengan Windows 8.1, Windows Boot Manager selalu mengambil prioritas, bahkan setelah menginstal GRUB. Apa yang harus saya lakukan untuk mendapatkan GRUB menjadi bootloader default, bukan Windows Boot Manager?

Michael Hoffmann
sumber

Jawaban:

195

Ini adalah posting terpanjang yang pernah saya buat di situs StackExchange, tetapi proses ini membutuhkan banyak penjelasan dan perhatian terhadap detail. Ini juga agak spesifik untuk perangkat keras yang bersangkutan, yang membutuhkan penjelasan lebih lanjut.

Setelah banyak sakit kepala, dua pemformatan ulang hard drive yang tidak disengaja, dan banyak frustrasi dengan implementasi firmware kereta HP, saya akhirnya membuat Xubuntu dan Windows 10 berjalan dengan baik berdampingan. Saya sudah melakukan ini dengan Windows 10, tetapi seharusnya juga bekerja dengan Windows 8.1. Kedua sistem operasi yang lebih baru ini menggunakan sistem firmware UEFI (ish) yang baru, alih-alih sistem BIOS tradisional, yang merupakan tempat sebagian besar kebingungan dengan dual-boot tampaknya muncul. Saya membaca banyak hal dari banyak tempat dengan instruksi untuk dual-boot dengan sistem BIOS, yang berbicara tentang UEFI seolah-olah itu hanya jenis BIOS yang berbeda, atau lapisan opsional antara BIOS dan OS. UEFI dan BIOS bukan hal yang sama; UEFI bukan BIOS, dan BIOS bukan UEFI. Mereka sangat berbeda.

Pertama, jangan gunakan EasyBCD . Saya telah melihat banyak yang ketinggalan jamantutorial dual-boot yang merekomendasikan EasyBCD, tetapi dirancang untuk bekerja dengan firmware BIOS tradisional yang digunakan oleh Windows 7 dan Windows Vista, dan itu tidak bekerja dengan baik dengan firmware UEFI yang lebih baru (Windows 8, 8.1, atau 10). Jika Anda sudah mengutak-atik EasyBCD, jangan khawatir - yang terburuk mungkin dilakukan adalah membuat berantakan dalam entri boot EFI Anda dengan menulis hal-hal ke MBR. Kami akan membersihkannya di langkah 4. Berbicara tentang MBR, hindari itu seperti wabah. Master Boot Record adalah apa yang digunakan dalam firmware BIOS tradisional sebagai daftar bootloader yang disimpan di partisi boot (atau, jika ditulis oleh Windows, di mana pun partisi pertama) dari hard drive Anda. Ini dimaksudkan untuk membuat daftar sistem operasi pada hard drive, dan memberi tahu firmware mana yang akan di-boot terlebih dahulu. Ini tidak berfungsi dengan baik pada firmware UEFI HP. Tampaknya jika ada

Apa yang Anda butuhkan:

  • USB langsung atau CD instalasi dengan distribusi Ubuntu pilihan Anda.
  • Media instalasi untuk OS Windows Anda. Jika Anda memutakhirkan dari Windows 8.1, Anda dapat melakukannya tanpa mengunduh 3+ GB .iso penuh untuk Windows 10 - ada penginstal web yang mengunduhnya saat menginstal- tetapi, untuk metode ini, Anda perlu .iso diekstraksi ke CD atau drive USB. Ini juga merupakan ide bagus untuk memilikinya di masa depan, jadi sebaiknya Anda membuatnya sekarang. Karena pertanyaan ini adalah tentang dual-boot dengan sistem UEFI, Anda memerlukan OS 64-bit.
    • Pastikan Anda memiliki Kunci Produk Anda, atau Anda tidak akan dapat memutakhirkan / menginstal.
  • Opsional, tetapi sangat disarankan : Drive yang cukup besar untuk mencadangkan file Windows Anda saat ini.
  • Ruang yang cukup pada hard drive Anda untuk kedua sistem operasi, partisi boot (hanya 200 MB), dan partisi linux-swap (biasanya ukurannya sama dengan RAM fisik Anda).

Langkah 1: Buat cadangan

Cadangkan semua file dan folder Windows Anda yang tidak ingin hilang. Selama Anda memiliki ruang hard disk kosong yang cukup untuk partisi Ubuntu baru Anda, proses ini seharusnya tidak mengganggu file Windows. Seharusnya kata yang berisiko.

Windows 8.1 memiliki alat "buat disk pemulihan", tetapi saya merasa alat itu tidak berguna dan tidak berfungsi untuk memulihkan cadangan yang saya buat dengannya. Cara paling mudah untuk mempertahankan file yang tidak ingin hilang adalah dengan membuka Windows Explorer, dan menyalinnya ke disk cadangan. Butuh selamanya, tapi itu sepadan.

Langkah 2: Nonaktifkan Fast Startup, dan matikan komputer Anda

Anda harus masuk sebagai administrator untuk melakukan ini.

Sangat penting untuk menonaktifkan Fast Startup sebelum menginstal GRUB, karena apakah installer Ubuntu dapat mendeteksi keberadaan Windows tergantung pada bagaimana Windows merepresentasikan dirinya dalam partisi boot. Dengan Fast Startup dinonaktifkan dengan benar, itu harus dideteksi. Deteksi akan dibahas pada langkah 4.

Windows 8, 8.1, dan 10 menggunakan hal baru yang mewah ini yang disebut Fast Startup, yang memberi tahu firmware Anda untuk memuat bootloader khusus yang mengembalikan sistem ke kondisi pra-shutdown dengan sangat cepat. Cukup keren, ya? Nah, karena ini mengubah opsi boot berikutnya sistem EFI, fitur ini harus dinonaktifkan saat Anda menginstal GRUB. Ini dapat dilakukan dengan melakukan hal berikut:

  1. Buka Control Panel (Windows + X-> Control Panel dari desktop di Windows 8+) (tampaknya Microsoft membenci pengguna listrik, jadi mencari Start Menu untuk "Control Panel" sekarang merupakan cara tercepat untuk membukanya)
  2. Arahkan ke Opsi Daya
  3. Klik "Pilih apa yang tombol daya lakukan"
  4. Klik "Ubah pengaturan yang saat ini tidak tersedia"
  5. Pastikan kotak yang bertuliskan "Aktifkan startup cepat (Disarankan)" di bagian bawah tidak dicentang.

Instruksi lebih rinci dapat ditemukan di sini . Anda dapat mengaktifkan kembali Fast Startup setelah menginstal GRUB, dan sepertinya tidak menyebabkan masalah dengan booting Ubuntu / GRUB. Pastikan itu dinonaktifkan selama instalasi.

Setelah Anda menonaktifkan Fast Startup, matikan komputer Anda. Karena Fast Startup dinonaktifkan, Windows akan melakukan pematian total, dan tidak mengubah opsi boot berikutnya di manajer EFI firmware. (Persyaratan Layman: Windows tidak akan memberi tahu sistem HP Anda untuk mem-boot file Fast Startup-nya ketika dihidupkan berikutnya, sehingga ia akan menggunakan daftar boot manager EFI, sebagaimana mestinya. GRUB akan menempatkan dirinya pertama kali dalam daftar ini.)

Langkah 3: Siapkan partisi dengan gparted

Sebelum menginstal Ubuntu, Anda harus menggunakan CD / USB langsung Anda untuk membuat partisi terpisah untuk itu. Dengan begitu, itu * tidak akan menimpa Windows.

* Pastikan Anda memiliki cadangan. Tidak ada jaminan - ini tergantung pada apa yang telah diputuskan Windows untuk dilakukan di partisi boot Anda, dan itu juga tergantung pada versi / distribusi Ubuntu yang Anda gunakan - saya belum menggunakan semuanya.

Untuk membuat partisi, Anda harus boot ke CD / USB langsung Anda, dan buka gparted. Ada banyak tutorial tentang cara menggunakan gparted, dan cukup mudah untuk mencari tahu, jadi saya akan menyerahkan spesifikasinya kepada Anda dan Internet.

  • Anda membutuhkan 4 partisi:

    1. Partisi boot. Jika Anda sudah menginstal Windows, Anda tidak perlu melakukan apa pun - itu seharusnya sudah menjadi salah satu partisi pertama di drive Anda. Terkadang Windows juga membuat partisi kecil lain di awal disk yang disebut Recovery . Biarkan saja ini.

      • Jika Anda melakukan instalasi baru, dan Anda ingin memulai semuanya dari awal ( ini akan menghapus semua data Anda ), lanjutkan dan hapus semua partisi pada drive Anda, lalu buat partisi ini. Itu harus menjadi partisi pertama ; formatnya harus FAT32 ; dan ukurannya harus minimal 200 MB . Jika gparted memiliki opsi untuk memberi label, panggil saja boot. Jika tidak ada opsi label, jangan khawatir. Kamu harus, namun, atur flag "boot" dan "esp" pada partisi ini; tanpa mereka, penginstal Ubuntu hanya akan mengabaikannya dan menggunakan penginstalan mode lama, dan Windows (10) akan menolak untuk menginstal bersamaan dengan kesalahan "kami tidak dapat membuat partisi baru atau mencari yang sudah ada". Atau tidak. Tampaknya tergantung pada bagaimana perasaan Windows hari itu ...
    2. Partisi Windows. Sekali lagi, jika Anda sudah menginstal Windows, partisi ini seharusnya ada di sini, setelah partisi boot dan Recovery. Di sinilah Anda menginginkannya, tetapi Anda perlu mengubah ukurannya untuk memberikan ruang bagi partisi Ubuntu Anda, dan partisi linux-swap. Gunakan opsi resize / move gparted untuk melakukan ini. Ubuntu membutuhkan setidaknya 5 GB, dan partisi linux-swap setidaknya harus setengah ukuran RAM fisik Anda, jadi Ubah ukuran partisi windows untuk membuat ruang yang cukup untuk itu. gparted akan memperingatkan Anda tentang kehilangan data potensial - menyusut partisi Anda tidak boleh menghancurkan atau merusak data apa pun, asalkan Anda tidak menyusutkannya ke dalam ruang yang digunakan.

      • Jika menginstal kedua sistem operasi dari awal ( sekali lagi, ini akan menghapus semua data Anda ), Microsoft mengatakan Anda akan membutuhkan setidaknya 20 GB untuk OS 64-bit, sehingga partisi ini harus setidaknya 20 GB . Anda mungkin ingin lebih dari itu: saya hanya menggunakan setengah dari ruang setelah partisi boot untuk Windows, dan setengahnya untuk Ubuntu dan linux-swap. Jika Anda beralih dari nol, partisi ini harus diformat sebagai FAT32. Ketika Anda menginstal Windows, itu akan memformatnya ke NTFS. Jangan lakukan ini dengan gparted; Implementasi NTFS Windows berbeda dari implementasi gparted, dan Windows mungkin tidak dapat mengenali partisi. Di penginstal Windows 10, Anda harus memiliki opsi untuk memilih partisi tempat Windows 10 aktif. Jika diformat sebagai FAT32, Windows seharusnya dapat melihatnya dan menginstalnya sendiri di sana. Jika Anda dapat memberi label pada partisi ini, beri label Windows. Itu akan membuatnya lebih mudah bagi Anda selama instalasi Windows. Berbicara tentang penginstal Windows - belum memulai itu. Jika Anda melakukan instalasi baru untuk Ubuntu dan Windows secara bersamaan, alih-alih memutakhirkan dari 8 atau 8.1 menjadi 10, jauh lebih mudah untuk menginstal Ubuntu terlebih dahulu .
    3. Partisi Linux. Seperti partisi Windows, ini dapat bervariasi dalam ukuran, tetapi situs web Ubuntu merekomendasikan setidaknya 5 GB . Sekali lagi, Anda mungkin ingin lebih dari itu. Jika Anda meningkatkan bukannya melakukan instalasi baru kedua sistem operasi, Anda harus dapat membuat partisi ini di ruang baru "tidak terisi" yang ditampilkan dalam gparted. Jadikan sebesar yang Anda suka, tetapi ingat untuk menyisakan ruang untuk partisi linux-swap jika Anda berencana menggunakannya. Ini harus diformat sebagai ext4. ext2 atau ext3 juga bisa digunakan, jika Anda menginginkannya karena suatu alasan.
      • Jika menginstal dari awal, buatlah partisi Ubuntu Anda seperti yang dijelaskan di atas. Pastikan itu diformat sebagai ext4, ext3, atau ext2 . Ini akan memungkinkan Ubuntu untuk menggunakannya, tetapi mencegah penginstal Windows 10 dari mengenalinya, yang akan menyebabkannya default ke partisi FAT32 yang Anda buat pada langkah 3, yang dapat dibaca.
    4. Opsional, tetapi disarankan: partisi linux-swap . Setidaknya setengah ukuran RAM fisik Anda merupakan awal yang baik, tetapi saya sarankan membaca detailnya . Saya memiliki 8 GB RAM, dan 1TB hard drive, jadi saya hanya membuat partisi ini dengan ukuran yang sama dengan RAM fisik saya.

Langkah 4: Instal Ubuntu terlebih dahulu

Baik Anda memutakhirkan ke Windows 10 dari OS Windows yang ada, atau menginstal Windows 10 dan distribusi Ubuntu ke hard drive baru atau yang baru saja di-partisi ulang, jauh lebih mudah untuk menginstal Ubuntu terlebih dahulu. Ubuntu menggunakan GRUB 2 sebagai bootloader-nya, yang berfungsi seperti layaknya bootloader EFI. Windows 10 menggunakan Windows Boot Manager, yang melakukan hal-hal ... baik, cara Windows melakukannya ... Jika Anda menginstal Windows pertama, Anda kemungkinan tidak akan bisa boot ke Ubuntu tanpa menekan kunci khusus selama proses boot untuk menghentikan Windows Boot Manager dari memuat, karena Windows Boot Manager tidak menghormati GRUB ketika ditambahkan ke daftar bootloader-nya. Jadi alih-alih, instal Ubuntu dan GRUB terlebih dahulu, lalu tambahkan entri ke GRUB untuk Windows Boot Manager.

Langkah 4.1: Membersihkan entri EFI lama (opsional)

Harap berhati-hati di sini. Menghapus hal yang salah dapat menyebabkan masalah besar.

Sebelum menginstal Ubuntu, kami ingin memastikan hantu instalasi OS sebelumnya tidak akan kembali menghantui kami di masa depan. Dalam sistem UEFI, sistem operasi menggunakan file EFI (extensible firmware interface) untuk memberi tahu firmware: "Hai, saya ada. Di sinilah Anda dapat menemukan saya." Ketika OS baru diinstal, ia menambahkan entri ke daftar EFI Boot Manager, yang memberikan nomor entri yang unik, dan memberi tahu EFI Boot Manager di mana file EFI-nya berada (Windows mendaftarkan beberapa file EFI yang berbeda- satu untuk boot biasa, satu untuk boot pemulihan, satu untuk Fast Startup - mungkin lebih tergantung pada firmware dan versi OS Anda). EFI Boot Manager juga melacak urutan boot: daftar nomor entri yang menentukan apa yang akan di-boot terlebih dahulu. Jika Anda telah menggunakan EasyBCD; bcdedit; Windows Perbaikan Boot atau alat Pemulihan; perbaikan-boot di OS Linux; atau bahkan jika Anda telah memperbarui Windows atau menginstalnya kembali, ada kemungkinan besar bahwa daftar entri EFI Anda sekarang memiliki beberapa duplikat. Setidaknya, itulah yang terjadi pada saya. Memiliki duplikat di sini dapat menghambat proses booting Anda, karena firmware menyaring entri yang kedaluwarsa atau salah file hingga menemukan bootloader yang berfungsi. Hal ini juga dapat menyebabkan loop-boot, di mana bootloader A mengarahkan firmware ke bootloader B, yang mengarahkannya kembali ke A, dan kemudian segalanya mulai membutuhkan waktu yang sangat, sangat lama ... karena firmware menyaring entri yang kedaluwarsa atau salah file hingga menemukan bootloader yang berfungsi. Hal ini juga dapat menyebabkan loop-boot, di mana bootloader A mengarahkan firmware ke bootloader B, yang mengarahkannya kembali ke A, dan kemudian segalanya mulai membutuhkan waktu yang sangat, sangat lama ... karena firmware menyaring entri yang kedaluwarsa atau salah file hingga menemukan bootloader yang berfungsi. Hal ini juga dapat menyebabkan loop-boot, di mana bootloader A mengarahkan firmware ke bootloader B, yang mengarahkannya kembali ke A, dan kemudian segalanya mulai membutuhkan waktu yang sangat, sangat lama ...

Bagaimanapun, untuk melihat daftar entri EFI Anda dan melihat apa yang perlu dibersihkan, gunakan efibootmgrpaket dengan live CD / USB Anda. Anda harus menginstalnya menggunakan sudo apt-get install efibootmgrterminal, kemudian jalankan dengan menggunakan sudo efibootmgr. Secara default, Anda akan mendapatkan daftar entri yang terlihat seperti ini:

Gambar daftar entri EFI Boot Manager dari output efibootmgr

Ketika saya pertama kali menggunakan alat ini setelah mengutak-atik EasyBCD dan bcdedit mencoba untuk membuat hal-hal untuk boot dalam urutan yang benar, saya punya lebih dari seratus entri di sini, kebanyakan dari mereka duplikat.

Jika daftar boot manager Anda tidak terlalu berantakan, atau jika Anda tidak nyaman memutuskan apa yang bisa dihapus dan apa yang tidak boleh dihapus, lanjutkan ke langkah 4.2.

Untuk membersihkan entri yang tidak Anda butuhkan, gunakan efibootmgr -b <hex_number> -B, di mana hex_numberdiganti dengan nomor yang tercantum dengan entri boot. Jadi, untuk menghapus USB Drive (UEFI)entri (Boot bernomor 2001 ) pada gambar di atas, saya akan menggunakan sudo efibootmgr -b 2001 -B. Anda akan melihat bahwa saya meninggalkan beberapa duplikat (semua lebih dari 3000 entri bernomor). Anda dapat menggunakan efibootmgrdengan berbagai opsi untuk melihat beberapa atribut entri lainnya, seperti jalur file yang mereka tuju. Entri-entri itu terlihat seperti duplikat, tetapi semuanya menunjuk ke berbagai file yang digunakan oleh laptop HP saya untuk memperbarui BIOS-nya. Harap berhati-hati dengan apa yang Anda hapus. Bisa sangat sulit atau tidak mungkin untuk mengganti hal-hal di sini. Anda juga dapat menggunakan efibootmgr untuk mengubah BootOrder, yang ditampilkannya. Lihat halaman manual untuk informasi lebih lanjut tentang alat yang bermanfaat ini.

Langkah 4.2: Menginstal Ubuntu

Setelah Anda membersihkan entri Boot Manager EFI, jika Anda memilih untuk melakukannya, akhirnya saatnya untuk menginstal Ubuntu. Dengan live CD / USB Anda dimuat, pilih opsi instal dari menu bootloader, atau luncurkan dari desktop setelah masuk. Pilih opsi Anda pada halaman pertama installer. Bagian kedua akan terlihat seperti ini: (Saya menggunakan Xubuntu 14.04, jadi penginstal Anda mungkin berbeda, tetapi opsinya harus sangat mirip.)

Cuplikan layar opsi instalasi Xubuntu 14.04

Jika installer Anda tidak mendeteksi instalasi Windows Anda (seperti milik saya), Anda harus memilih opsi "Lain-lain". Dari sana, Anda akan mendapatkan layar yang terlihat mirip dengan menu gparted yang Anda gunakan untuk mengatur partisi Anda. Cukup pilih partisi yang Anda buat, dan tetapkan ke titik pemasangan yang benar dengan memilih partisi dan mengklik "Ubah".

  • Jika Anda menginstal kedua OS dari awal, lakukan hal yang sama. Jangan gunakan opsi instalasi otomatis. Anda perlu memastikan Ubuntu terinstal di partisi ext2 / ext3 / ext4, bukan partisi Windows FAT32.

Langkah 5: Perbarui atau instal Windows kedua

Anda harus memiliki disk instalasi untuk Windows 10. Sebelum Anda mulai menginstal, pastikan Anda memiliki kunci produk Anda di dekatnya, atau Anda tidak akan dapat menginstal / meningkatkan. Ketika Anda boot ke CD instalasi / USB, instalasinya cukup sederhana. Agak terlalu sederhana untuk kenyamanan saya - satu-satunya tombol adalah "Instal Windows 10" atau sesuatu seperti itu, dan Windows 8, 8.1, dan 10, terkenal karena pemasangan di belakang layar, di mana hanya tertulis "Kami menyiapkan segala sesuatunya ", dan tidak memberikan detail tentang apa yang sebenarnya dilakukannya pada sistem Anda. Jika Anda telah mengikuti instruksi ini sejauh ini, boleh saja memulai instalasi secara teratur.

  • Jika Anda memutakhirkan dari Windows 8 atau Windows 8.1, Anda tidak perlu melakukan sesuatu yang istimewa dengan proses instalasi. Lewati instalasi (sangat lama), dan lanjutkan ke langkah 6.

  • Jika Anda melakukan pemasangan baru, penginstal akan menanyakan di mana Anda ingin menginstal Windows 10. Pastikan Anda memilih partisi FAT32 yang Anda buat pada langkah 2, dan bukan partisi lain, atau partisi itu akan dihapus dan diformat. Karena Ubuntu sudah diinstal, Windows 10 harus menghormati partisi boot dan tidak memformatnya. Setelah entri sampah dibersihkan dari daftar Boot Manager EFI juga akan membebaskan ruang di partisi boot 200 MB kecil, mengurangi kemungkinan bahwa Windows akan bingung dan marah dan membersihkan semuanya untuk dirinya sendiri.

Langkah 6: Perbarui dan (secara opsional) sesuaikan GRUB

Setelah menginstal atau meningkatkan ke Windows 10, Anda harus reboot ke Ubuntu untuk memperbarui GRUB sehingga termasuk Windows Boot Manager pada daftar. Sebelum Anda melakukan ini, nonaktifkan Fast Startup lagi. Ini dilakukan sangat mirip dengan bagaimana Anda melakukannya di langkah 2. Panel kontrol dan UI pengaturan agak berbeda, tetapi sebagian besar opsi masih ada.

Setelah Anda menonaktifkan Fast Startup lagi, reboot komputer Anda.

Jika Windows melakukan booting secara default, Anda harus menahan tombol khusus untuk laptop Anda untuk masuk ke menu firmware sistem. Di HP Touchsmart saya, kuncinya adalah Esc. Kunci umum lainnya adalah F12, Hapus, F10 ... Manual komputer Anda seharusnya dapat membantu Anda di sini. Dari menu firmware, boot ke GRUB. Seharusnya ada opsi untuk "memilih perangkat boot" atau yang serupa, dan Ubuntu atau GRUB harus terdaftar di sana. Jika tidak terdaftar, cari opsi untuk boot dari file EFI, dan browse ke /EFI/ubuntu/grubx64.efi atau (jika Anda telah mengaktifkan Boot Aman), sebaliknya EFI / ubuntu / shimx64.efi. Path sebenarnya dari file-file ini dapat bervariasi tergantung pada opsi Anda, dan bagaimana partisi boot Anda diatur, tetapi nama file harus sama. Memilih salah satu file .efi ini harus boot ke GRUB, di mana Anda kemudian bisa boot ke distribusi Ubuntu Anda. Setelah Anda masuk, buka terminal dan ketiksudo update-grub. Ini akan menjalankan skrip os-prober yang digunakan GRUB untuk mengkompilasi grub.cfg, yang memberitahu file EFI grub yang mana entri untuk dimasukkan, warna apa yang digunakan, dll. Skrip os-prober harus mengidentifikasi Windows Boot Manager, dan secara otomatis menambahkannya ke Daftar.

Secara opsional, Anda dapat menginstal Grub Customizer untuk mengubah urutan entri menu dan mengubah perilaku serta warna dan latar belakang menu GRUB. Anda dapat menginstal ini dari terminal menggunakan sudo apt-get install grub-customizer, dan kemudian jalankan sudo grub-customizer.

Saat menggunakan GRUB pada sistem UEFI yang dibagikan dengan OS Windows, JANGAN instal ke MBR. Beberapa tutorial menuliskannya sebagai langkah penting untuk menggunakan opsi "Install to MBR" Grub Customizer di bawah menu File. Anda seharusnya tidak melakukan ini pada kebanyakan sistem UEFI. MBR (Master Boot Record) dirancang untuk firmware BIOS, dan masih digunakan oleh Windows Boot Loader sampai batas tertentu. Menambahkan GRUB ke MBR, ketika sudah ada dalam daftar entri EFI, dapat menyebabkan banyak bola rambut. Jika Anda perlu memastikan bahwa GRUB adalah entri pertama dalam daftar urutan boot (yaitu jika Windows selalu boot, meskipun Anda melakukan segalanya dengan benar), gunakan efibootmgr (lihat langkah 4.1) untuk melihat / mengedit urutan boot EFI Manager .

Catatan

Saya belum menyebutkan Boot Amansama sekali, karena itu seharusnya tidak mempengaruhi instalasi Ubuntu. Banyak tutorial dual-boot berbicara tentang cara menonaktifkannya, tetapi itu biasanya tidak diperlukan dengan installer 64-bit saat ini. Namun, setiap PC berbeda, dan Secure Boot cukup baru (2012), sehingga perangkat tegar yang berbeda dapat mengimplementasikan berbagai hal secara berbeda. Sebagai contoh, versi firmware HP saya menyertakan opsi "legacy boot", yang menonaktifkan Secure Boot dan memperlakukan OS yang diinstal seolah-olah itu adalah firmware BIOS: beberapa orang merekomendasikan untuk mengaktifkan ini untuk menginstal untuk dual-boot. Menginstal Ubuntu dalam mode boot lama di sistem saya mencegah GRUB menambahkan dirinya ke daftar entri EFI, jadi yang bisa dilakukan hanyalah menambahkan dirinya ke MBR, yang kendali penuh Windows Boot Manager. Windows Boot Manager mengambil banyak penyesuaian bahkan untuk menampilkan daftar entri,

Lihat di sini untuk informasi lebih lanjut tentang Ubuntu dan Boot Aman dan Boot Lama, dan informasi tentang perbedaan antara instalasi UEFI dan BIOS secara umum.

Michael Hoffmann
sumber
11
IMHO terlalu lama untuk menjadi jawaban yang bagus di situs ini. Jangan lupa audiensi yang Anda kirimi pesan: rata-rata pengguna yang tidak tahu perbedaan antara GPU dan CPU ... Peduli jika saya sedikit meredamnya? (apakah Anda tahu cara mengembalikan suntingan?)
Fabby
4
Tolong pergilah! Pisau cukur Ockham, eh? Saya berjuang untuk menyederhanakan ini tanpa merasa seperti saya meninggalkan detail penting, sehingga setiap bantuan sangat dihargai.
Michael Hoffmann
24
+1 untuk penjelasan terbaik yang pernah saya baca tentang UEFI. Saya pikir itu semacam "bios baru"
SuperSluether
5
Salah satu jawaban terbaik yang pernah saya lihat. Akan segera mencobanya dengan Ubuntu yang akan datang.
Mosh
11
Ini adalah panduan yang luar biasa. Saya memahami keinginan yang disebutkan sebelumnya untuk menyederhanakan ini, tetapi saya tidak berpikir ada jawaban sederhana untuk masalah ini. Ya, Anda dapat mengecilkannya secara hipotetis hanya pada daftar poin "lakukan ini, lalu lakukan ini", tetapi saya pikir ini tidak perlu. Bercak dengan drive harus dilakukan dengan sangat hati-hati; tidak ingin pengguna biasa mencoba untuk mengikuti daftar poin-poin dan gagal di suatu tempat di tengah.
vaindil
8

Saya tidak ingin menduplikasi pos untuk kemungkinan pelanggaran kebijakan sehingga saya akan menautkan jawaban saya untuk masalah ini. Singkatnya, saya punya laptop Samsung dengan Windows 10 yang sudah diinstal dan saya mencoba menginstal linux dengan banyak instance; Ubuntu 12.04, 14.04, dan 16.04. Saya menggunakan Boot-Repair dan mengubah Boot Priority di BIOS Pengaturan saya yang menghasilkan pemuatan GRUB yang fungsional namun berantakan terlebih dahulu. Jawaban oleh pengguna Michael Hoffmann memberikan penjelasan yang baik untuk menginstal pada drive kosong dan cara membersihkan GRUB , tetapi saya tidak ingin menghapus instalasi Windows 10 saya.

Penjelasan terperinci dapat ditemukan di posting saya DI SINI .

Paresh471
sumber
1
Hai, terima kasih telah mematuhi kebijakan situs! Itu menjaga hal-hal tetap bersih dan teratur dan membantu orang menemukan jawaban. Jawaban Anda sangat berguna, dan terkait dengan pertanyaan dan jawaban saya, jadi saya senang Anda memasukkannya di sini. Terima kasih untuk tautannya!
Michael Hoffmann
6

Saya dapat menyajikan kepada Anda peretasan sederhana untuk masalah ini, gunakan jika tidak ada solusi sah yang memecahkan masalah Anda.

Karena Windows terus mengubah urutan boot, hack adalah untuk menipu Windows untuk mengenali grub Ubuntu sebagai file boot Windows yaitu bootmgfw.efi

Bagian 1: Mengakses folder EFI pada Windows

Buka cmd sebagai administrator dan pasang folder EFI untuk mengaksesnya. Jalankan perintah berikut satu per satu. Di bawah ini saya telah menetapkan huruf g ke mount, pastikan Anda menetapkan huruf yang belum ditetapkan di PC Anda.

mountvol g: /s
g:
cd EFI\

Anda akan melihat folder Microsoft dan folder Ubuntu di dalam EFI.

Bagian 2: Salin grubx64.efi dari Ubuntu ke Microsoft \ Boot \ as bootmgfw.efi

Pertama buat cadangan dari bootmgfw.efi

cd Microsoft\Boot\
rename bootmgfw.efi bootmgfw_.efi

Sekarang lakukan salin dan ganti nama.

copy g:\EFI\ubuntu\grubx64.efi g:\EFI\Microsoft\Boot\
rename grubx64.efi bootmgfw.efi

Bagian 3: Lepaskan ikatan folder EFI

Jalankan perintah berikut satu per satu.

c:
mountvol g: /d

Sekarang reboot PC Anda dan Anda akan melihat Ubuntu GRUB memuat yang seharusnya memiliki opsi Windows UEFI loader untuk mem-boot Windows juga.

Iri
sumber
Ini berfungsi, tetapi pembaruan Windows dapat mengganti file .efi, jadi mungkin perlu diperbaiki sesekali. Terima kasih atas kontribusinya!
Michael Hoffmann
1
Yup, beberapa pembaruan Windows memang mengganti file .efi, jadi hal terbaik yang harus dilakukan jika Anda tidak menggunakan Windows yang sering adalah menonaktifkan pembaruan dari layanan lokal, dan memperbarui Windows ketika Anda merasa seperti dan ulangi langkah-langkah yang disebutkan.
Iri hati
Ini berfungsi tetapi sekarang bagaimana cara saya boot kembali ke Windows saya? Sekarang boot langsung ke Linux saya. Mohon saran.
martti d
@marttid grub seharusnya menampilkan opsi Windows juga. Pastikan 'bootmgfw_.efi' ada di folder boot Microsoft.
Iri
1
Atau dalam satu perintah bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efiseperti yang disarankan di sini
newandlost
2

Solusi yang sedikit lebih mudah untuk masalah di atas.

  1. Tekan F10saat boot-up untuk pergi melalui pengaturan Advanced BIOS
  2. Dalam pengaturan BIOS Boot Order mengaktifkan Legacy Boot order yang akan mengaktifkan UEFI dan Legacy Boot Order.
  3. Meningkatkan Boot Delay hingga 5 detik akan memberikan waktu selama pemilihan OS saat boot.
  4. Simpan pengaturan BIOS dan keluar.
  5. Pada boot berikutnya Anda akan ditanya tentang opsi pemilihan boot. Tekan F9untuk masuk dan pilih opsi boot yang sesuai (Windows OS Boot Manager atau Ubuntu)
vishal yadav
sumber
1
Saya kira itu semacam solusi, tapi itu sama sekali bukan sistem bertenaga GRUB yang ramah pengguna yang kebanyakan orang cari ketika mereka berbicara tentang dual-boot. Harus masuk ke menu firmware - di mana sangat mudah untuk memecahkan sesuatu - setiap kali Anda mem-boot komputer Anda adalah sesuatu yang harus dihindari. Mengaktifkan Legacy Boot juga mengharuskan penonaktifan Boot Aman (setidaknya pada firmware saya), yang dapat membuat sistem lebih rentan terhadap injeksi firmware - orang asing mana pun dapat meletakkan USB dengan OS jahat berbahaya di komputer Anda dan mem-boot-nya dalam hitungan detik.
Michael Hoffmann
1
Setidaknya dalam skenario saya, saya merasa itu jauh lebih ramah pengguna dan lebih cepat daripada solusi # 1 dan sebagai solusi untuk berurusan dengan mode booting UEFI Windows yang awalnya membatasi dual-booting. Iya. Memang solusi ini adalah untuk orang-orang yang dapat mengaktifkan boot lama dan memiliki kontrol PC / laptop mereka agar tidak terkena orang asing dan tahu apa yang mereka lakukan. Selain itu banyak orang ingin membuat PC dual-boot setelah mereka menginstal / memperbarui ke Windows 10 dan mereka mungkin tidak memiliki cukup sumber daya atau waktu yang diperlukan untuk solusi # 1.
vishal yadav
0

Saya menemukan banyak solusi sederhana, yang bekerja pada sebuah laptop HP (355 G2) yang memiliki jendela 10 diinstal

  1. Tekan keluar saat booting
  2. Tekan F9 untuk opsi boot
  3. Pilih opsi USB yang bukan UEFI (milikku itu adalah bagian bawah dalam daftar) dan tekan Enter
  4. Anda kemudian akan mendapatkan layar pesan kesalahan. Namun, Anda hanya perlu mengetikkan 'live' untuk mencoba OS atau 'live-install' dan tekan enter untuk menginstalnya, dan semua harus pergi dengan berenang ....
Amphibio
sumber
Bisakah Anda mengetahui versi firmware yang Anda jalankan? Jika instalasi sekarang berfungsi sebagaimana dimaksud, itu luar biasa, tetapi mungkin hanya model tertentu. Mungkin pembaruan firmware akan menyederhanakan proses pada model saya. Saya akan menginstal ulang kedua OS sehingga saya dapat mengatur ulang partisi saya dan mencoba distribusi yang berbeda di minggu ini, dan saya berencana menggunakan panduan saya, tetapi jika versi firmware Anda berbeda dari milik saya, saya mungkin akan mencoba memutakhirkan terlebih dahulu.
Michael Hoffmann
Yap, instalasi dan dual boot tampaknya berfungsi dengan baik. Saya tidak yakin persis bagaimana menemukan versi firmware BIOS / motherboard (jika itu yang Anda inginkan). Saya mencoba 'sudo dmidecode' tetapi ia mengeluarkan lebih banyak info daripada yang saya butuhkan ...
Amphibio
Jika Anda menekan ESC saat boot, harus ada opsi untuk pengaturan BIOS atau pengaturan firmware. Harus ada Tentang atau sesuatu di sana.
Michael Hoffmann
1
OK keren. Versi BIOS-nya adalah F. 10. Komputer 'Born on Date' adalah dari 2015, dan OS yang diinstal pabrik adalah windows 7, jika itu membuat perbedaan ...
Amphibio
Umm, itu untuk mem-boot USB langsung dalam mode BIOS, saat ini tentang mode UEFI, dan memiliki sistem dual boot di mana Grub di-boot pertama kali.
RoundDuckMan
0

Mengambil inspirasi (jujur, lebih seperti merobek dari jawaban dan kemudian merampingkannya karena terlalu rumit) dari jawaban tertentu di sini (khususnya, jawaban super detail Anda di sini), berikut adalah cara untuk mencapai ini, juga meminjam dari posting T&J saya baru-baru ini ( Dapatkah saya menginstal Windows setelah menginstal Ubuntu di UEFI? ).

Cara pertama, dan termudah, karena UEFI memprioritaskan sistem yang pertama kali diinstal (setidaknya dalam sistem HP ini, saya memiliki HP OMEN di mana saya mencapainya) daripada tradisi memprioritaskan pemasangan terbaru. Mungkin saja ini bisa terjadi karena UEFI mendukung banyak bootloader secara asli.

Itu berarti bahwa untuk memprioritaskan Grub Ubuntu, Anda harus menginstal Ubuntu terlebih dahulu. Sekarang jangan khawatir tentang ini, karena Windows 10 akan menginstal dengan baik bersama Ubuntu setelahnya, buat saja partisi Windows di installer Windows, lalu instal.

Kemudian, setelah semuanya diatur, kemudian mencoba untuk reboot dari Windows, atau, tentu saja Anda harus melakukan ini sebelum mem-boot ke Ubuntu, matikan opsi mulai cepat dengan pergi ke opsi daya, kemudian pergi "memilih apa yang tombol daya tidak lakukan , "dan hapus centang pada kotak centang" nyalakan startup cepat ".

Sekarang cara lain adalah melalui efibootmgr. Saya tidak punya banyak pengalaman dengan ini, jadi saya memutuskan untuk meminjam dari pria hebat yang tahu seluk beluk UEFI, Rod Smith yang baik. Dia membuat jawaban untuk pertanyaan di sini: Ubah urutan boot menggunakan efibootmgr . Inilah yang dia katakan kata demi kata:

Pertama, keluhan bahwa file boot jauh dari awal disk tidak relevan pada komputer booting EFI. Ada batasan di bawah BIOS (yang bervariasi tergantung pada berapa usia BIOS), tetapi bahkan di bawah BIOS (modern), disk 750GB Anda seharusnya tidak menimbulkan masalah.

Kedua, Anda dapat mengubah BootOrdervariabel dengan efibootmgr's -opilihan, seperti di:

sudo efibootmgr -o 0,1,2

Perintah ini akan mengatur dua ubuntuinstance terlebih dahulu, diikuti oleh Windows Boot Managerentri. Itu harus melakukan trik. Sayangnya, beberapa EFI bermasalah, dan "lupa" BootOrderentri atau perilaku buruk. Jika Anda memiliki masalah, saya sarankan mencoba perintah berikut di jendela Prompt Perintah Administrator Windows:

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

(Jika Anda telah menonaktifkan Boot Aman, Anda dapat menggantinya shimx64.efidengan grubx64.efi, walaupun keduanya seharusnya bekerja dengan Boot Aman dinonaktifkan.)

Jika itu gagal, maka firmware Anda mungkin rusak. Mungkin ada pembaruan yang tersedia dari HP. Jika tidak, atau jika tidak membantu, dan jika Anda berada dalam periode pengembalian untuk komputer Anda, kembalikan untuk pengembalian dana dan dapatkan sesuatu yang tidak rusak. Jika Anda tidak bisa melakukan itu, maka Anda berada di wilayah solusi yang sangat jelek, seperti mengganti nama GRUB sehingga berpura-pura menjadi boot loader Windows. Lihat di sini untuk beberapa informasi tentang topik itu, walaupun ditulis khusus untuk rEFInd. Prinsip dasar berlaku untuk apa pun.

Jadi pada dasarnya, gunakan efibootmgr untuk mengubah urutan boot. Setelah Anda melakukannya dengan benar, Anda harus memiliki Ubuntu alih-alih boot Windows terlebih dahulu. :)

Saya harap semua itu membantu!

RoundDuckMan
sumber