Primero, es CRÍTICO que entiendas tu modo de arranque. Las computadoras modernas pueden arrancar de dos maneras:
- BIOS : esta es la antigua forma de arranque, que se usaba en la mayoría de las computadoras introducidas antes de 2011. Las computadoras modernas admiten el arranque en modo BIOS a través de una función llamada Módulo de compatibilidad (CSM), también conocido como "soporte de arranque en modo heredado" o Un término similar. Por lo tanto, se puede hacer referencia a este método con tres nombres: BIOS, CSM o heredado. Implica código de cargador de arranque de 16 bits en el Registro de arranque maestro (MBR) y en otros lugares. Es un método de arranque poco elegante pero maduro, y la mayoría de los sitios que no mencionan explícitamente el modo de arranque describen el arranque en modo BIOS. Sin embargo, si su computadora vino con Windows 8 o posterior, es probable que no use este método de arranque.
- EFI / UEFI : este es el modo de arranque nativo para la mayoría de las computadoras introducidas desde mediados de 2011, y es completamente diferente del arranque en modo BIOS, por lo que debe ignorar cualquier consejo que indique explícitamente que es para el arranque en modo BIOS, o cualquier cosa que no menciona el modo de arranque (ya que es probable que sea antiguo o esté escrito por alguien que no conoce la diferencia). Una excepción: confusamente, muchas personas, e incluso fabricantes de computadoras, se refieren a sus EFI como "BIOS". Esta práctica crea mucha confusión.
Como menciona Windows 10, es probable que su computadora esté basada en EFI y arranque en modo EFI. Procederé bajo esa suposición. Si esto es incorrecto, ignore el resto de esta respuesta.
Para iniciar un disco interno en modo EFI, el sistema operativo generalmente almacena un cargador de inicio como un archivo en la partición del sistema EFI (ESP) en el disco. Este nombre de archivo puede ser legal, pero para Ubuntu lo será EFI/ubuntu/shimx64.efi
, lo que a su vez se inicia EFI/ubuntu/grubx64.efi
. El instalador del sistema operativo registra el nombre del gestor de arranque con el administrador de arranque incorporado de EFI, que almacena ese nombre en NVRAM. Si el EFI funciona correctamente (no todos lo hacen), esto resulta en un proceso de arranque que funciona.
El problema con este proceso, tal como se aplica a un disco extraíble, es triple:
- El instalador de Ubuntu instalará GRUB en "el" ESP, pero es posible que tenga varios ESP disponibles (casi seguramente uno en el disco duro y tal vez uno en la unidad USB). Controlar dónde se instala GRUB puede ser complicado. Se no hace usando la opción marcada con el título obvio acerca de dónde instalar GRUB. En cambio, se puede hacer (AFAIK) solo desde la opción de instalación "Something Else" marcando el ESP que desea usar como "Partición de arranque EFI" o "Partición del sistema EFI" (cuyo nombre depende de la versión de Ubuntu).
- Si instala GRUB en el ESP en la unidad USB, cuando extraiga la unidad USB, el EFI puede notar que tiene una entrada de cargador de arranque registrada que no es válida y eliminar esa entrada. Muchos EFI hacen esto, y significa que si instala GRUB en un disco externo y luego lo desenchufa, pierde la capacidad de iniciar desde ese disco, incluso cuando vuelve a enchufarlo.
- La forma en que Ubuntu configura GRUB hace que se base en archivos de configuración que están en el
/boot/grub
directorio de Ubuntu , que probablemente no esté en el ESP. Por lo tanto, si Ubuntu instala GRUB en el ESP en su disco interno, evitará el primer problema pero se encontrará con otro porque cuando inicia con la unidad USB desconectada, GRUB se iniciará y no podrá encontrar sus archivos de configuración. El resultado es un grub>
aviso que desconcertará a la mayoría de los usuarios.
Existen varias soluciones a estos problemas, que incluyen:
- Instalación manual de GRUB en el nombre de archivo alternativo en el disco externo : los instaladores del SO se inician utilizando un nombre de archivo alternativo de
EFI/BOOT/bootx64.efi
. Si copia cuña (que lanzamientos grub) a este nombre de archivo (copiando EFI/ubuntu
a EFI/BOOT
la ESP y luego cambiar el nombre shimx64.efi
al bootx64.efi
deEFI/BOOT
), su firmware podrá iniciar su GRUB basado en USB tal como lo hizo con el instalador de Ubuntu. Esto funcionará más allá de los dos problemas que acabo de identificar, pero necesitará usar el administrador de arranque incorporado de la computadora para seleccionar qué sistema operativo arrancar. Este gestor de arranque incorporado varía de inutilizable a tolerable, por lo que puede ser o no una solución aceptable. También es posible que necesite ajustar su orden de arranque después de instalar Ubuntu para evitar que inicie GRUB desde el ESP del disco interno o el ESP del disco externo de forma predeterminada.
- Coloque una
/boot
partición en su disco interno : si instala GRUB en el disco interno, también puede colocar una /boot
partición en el disco interno. Esto permitirá que GRUB funcione normalmente en todas las botas; sin embargo, la opción de Ubuntu aparecerá todo el tiempo, incluso cuando el disco USB esté desconectado. Esto puede ser indeseable, especialmente si Ubuntu es el predeterminado. Además, esta solución significa que su unidad USB externa será arrancable solo en la computadora en la que la preparó. Si desea poder usar ese disco en otras computadoras, debe evitar esta solución.
- Use un administrador de arranque más inteligente : un administrador de arranque le ofrece una selección de sistemas operativos para arrancar, mientras que un cargador de arranque carga un núcleo en la memoria. GRUB realiza ambos trabajos y el administrador de arranque integrado de EFI solo realiza el primer trabajo. Hay otros gestores de arranque disponibles, algunos de los cuales pueden ayudarlo a evitar los problemas que he identificado. Mi propio rEFInd, por ejemplo, si se instala en el ESP del disco interno y se hace el programa de arranque predeterminado, detectará y presentará una opción de Ubuntu si y solo si GRUB o un kernel de Linux están presentes, es decir, cuando la unidad USB está conectada in. Al configurar la
default_selection
opción enrefind.conf
apropiadamente, puede configurar rEFInd para iniciar Ubuntu automáticamente si su unidad USB Ubuntu está conectada y arrancar directamente a Windows si la unidad USB Ubuntu no está conectada. Mi respuesta a esta pregunta proporciona más detalles sobre este tipo de configuración, aunque en una Mac en lugar de una PC.
Con suerte, uno de estos enfoques lo pondrá en funcionamiento.