Parece que instalar Ubuntu en un disco duro externo no es posible con UEFI, donde como con MBR no hubo una gran diferencia entre externo e interno. ¿Es eso cierto o todavía es posible?
¿Es posible combinar ambos métodos de arranque?
fuente
Parece que instalar Ubuntu en un disco duro externo no es posible con UEFI, donde como con MBR no hubo una gran diferencia entre externo e interno. ¿Es eso cierto o todavía es posible?
¿Es posible combinar ambos métodos de arranque?
De hecho es posible .
Antes de continuar, estas instrucciones están destinadas a particiones de sistema EFI (ESP) en blanco y probablemente sobrescribirán los archivos existentes o no funcionarán como se esperaba. ¡Al menos haga copias de seguridad!
Plataformas: PC heredada, computadora Windows basada en UEFI, computadora Apple
Debe seguir estas instrucciones desde otra instalación o medios en vivo.
Instala el grub-efi-amd64-bin
paquete. Esto solo instalará los recursos necesarios. No cambiará su instalación de estilo MBR existente a UEFI y cambiará las cosas.
Reduzca su partición de Ubuntu en GParted para hacer espacio para un ESP. Los tamaños recomendados para ESP varían de 100 MB a 500 MB, pero los archivos creados siguiendo estas instrucciones aquí no requerirán más de 2 a 5 megabytes.
Nota: No debería importar dónde se encuentre su ESP en el disco y reducir su partición de Ubuntu en unos pocos megabytes desde el final debería ser rápido y seguro. Reducirse al principio no es seguro . Sin embargo, una advertencia, su ESP debe ser una partición primaria y no parte de una partición extendida o un volumen lógico, los números de partición del 1 al 4 están bien, los números anteriores indican una partición extendida en las tablas de partición MBR.
Elija FAT32 como sistema de archivos y establezca el indicador de arranque.
Monte el ESP que acaba de crear y el sistema de archivos raíz que redujo:
mkdir -p /mnt/esp
mount $esp_device /mnt/esp
mkdir -p /mnt/rootfs
mount $root_device /mnt/rootfs
Nota: Reemplace
$esp_device
y$root_device
con los dispositivos apropiados, por ejemplo,/dev/sdb2
y/dev/sdb1
. Los puntos de montaje/mnt/esp
y/mnt/rootfs
son solo ejemplos elegidos para trabajar con la parte restante de esta respuesta.
Instale la imagen EFI de GRUB y un archivo de configuración mínima con:
grub-install --efi-directory /mnt/esp --boot-directory /mnt/rootfs/boot --target x86_64-efi --removable $device
Tenga en cuenta que
$device
es todo el dispositivo/dev/sdb
, por ejemplo , no una partición.
Eso es todo, ya hemos terminado, pero déjenme intentar explicar algunas cosas.
El parámetro --target x86_64-efi
asegurará que las imágenes y módulos UEFI se instalen en las rutas dadas. --removable
instalará la imagen UEFI en la ruta codificada \EFI\BOOT\BOOT{arch}.EFI
para medios extraíbles, en lugar de una ruta específica de distribución. Su grub.cfg
en /boot/grub/
debe trabajar con ambos métodos de arranque y una nueva carpeta llamada x86_64-efi
ahora debe existir al lado i386-pc
.
Para completar, este es el comando para medios no extraíbles que escribe y se basa en entradas de NVRAM en la plataforma:
grub-install --efi-directory /mnt/esp --boot-directory /mnt/rootfs/boot --target x86_64-efi --bootloader-id "Ubuntu" $device
Las instalaciones UEFI adecuadas incluyen una línea similar a la que se muestra a continuación /etc/fstab
, pero la configuración es funcional sin ella y la imagen UEFI (similar al gestor de arranque MBR) generalmente solo se escribe / actualiza durante la instalación del sistema operativo.
UUID=1234-567F /boot/efi vfat defaults 0 1
Agregar un ESP a una instalación heredada en una unidad particionada GPT es muy similar a lo anterior:
grub-efi-amd64-bin
paquete.boot
indicador.grub-install
comando desde arriba que incluye el --removable
parámetro.Esto también funciona si solo desea iniciar su instalación UEFI existente en otra computadora.
Crear una partición de arranque del BIOS (BBP) para GRUB es un poco diferente:
Instala el grub-pc-bin
paquete.
Cree una partición similar a las instrucciones anteriores cambiando el tamaño de la partición raíz y establezca el bios_grub
indicador. Elija sin sistema de archivos y déjelo sin formato.
Edite el archivo de configuración /etc/default/grub
con derechos administrativos y agréguelo GRUB_DEVICE=/dev/sdb6
al final. Reemplace /dev/sdb6
con el nombre real del dispositivo de su BBP. Puede usar el editor de línea de comandos nano para mantener las cosas simples.
Instale la imagen GRUB MBR en el BBP con:
grub-install --boot-directory /mnt/test/boot/ --target i386-pc $device
Es posible que desee eliminar o comentar la línea /etc/default/grub
y agregarla a la instalación real.
Descubrí que la nueva Mac (Mac Mini A1347 EMC 2840) con la que estaba probando podía arrancar desde un ESP FAT32 estándar, ¡incluso desde MBR! De todos modos, aquí vamos:
Instalar los grub-efi-amd64-bin
, hfsprogs
, mactel-boot
y mactel-boot-logo
(opcional) paquetes. Debe habilitar los repositorios de Universe ( ¿Cómo habilito el repositorio de "Universe" desde la línea de comandos? ) Y agregar el PPA de soporte de Mactel actual (consulte el equipo de la Comunidad de Soporte de Mactel para obtener más detalles) para instalarlos.
Cree una partición con un sistema de archivos HFS + similar a las instrucciones anteriores cambiando el tamaño de la partición raíz. Esta vez necesitamos unos pocos megabytes más de espacio, así que duplica el tamaño del ESP si antes solo tenías 5 megabytes o menos. No se requiere bandera.
Monta las particiones:
mkdir -p /mnt/esp-mac
mount $esp-mac_device /mnt/esp-mac
mkdir -p /mnt/rootfs
mount $root_device /mnt/rootfs
Nota: Elegí
$esp-mac_device
y/mnt/esp-mac
para evitar conflictos.
Ejecute el grub-install
comando que incluye el --removable
parámetro:
grub-install --efi-directory /mnt/esp-mac --boot-directory /mnt/rootfs/boot --target x86_64-efi --removable $device
Finalmente, configure la partición de la forma en que una Mac espera que sea:
sudo hfs-bless /mnt/esp-mac/EFI/BOOT/bootx64.efi
sudo cp -v /mnt/esp-mac/EFI/BOOT/bootx64.efi /mnt/esp-mac/System/Library/CoreServices/boot.efi
sudo cp -v /mnt/esp-mac/EFI/BOOT/grub.cfg /mnt/esp-mac/System/Library/CoreServices/grub.cfg
sudo cp -v /usr/share/mactel-boot/SystemVersion.plist /mnt/esp-mac/System/Library/CoreServices/SystemVersion.plist
sudo cp -v /usr/share/mactel-boot-logo/ubuntu.icns /mnt/esp-mac/.VolumeIcon.icns
echo "Dummy kernel for booting" | sudo tee /mnt/esp-mac/mach_kernel
Para iniciar Ubuntu desde un medio externo en una Mac, ahora solo necesitaría presionar la tecla de opción ⌥ o Alten los teclados de Windows y seleccionar el disco correcto.
Para ser lo más preciso posible, el indicador de arranque no es importante para GRUB, de forma predeterminada, GRUB busca UUID para encontrar el sistema de archivos adecuado desde el que iniciar. Establecer el indicador de inicio o el indicador bios_grub en GParted generalmente establece un tipo (MBR) o GUID (GPT) para la partición.
El beneficio de establecer el tipo o GUID correcto, además de tener una configuración que funcione correctamente, es que estas particiones estarán ocultas en el administrador de archivos. La forma más fácil de verificar y cambiar tipos y GUID es a través de Disks ( gnome-disks
).
Alternativamente, puede usar parted o gdisk:
Wikipedia tiene una gran lista de GUID para GPT .
Los equivalentes de la línea de comandos parted
según el manual son parted $device set partition esp on
y parted $device set partition bios_grub on
.
/boot/
no encontrado". Lagrub.cfg
partición en ESP apunta al UUID derecho. ¿Algunas ideas? Estaré encantado de publicar una nueva pregunta.