Bagaimana saya bisa mencegah Windows dari menimpa GRUB saat menggunakan mesin dual-boot


19

Saya telah membaca banyak tentang dual-boot, dan sepertinya semudah memuat Windows dan kemudian memuat Linux dengan GRUB, tetapi semua orang mengatakan bahwa Windows suka membuang GRUB ketika ada kesempatan. Apa saja langkah yang dapat saya ambil untuk mencegah hal ini terjadi (selain menggunakan bootloader Windows, saya ingin membuat ini sesederhana mungkin)?


Jawaban:


17

Windows akan menimpa boot sector setiap kali Anda menginstal itu, meng-upgrade ke versi baru, atau penggunaan alat-alat seperti bootrec /fixmbr, bootrec /fixboot, atau lebih tua fdisk /mbr. Secara umum, instal Windows terlebih dahulu, lalu Linux. Sektor boot akan tetap bertahan sampai Anda melakukan salah satu hal di atas. (Dan mungkin ada juga cara lain untuk menulis ke MBR.) Tapi, jika Anda kehilangan GRUB, itu mudah dipulihkan:

  • Boot dari live CD (CD / DVD atau flash drive).
  • Menjadi root atau gunakan sudodengan perintah di bawah ini.
  • Daftar partisi yang tersedia jika diperlukan: fdisk -l
  • Windows hampir pasti ada di / dev / sda1: mount /dev/sda1 /mnt
  • Instal ulang GRUB di MBR: grub-install --root-directory=/mnt/ /dev/sda
  • Mulai ulang: shutdown -r now
  • Pulihkan menu GRUB: update-grub

Anda juga dapat menginstal 100% Unix, Linux, atau BSD dan cukup menjalankan Windows di mesin virtual jika komputer cukup kuat untuk itu.

Juga: BIOS komputer Anda mungkin memiliki opsi untuk melindungi sektor boot.


Dengan memutakhirkan, apakah maksud Anda Windows 7 hingga Windows 8 atau hanya menjalankan Pembaruan Windows?
Nathan2055

1
@ Nathan2055 Ya, seperti 7 hingga 8 ... baru, versi Windows yang lebih tinggi. Pembaruan Windows tidak akan memengaruhi MBR.
Christopher

Saya pikir juga begitu. Yang bagus adalah saya ragu saya akan mengacaukan MBR di Windows, dan tidak ada cara saya akan ke Windows 8 setelah membaca ini .
Nathan2055

1
Sebagai alternatif, Anda dapat mencoba mengkonfigurasi bootloader windows ke chainload ke grub: oreillynet.com/pub/h/2337 Sedikit lebih terlibat dan mungkin terlalu banyak bekerja untuk efek terlalu sedikit, tetapi melakukannya dengan cara itu membuatnya jadi jika Windows menimpa bootloader, Anda masih dapat boot ke Linux.
Bratchley

@ JoelDavis: Ya, saya sudah membaca beberapa tutorial tentang melakukan itu, tetapi untuk seseorang yang sama sekali tidak memiliki pengalaman bahkan memuat GRUB dan fakta bahwa saya tidak berpikir Windows akan memberi saya masalah, mengingat saya tidak ingin meningkatkan, Saya pikir saya akan pergi dengan setup GRUB vanilla dan tidak main-main dengan bootloader.
Nathan2055

4

Saya pikir saya akan pergi dengan setup GRUB vanilla dan tidak main-main dengan bootloader.

Jika Anda menggunakan segala bentuk grub, Anda mengacaukan boot loader. GRUB adalah singkatan dari "grand unified bootloader". Dan ada dua versi - grub v1 dan grub v2. Semua sistem linux modern menggunakan grub2 secara otomatis. Jika Anda menginstal sistem linux apa pun, grub adalah bootloader default kecuali Anda secara khusus menggunakan LILO, yang tidak saya sarankan.

Saya pribadi memiliki sistem dual boot dengan xp dan Wheezy. Saya menjaga xp agar tidak menulis grub dengan menonaktifkan opsi "windows restore".

