Fuente:
http://gnulinuxvagos.es/topic/1818-debian-gnulinux-amd64-y-uefi
Gracias a hkoster1 de los foros de Debian User Forums por este magnífico Tuto:
Propósito de este Tutorial:
La manera más simple de lidiar con el arranque UEFI es utilizar el último instalador de Debian, disponible para la versión Amd64 de Wheezy y posteriores en un equipo Con UEFI, provisto de una tabla de particiones GUID(GPT).
Teniendo esto, no es necesario seguir el tutorial que viene a continuación, el trabajo ya estaría hecho. En el resto de casos, el siguiente tutorial describe como podrías migrar a UEFI, partiendo desde una instalación inicial usando una instalación tradicional BIOS, en un equipo que soporta tanto BIOS como UEFI.
El tutorial se divide en dos partes, siendo laprimera el proceso en sí y la segunda, las opciones de arranque disponibles.
NOTA Este turotial no tiene nada que decir sobre iniciar kernels certificados en hardware UEFI... eso es otra historia diferente.
AMD64 Debian Installer y UEFI
El tutorial se aplica a la arquitectura Amd64, en el que primero instalamos la última Wheezy (o versión superior) con el firmware colocado en modo "legacy BIOS" de la manera que se ha hecho toda la vida. Después del primer reinicio (Todavía en modo Legacy) la instalación será modificada para el arranque UEFI
El tutorial se centra en cómo debe realizarse el proceso cuando Debian GNU/Linux es el único sistema operativo. Para una instalación en Dual-boot junto a "Ese os cuyo nombre no debe ser pronunciado" habría que tener un poco más de cuidado a la hora de particionar el disco duro, pero por lo demás el proceso es muy similar.
El ejemplo aquí mostrado se ha llevado a cabo en VMware Fusion (version 5), la cual utiliza el modo BIOS por defecto y puede ser posteriormente cambiado a modo UEFI.
1. Particionar el disco duro
Duro. Otra forma de hacerlo, también con PartedMagic, para cuando ya tenemos un sistema operativo instalado, en cuyo caso, la
UEFI is often partnered with the GUID Partition Table (GPT), just as BIOS and the MBR Partition Table are thought to belong together. Fact is, though, that both partition tables can be used with either UEFI or BIOS. GPT offers many advantages over MBR partitioning, not in the least since it does away with the distinction between primary and logical partitions. The D-I partitioner knows about GPT, but has no option to install it, so this must be taken care of before starting the D-I.
La manera recomendada de instalar GPT es arrancando con un Live-CD (64-bits), como puede ser PartedMagic, pero tenga en cuanta que al hacerlo se borrará el contenido del disco EFI System Partition (ESP) podría ser demasiado pequeña para almacenar en ella los bootloaders. Un tamaño suficiente para la partición ESP serían 250 MB, o algo más en el caso de que queramos incluir también imágenes del kernel den la ESP.
Deberíamos tener siempre una copia del contenido de dicha partición, para que en caso de querer redimensionar o reposicionar la ESP, podamos trabajar sin reparos con PartedMagic y luego reponer los datos desde nuestra copia de seguridad.
En cualquier caso, el formato de esta partición debería ser "FAT32" (o EFI boot filesystem); no es necesario que sea la primera partición primaria (como suele ocurrir con el innombrable), pero nos simplificará las cosas si hacemos que así sea.
También podríamos decidir (después de realizar una copia de seguridad del sistema instalado) redimensionar o crear de nuevo las particiones del disco duro, quizá con GPT, la indispinsable partición ESP y una partición nueva para otro sistema operativo, además de, por supuesto, suficiente espacio libre para Debian GNU/Linux; y entonces re/instalar el otro sistema antes de iniciar el instalador de Debian (Siempre asegurándonos de no modificar las particiones que previamente hemos realizado durante el proceso de instalación del sistema operativo).
2. Instalando Debian GNU/Linux
Con el disco duro preparado y el equipo en modo "legacy BIOS", inicie la instalación de Debian Amd64 de la manera habitual, teniendo en cuenta, como acabamos de decir, que el instalador no modifique las particiones IMPORTANTE: Elija el modo manual al llegar a ese punto de la instalación
Recordemos que La partición para el sistema EFI, si no la hemos hecho todavía, debe ser, al menos, de 250MB, sistema de ficheros FAT32 y no se especificará ningún punto de montaje para la misma.Es conveniente también que la ESP sea la primera partición primaria, por lo cual a partir de este punto del tutorial la trataremos siempre como /dev/sda1
También reservaremos de 1MB para BIOSGRUB (Reserved BIOS boot area) al final del espacio libre del disco. Esta minipartición puede ser requerida después de que el arranque UEFI sea configurado. NOTA En modo automático, el instalador de Debian podría colocar esta partición en primer lugar (/dev/sda1) y no queremos eso.
El espacio restante lo podemos particionar como queramos, para luego seguir con el proceso de instalación. Al finalizar, GRUB será instalado en elMBR (y también en BIOSGRUB), la versión incorrecta para trabajar con EFI, pero lo arreglaremos después de reiniciar. Hay que tener en cuenta que reparar esto antes de reiniciar en chroot hará que todo falle si el módulo del kernel efivars o está incluido en la imagen de instalación de Debian... (Como puede ser el caso de algunas snapshots de Debian Testing).
3. Configurando GRUB para UEFI
Reiniciamos nuestro Debian GNU/Linux todavía en modo "legacy BIOS", entonces, con privilegios de root, montamos la partición EFI (que asumimos que es /dev/sda1),
Instalamos GRUB para EFI
También eliminaremos el paquete grub-pc durante el proceso. Los mensajes de rror acerca de procfs y sysfs podemos ignorarlos, pero el propio GRUB debe indicar que ha sido instalado sin ningún problema.
Ya casi lo tenemos. Llegados a este punto GRUB iniciará desde el archivo /EFI/debian/grubx64.efi en la partición ESP, siempre y cuando UEFI sepa de su existencia como opción de booteo.
Hay varias maneras de hacer esto, algunas de ellas sólo pueden realizarse después de que Debian sea reiniciado con UEFI...
UEFI siempre buscará /EFI/boot/bootx64.efi en la ESP y tratará de arrancar con él por defecto. Así que, bueno, teniendo este método, que puede ser posteriormente modificado para lidiar con sitiaciones de arranque más complicadas, tal como se inidica a continuación:
Tu sistema ya está listo para iniciar bajo UEFI.
4. Primer arranque con UEFI
Ahora, tras reiniciar, accederemos al menú de UEFI y cambiaremos por fin el Modo "legacy BIOS" por el modo UEFI (No está de más consultar el manual de nuestra placa base para esto).
Una vez hecho iniciamos y UEFI debería encontrar GRUB en la posición por defecto para Debian GNU/Linux. Sólo en el caso de que eso no ocurra, reinicie el equipo y vuelva a entrar en el menú de UEFI, vaya al "Boot Maintenance Manager" y seleccione manualmente el archivo correspondiente de la ESP con el que debe arrancar.
Tras el primer arranque, podríamos querer lidiar con opciones de arranque más complejas, añadiendo al GRUB las órdenes almacenadas por UEFI en un chip de memoria de la placa base. Esto lo haremos con el programa efibootmgr program, que también depende el módulo del kernel efivars y que encontraremos en repositorios.
Asumiendo nuevamente que los datos de la ESS están en /dev/sda1 (Otra de las razones para haberla colocado ahí). El tener que colocar barras invertidas es culpa del innombrable y su manera de hacer (mal) las cosas...
La salida de este comando será un número con varias opciones de arranque; la última instalada, Debian GNU/Linux (o GRUB, actualmente), tendría en el caso del ejemplo el número 0004 y sería la primera en arrancar. El orden de arranque puede variar con el mismo comando efibootmgr, por ejemplo cuando otro sistema con el número 0003 debe arrancar por defecto.
Podríamos poner la opción 0003 sobre 0004 (Ver el manual con las opciones de efibootmgr
La siguiente parte del tutorial hablará de algunas de las opciones de arranque.
No vamos a tocar demasiadas opciones, pero sí algunos aspectos w.r.t. que nuestro Debian GNU/Linux puede puede utilizar después de su instalación.
1. Menú UEFI
El manual de nuestra placa base nos dirá que tecla debemos pulsar durante el arranque para acceder al menú UEFI (Normalmente F2). En él hay dos elementos de especial interés: Boot Manager y Boot Maintenance Manager.
Boot Manager
Este submenú muestra las opciones de arranque disponibles tal como las conoce UEFI
Podrías utilizar este escueto menú para arrancar un sistema que no esté por defecto, siempre que seamos lo suficientemente rápidos como para pulsar a tiempo la tecla de dicha funcioón durante el arranque.
Boot Maintenance Manager
Este menú muestra la opción de Arrancar desde un archivo ("Boot from a file", como puede ser grubx64.efi, para lo cual tendrás que elegirlo siguiendo la ruta de la Partición EFI >> El directorio <EFI> >> el directorio <debian>, tal y como vimos anteriormente.
De hecho, cualquier bootloader instalado en la partición ESP (o cualquier partición o unidad fat32) puede ser iniciada de esta manera, tanto si se lo hacemos saber a UEFI (via efibootmgr) como si no. Esto puede ser muy útil durante la configuración, posiblemente cuando experimentemos con las opciones de arranque.
2. Menú rEFInd
El menú rEFInd es una "estilosa" alternativa al menú UEFI, con algunas ventajas importantes: No será necesario ser super rápido pulsando teclas durante el arranque para acceder a él y maneja todas las posibles opciones de arranque en la ESP sin tener que almacenarlas primero en la UEFI NV-RAM.
rEFInd es un fork del popular menú rEFIt utilizado por para iniciar GNU/Linux e modo MBR-legacy en equipos MAC con EFI. rEFInd puede ser descargado desde http://www.rodsbooks.com/refind/. La documentación del sitio puede resultar un poco confusa, así que aquí van algunos puntos a tener en cuenta para instalar rEFInd para que encage con el proceso que venimos realizando en el tutorial:
a. Necesitaremos al menos dos archivos de rEFInd, refind_x64.efi y refind.conf, el segundo no es mas que una versión editada del refind-sample.conf. Tambiñen necesitaremos un subdirectorio de iconos y otros elementos gráficos para hacer que el menú luzca como queramos .
b. Lo más simple, acorde con el resto del tutorial, es realizar manualmente la instalación en la ESP, montándola primero si no está ya montada.
La última línea hará que UEFI arranque por defecto en el menú de rEFInd. Copiar también algunos archivos de iconos, etc, tal como se explica en la documentación de la página de rEFInd.
c. Una alternativa al punto b. es utilizar efibootmgr para añadir rEFInd a la UEFI NV-RAM, como se ha descrito anteriormente en el tutorial. Funcionará iagul de las dos maneras.
d. Podrías tener que mover el bootloader de "Ese otro sistema" desde /boot/efi/EFI/boot/ a un directorio separado /boot/efi/EFI/<otherOS>/
Tu PC iniciará ahora en el menú rEFInd en el arranque, permitiéndote elegir el bootloaders que vas a iniciar.
http://gnulinuxvagos.es/topic/1818-debian-gnulinux-amd64-y-uefi
Gracias a hkoster1 de los foros de Debian User Forums por este magnífico Tuto:
Propósito de este Tutorial:
La manera más simple de lidiar con el arranque UEFI es utilizar el último instalador de Debian, disponible para la versión Amd64 de Wheezy y posteriores en un equipo Con UEFI, provisto de una tabla de particiones GUID(GPT).
Teniendo esto, no es necesario seguir el tutorial que viene a continuación, el trabajo ya estaría hecho. En el resto de casos, el siguiente tutorial describe como podrías migrar a UEFI, partiendo desde una instalación inicial usando una instalación tradicional BIOS, en un equipo que soporta tanto BIOS como UEFI.
El tutorial se divide en dos partes, siendo laprimera el proceso en sí y la segunda, las opciones de arranque disponibles.
NOTA Este turotial no tiene nada que decir sobre iniciar kernels certificados en hardware UEFI... eso es otra historia diferente.
AMD64 Debian Installer y UEFI
El tutorial se aplica a la arquitectura Amd64, en el que primero instalamos la última Wheezy (o versión superior) con el firmware colocado en modo "legacy BIOS" de la manera que se ha hecho toda la vida. Después del primer reinicio (Todavía en modo Legacy) la instalación será modificada para el arranque UEFI
El tutorial se centra en cómo debe realizarse el proceso cuando Debian GNU/Linux es el único sistema operativo. Para una instalación en Dual-boot junto a "Ese os cuyo nombre no debe ser pronunciado" habría que tener un poco más de cuidado a la hora de particionar el disco duro, pero por lo demás el proceso es muy similar.
El ejemplo aquí mostrado se ha llevado a cabo en VMware Fusion (version 5), la cual utiliza el modo BIOS por defecto y puede ser posteriormente cambiado a modo UEFI.
1. Particionar el disco duro
Duro. Otra forma de hacerlo, también con PartedMagic, para cuando ya tenemos un sistema operativo instalado, en cuyo caso, la
UEFI is often partnered with the GUID Partition Table (GPT), just as BIOS and the MBR Partition Table are thought to belong together. Fact is, though, that both partition tables can be used with either UEFI or BIOS. GPT offers many advantages over MBR partitioning, not in the least since it does away with the distinction between primary and logical partitions. The D-I partitioner knows about GPT, but has no option to install it, so this must be taken care of before starting the D-I.
La manera recomendada de instalar GPT es arrancando con un Live-CD (64-bits), como puede ser PartedMagic, pero tenga en cuanta que al hacerlo se borrará el contenido del disco EFI System Partition (ESP) podría ser demasiado pequeña para almacenar en ella los bootloaders. Un tamaño suficiente para la partición ESP serían 250 MB, o algo más en el caso de que queramos incluir también imágenes del kernel den la ESP.
Deberíamos tener siempre una copia del contenido de dicha partición, para que en caso de querer redimensionar o reposicionar la ESP, podamos trabajar sin reparos con PartedMagic y luego reponer los datos desde nuestra copia de seguridad.
En cualquier caso, el formato de esta partición debería ser "FAT32" (o EFI boot filesystem); no es necesario que sea la primera partición primaria (como suele ocurrir con el innombrable), pero nos simplificará las cosas si hacemos que así sea.
También podríamos decidir (después de realizar una copia de seguridad del sistema instalado) redimensionar o crear de nuevo las particiones del disco duro, quizá con GPT, la indispinsable partición ESP y una partición nueva para otro sistema operativo, además de, por supuesto, suficiente espacio libre para Debian GNU/Linux; y entonces re/instalar el otro sistema antes de iniciar el instalador de Debian (Siempre asegurándonos de no modificar las particiones que previamente hemos realizado durante el proceso de instalación del sistema operativo).
2. Instalando Debian GNU/Linux
Con el disco duro preparado y el equipo en modo "legacy BIOS", inicie la instalación de Debian Amd64 de la manera habitual, teniendo en cuenta, como acabamos de decir, que el instalador no modifique las particiones IMPORTANTE: Elija el modo manual al llegar a ese punto de la instalación
Recordemos que La partición para el sistema EFI, si no la hemos hecho todavía, debe ser, al menos, de 250MB, sistema de ficheros FAT32 y no se especificará ningún punto de montaje para la misma.Es conveniente también que la ESP sea la primera partición primaria, por lo cual a partir de este punto del tutorial la trataremos siempre como /dev/sda1
También reservaremos de 1MB para BIOSGRUB (Reserved BIOS boot area) al final del espacio libre del disco. Esta minipartición puede ser requerida después de que el arranque UEFI sea configurado. NOTA En modo automático, el instalador de Debian podría colocar esta partición en primer lugar (/dev/sda1) y no queremos eso.
El espacio restante lo podemos particionar como queramos, para luego seguir con el proceso de instalación. Al finalizar, GRUB será instalado en elMBR (y también en BIOSGRUB), la versión incorrecta para trabajar con EFI, pero lo arreglaremos después de reiniciar. Hay que tener en cuenta que reparar esto antes de reiniciar en chroot hará que todo falle si el módulo del kernel efivars o está incluido en la imagen de instalación de Debian... (Como puede ser el caso de algunas snapshots de Debian Testing).
3. Configurando GRUB para UEFI
Reiniciamos nuestro Debian GNU/Linux todavía en modo "legacy BIOS", entonces, con privilegios de root, montamos la partición EFI (que asumimos que es /dev/sda1),
mkdir /boot/efi
mount /dev/sda1 /boot/efi
Instalamos GRUB para EFI
modprobe efivars
aptitude install grub-efi-amd64
grub-install /dev/sda
update-grub
También eliminaremos el paquete grub-pc durante el proceso. Los mensajes de rror acerca de procfs y sysfs podemos ignorarlos, pero el propio GRUB debe indicar que ha sido instalado sin ningún problema.
Ya casi lo tenemos. Llegados a este punto GRUB iniciará desde el archivo /EFI/debian/grubx64.efi en la partición ESP, siempre y cuando UEFI sepa de su existencia como opción de booteo.
Hay varias maneras de hacer esto, algunas de ellas sólo pueden realizarse después de que Debian sea reiniciado con UEFI...
UEFI siempre buscará /EFI/boot/bootx64.efi en la ESP y tratará de arrancar con él por defecto. Así que, bueno, teniendo este método, que puede ser posteriormente modificado para lidiar con sitiaciones de arranque más complicadas, tal como se inidica a continuación:
mkdir /boot/efi/EFI/boot
cp /boot/efi/EFI/debian/grubx64.efi /boot/efi/EFI/boot/bootx64.efi
Tu sistema ya está listo para iniciar bajo UEFI.
4. Primer arranque con UEFI
Ahora, tras reiniciar, accederemos al menú de UEFI y cambiaremos por fin el Modo "legacy BIOS" por el modo UEFI (No está de más consultar el manual de nuestra placa base para esto).
Una vez hecho iniciamos y UEFI debería encontrar GRUB en la posición por defecto para Debian GNU/Linux. Sólo en el caso de que eso no ocurra, reinicie el equipo y vuelva a entrar en el menú de UEFI, vaya al "Boot Maintenance Manager" y seleccione manualmente el archivo correspondiente de la ESP con el que debe arrancar.
Tras el primer arranque, podríamos querer lidiar con opciones de arranque más complejas, añadiendo al GRUB las órdenes almacenadas por UEFI en un chip de memoria de la placa base. Esto lo haremos con el programa efibootmgr program, que también depende el módulo del kernel efivars y que encontraremos en repositorios.
efibootmgr -c -l "\EFI\debian\grubx64.efi" -L "Debian GNU/Linux"
Asumiendo nuevamente que los datos de la ESS están en /dev/sda1 (Otra de las razones para haberla colocado ahí). El tener que colocar barras invertidas es culpa del innombrable y su manera de hacer (mal) las cosas...
La salida de este comando será un número con varias opciones de arranque; la última instalada, Debian GNU/Linux (o GRUB, actualmente), tendría en el caso del ejemplo el número 0004 y sería la primera en arrancar. El orden de arranque puede variar con el mismo comando efibootmgr, por ejemplo cuando otro sistema con el número 0003 debe arrancar por defecto.
efibootmgr -o 3,4
Podríamos poner la opción 0003 sobre 0004 (Ver el manual con las opciones de efibootmgr
La siguiente parte del tutorial hablará de algunas de las opciones de arranque.
No vamos a tocar demasiadas opciones, pero sí algunos aspectos w.r.t. que nuestro Debian GNU/Linux puede puede utilizar después de su instalación.
1. Menú UEFI
El manual de nuestra placa base nos dirá que tecla debemos pulsar durante el arranque para acceder al menú UEFI (Normalmente F2). En él hay dos elementos de especial interés: Boot Manager y Boot Maintenance Manager.
Boot Manager
Este submenú muestra las opciones de arranque disponibles tal como las conoce UEFI
Podrías utilizar este escueto menú para arrancar un sistema que no esté por defecto, siempre que seamos lo suficientemente rápidos como para pulsar a tiempo la tecla de dicha funcioón durante el arranque.
Boot Maintenance Manager
Este menú muestra la opción de Arrancar desde un archivo ("Boot from a file", como puede ser grubx64.efi, para lo cual tendrás que elegirlo siguiendo la ruta de la Partición EFI >> El directorio <EFI> >> el directorio <debian>, tal y como vimos anteriormente.
De hecho, cualquier bootloader instalado en la partición ESP (o cualquier partición o unidad fat32) puede ser iniciada de esta manera, tanto si se lo hacemos saber a UEFI (via efibootmgr) como si no. Esto puede ser muy útil durante la configuración, posiblemente cuando experimentemos con las opciones de arranque.
2. Menú rEFInd
El menú rEFInd es una "estilosa" alternativa al menú UEFI, con algunas ventajas importantes: No será necesario ser super rápido pulsando teclas durante el arranque para acceder a él y maneja todas las posibles opciones de arranque en la ESP sin tener que almacenarlas primero en la UEFI NV-RAM.
rEFInd es un fork del popular menú rEFIt utilizado por para iniciar GNU/Linux e modo MBR-legacy en equipos MAC con EFI. rEFInd puede ser descargado desde http://www.rodsbooks.com/refind/. La documentación del sitio puede resultar un poco confusa, así que aquí van algunos puntos a tener en cuenta para instalar rEFInd para que encage con el proceso que venimos realizando en el tutorial:
a. Necesitaremos al menos dos archivos de rEFInd, refind_x64.efi y refind.conf, el segundo no es mas que una versión editada del refind-sample.conf. Tambiñen necesitaremos un subdirectorio de iconos y otros elementos gráficos para hacer que el menú luzca como queramos .
b. Lo más simple, acorde con el resto del tutorial, es realizar manualmente la instalación en la ESP, montándola primero si no está ya montada.
mount /dev/sda1 /boot/efi
mkdir /boot/efi/EFI/refind
cp refind_x64.efi refind.conf /boot/efi/EFI/refind/
cp refind_x64.efi /boot/efi/EFI/boot/bootx64.efi
La última línea hará que UEFI arranque por defecto en el menú de rEFInd. Copiar también algunos archivos de iconos, etc, tal como se explica en la documentación de la página de rEFInd.
c. Una alternativa al punto b. es utilizar efibootmgr para añadir rEFInd a la UEFI NV-RAM, como se ha descrito anteriormente en el tutorial. Funcionará iagul de las dos maneras.
d. Podrías tener que mover el bootloader de "Ese otro sistema" desde /boot/efi/EFI/boot/ a un directorio separado /boot/efi/EFI/<otherOS>/
mkdir /boot/efi/EFI/<otherOS>
mv /boot/efi/EFI/boot/<otherOS>.efi /boot/efi/EFI/<otherOS>/
umount /dev/sda1
Tu PC iniciará ahora en el menú rEFInd en el arranque, permitiéndote elegir el bootloaders que vas a iniciar.