¿Cómo puedo evitar que Windows sobrescriba GRUB cuando uso una máquina de arranque dual?

19

He estado leyendo mucho sobre el arranque dual, y parece tan fácil como cargar Windows y luego cargar Linux con GRUB, pero todos dicen que a Windows le encanta tirar basura a GRUB cuando tiene la oportunidad. ¿Cuáles son algunos pasos que puedo seguir para evitar que esto suceda (aparte de usar el cargador de arranque de Windows, quiero que esto sea lo más simple posible)?

Nathan2055
fuente
1
Relacionado: Cómo recuperar grub después de la instalación de Windows
Gilles 'SO- deja de ser malvado'

Respuestas:

17

Windows sobrescribir el sector de arranque cada vez que instale, actualizarlo a una nueva versión, o utilizar herramientas gustaría bootrec /fixmbr, bootrec /fixbooto el más viejo fdisk /mbr. En general, instale Windows primero, luego Linux. El sector de arranque permanecerá en su lugar hasta que realice una de las cosas anteriores. (Y quizás también hay otras formas de escribir en el MBR). Pero, si pierde GRUB, se restaura fácilmente:

  • Arranque desde un CD en vivo (CD / DVD o unidad flash).
  • Conviértase en root o use sudocon los comandos a continuación.
  • Enumere las particiones disponibles si es necesario: fdisk -l
  • Windows casi seguramente existirá en / dev / sda1: mount /dev/sda1 /mnt
  • Vuelva a instalar GRUB en el MBR: grub-install --root-directory=/mnt/ /dev/sda
  • Reiniciar: shutdown -r now
  • Restaurar el menú de GRUB: update-grub

También puede instalar 100% Unix, Linux o BSD y simplemente ejecutar Windows en una máquina virtual si la computadora es lo suficientemente fuerte para eso.

Además: el BIOS de su computadora puede tener una opción para proteger el sector de arranque.

Christopher
fuente
Al actualizar, ¿se refiere a Windows 7 a Windows 8 o simplemente ejecuta Windows Update?
Nathan2055
1
@ Nathan2055 Sí, como 7 a 8 ... nuevas versiones superiores de Windows. Windows Update no afectará el MBR.
Christopher
Ya me lo imaginaba. Lo bueno es que dudo que esté jugando con el MBR en Windows, y no hay forma de que vaya a Windows 8 después de leer esto .
Nathan2055
1
Como alternativa, puede intentar configurar el gestor de arranque de Windows para cargar en cadena a grub: oreillynet.com/pub/h/2337 Un poco más involucrado y puede ser demasiado trabajo para muy poco efecto, pero hacerlo de esa manera lo hace así si Windows sobrescribe el gestor de arranque, aún podrá arrancar en Linux.
Bratchley
@JoelDavis: Sí, he leído varios tutoriales para hacerlo, pero para alguien que no tiene absolutamente ninguna experiencia incluso cargando GRUB y el hecho de que no creo que Windows me cause problemas, considerando que no quiero actualizar, Creo que iré con una configuración GRUB de vainilla y no me meteré con el gestor de arranque.
Nathan2055
4

Creo que iré con una configuración GRUB de vainilla y no me meteré con el gestor de arranque.

Si usa cualquier forma de grub, está jugando con el gestor de arranque. GRUB significa "gran gestor de arranque unificado". Y hay dos versiones: grub v1 y grub v2. Todos los sistemas linux modernos usan grub2 automáticamente. Si instala algún sistema Linux, Grub es el gestor de arranque predeterminado a menos que vaya específicamente con LILO, lo cual no sugeriría.

Personalmente, tengo un sistema de arranque dual con XP y Wheezy. Evito que xp sobreescriba grub deshabilitando la opción "restaurar Windows".

Antes de deshabilitar la opción de restauración, tendría que arreglar grub al menos una vez por semana ya que el gestor de arranque de Windows sobrescribía grub.

Estoy arreglando instalar Windows 8 en un disco duro externo a través de un puerto USB. Espero que esto funcione sin problemas y no se meta con mi mbr.

Jenn
fuente
1
deshabilitar la opción de restauración de Windows parece haber solucionado este problema para mí.
DrCord
2

Esta es una solución alternativa que uso, funciona con actualizaciones de Windows sin necesidad de intervención: cambie el nombre de su EFI / Microsoft en EFI / Microsomething Reemplace la ruta de inicio de Windows en grub.cfg a EFI / Microsomething / bootmfgw.efi Así:

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
}
nulleight
fuente
1

Simplemente abra gparted, haga clic derecho en la partición que tiene Grub, vaya a administrar banderas y marque el inicio.

John Milionis
fuente
2
Esto puede funcionar si la instalación de Windows simplemente cambió la partición de arranque. En mi caso, la instalación de Windows 8.1 sobrescribió el MBR, lo que requiere la grub-installsolución de Christopher .
Nathan Kidd
1

Una solución que encontré en algún lugar en línea (unix.stackexchange.com) implica desactivar el administrador de arranque de Windows. Ingrese a Linux (ya sea la instalación original, si puede o CD / DVD en vivo) y ejecute este comando:

efibootmgr

Tenga en cuenta que este método solo funcionará si Linux se ha instalado en modo UEFI, por lo que obtendrá un error si Linux se ha instalado en modo Legacy. Si lo instaló en modo UEFI, obtendrá información y una lista. Notarás el gestor / gestor de arranque de Windows y Linux en algún lugar de la lista. Es probable que Windows tenga mayor prioridad (el orden de inicio está por encima de la lista).

También hay estrellas * junto a algunas, si no todas, de las entradas, que las marcan como activas.

Mire el número de arranque de 4 dígitos junto a la entrada de Windows y ejecute

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

Esto desactivará la entrada de Windows. Además, asegúrese de que Windows desactivado ahora tenga mayor prioridad si aún no lo hace:

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

donde #### es el número de arranque de Windows.

Si reinicia ahora, arrancará a grub, si la opción Linux está habilitada con la máxima prioridad.

Tenga en cuenta que Windows no parece reconocer que se ha desactivado, por lo que esto no se revertirá al iniciar Windows o actualizarlo.

Participé en una instalación de Linux local donde instalamos Linux para las personas interesadas, más a menudo como un sistema operativo secundario al lado de Windows. Todavía no he visto fallar este método, y lo he probado en varias distribuciones (principalmente Ubuntu y Mint) y en varios proveedores (Asus, Acer, HP, Lenovo).

Karlovsky120
fuente
0

Windows 10 sobrescribe GRUB 2 cuando cambia el color del texto, el tamaño, la fuente o los títulos de las entradas del menú.

Hay dos formas de resolver esto.

  1. Puede instalar Linux en modo heredado (Configuración del BIOS> Arranque> Soporte heredado + Legado primero).

  2. Puede desactivar la restauración de Windows (también conocida como Protección del sistema) (Panel de control> Sistema y seguridad> Sistema> Protección del sistema> Configurar> Desactivar).

Anónimo
fuente