Sebelum saya menonaktifkan opsi restore, saya harus memperbaiki grub setidaknya seminggu sekali karena windows bootloader terus menimpa grub.

Saya memperbaiki untuk menginstal windows 8 pada hard drive eksternal melalui port usb. Saya berharap ini berjalan tanpa hambatan dan tidak mengacaukan mbr saya.


1
menonaktifkan opsi mengembalikan windows tampaknya telah memperbaiki masalah ini untuk saya.
DrCord

2

Ini adalah solusi yang saya gunakan, ini bekerja dengan pembaruan Windows tanpa diperlukan intervensi: Ganti nama EFI / Microsoft Anda di EFI / Microsomething Ganti Path Boot Windows di grub.cfg ke EFI / Microsomething / bootmfgw.efi Seperti ini:

menuentry "Microsoft Windows UEFI-GPT" {
    insmod part_gpt
    insmod fat
    insmod search_fs_uuid
    insmod chain
    search --fs-uuid --set=root <PROVIDE YOUR EFI DRIVE UUID>
    chainloader /EFI/Microsomething/Boot/bootmgfw.efi
}

1

Cukup buka gparted, klik kanan partisi yang memiliki Grub di dalamnya, pergi untuk mengelola flag dan menandai boot.


2
Ini dapat bekerja jika instalasi Windows hanya mengubah partisi boot. Dalam kasus saya, menginstal Windows 8.1 menimpa MBR, membutuhkan grub-installsolusi Christopher .
Nathan Kidd

1

Sebuah solusi yang saya temukan di suatu tempat online (unix.stackexchange.com) melibatkan menonaktifkan windows boot manager. Masuk ke Linux (baik instalasi asli, jika Anda bisa atau live CD / DVD) dan jalankan perintah ini:

efibootmgr

Perhatikan bahwa metode ini hanya akan berfungsi jika Linux telah diinstal dalam mode UEFI, jadi Anda akan mendapatkan kesalahan jika Linux telah diinstal dalam mode Legacy. Jika Anda menginstalnya dalam mode UEFI, Anda akan mendapatkan beberapa info dan daftar. Anda akan melihat boot loader / manajer Windows dan Linux di suatu tempat dalam daftar. Kemungkinan Windows akan memiliki prioritas lebih tinggi (urutan boot di atas daftar).

Ada juga bintang * di samping beberapa, jika tidak semua, dari entri, menandainya aktif.

Lihatlah nomor boot 4 digit di sebelah entri Windows dan jalankan

sudo efibootmgr --bootnum #### --inactive

Ini akan menonaktifkan entri Windows. Juga, pastikan bahwa Windows yang dinonaktifkan sekarang memiliki prioritas lebih tinggi jika belum:

sudo efibootmgr --bootorder ####,$$$$,&&&&,%%%%

di mana #### adalah nomor boot Windows.

Jika Anda reboot sekarang, Anda akan boot ke grub, jika opsi Linux diaktifkan dengan prioritas tertinggi.

Perhatikan bahwa Windows tampaknya tidak mengenali bahwa itu telah dinonaktifkan, jadi ini tidak akan dikembalikan dengan mem-boot ke Windows atau memperbaruinya.

Saya berpartisipasi dalam installfest Linux lokal tempat kami menginstal Linux untuk orang-orang yang tertarik, paling sering sebagai OS sekunder di sebelah Windows. Saya belum melihat metode ini gagal, dan saya sudah mencobanya di beberapa distro (kebanyakan Ubuntu dan Mint) dan beberapa vendor (Asus, Acer, HP, Lenovo).


0

Windows 10 menimpa GRUB 2 saat Anda mengubah warna teks, ukuran, font, atau judul entri menu.

Ada dua cara untuk menyelesaikan ini.

  1. Anda dapat menginstal Linux dalam Mode Legacy (Pengaturan BIOS> Boot> Dukungan Legacy + Legacy First).

  2. Anda dapat menonaktifkan MATI pemulihan Windows (alias Perlindungan Sistem) (Panel Kontrol> Sistem & Keamanan> Sistem> Perlindungan Sistem> Konfigurasi> Nonaktifkan).

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.