GNU/Linux >> Tutoriales Linux >  >> Debian

Debian:¿cómo hacer antes del arranque dual de Windows 7 y Debian en Efi?

Estoy a punto de comprar una placa base Asus con firmware EFI y quería prepararme para instalar Windows y Debian una vez que llegue el hardware. Tenía la esperanza de que alguien que haya seguido este camino me pudiera dar algunos consejos.

¿Qué preparativos debo hacer antes de intentar instalar Windows 7 y Debian en un nuevo sistema basado en UEFI?

Respuesta aceptada:

EDITAR: Cuando escribí esta respuesta, muy pocas distribuciones se enviaron con un kernel configurado con EFI_STUB, por lo que uno tuvo que crear uno personalizado. Hoy en día, la mayoría de las distribuciones envían un kernel configurado adecuadamente y ya no se requiere una compilación personalizada. En este caso las secciones “Configura tus particiones” y “Configuración” son los interesantes, "Requisitos" y "Compilación del kernel" se pueden omitir.

No sé cómo maneja Windows UEFI, pero desde el lado de Debian es bastante
sencillo.

Configura tus particiones

Utilice el esquema de partición GPT, no MBR.

Para arrancar desde una partición GPT con UEFI, se requiere una partición de arranque dedicada,
llamada PARTICIÓN DEL SISTEMA EFI (ESP). No es obligatorio, pero la forma más
compatible es usar una partición FAT32. Un tamaño de 200 MiB debería estar bien
para la mayoría de los casos.

Para registrar la partición como ESP, debe marcarse con boot bandera.
A diferencia de los esquemas MBR, la bandera de arranque solo se usa para indicar el ESP,
no las particiones desde las que se puede arrancar.

UEFI utiliza una estructura de directorios EFI<vendor><application>.efi para almacenar
aplicaciones UEFI. Un separador de directorio se indica con una barra invertida , incluso en
Linux. podría ser un nombre de distribución, el valor real no es relevante
para la UEFI.

Las aplicaciones pueden ser utilidades del sistema como comprobadores de memoria o un shell UEFI. También puede ser un cargador de sistema operativo o el propio sistema operativo. Estas aplicaciones
deben estar registradas en UEFI para poder iniciarse en el momento del arranque.

Requisitos

UEFI puede cargar directamente la versión del kernel de Linux>=3.3. El núcleo puede actuar como su propio cargador. Esto se llama EFISTUB . Se necesitan las siguientes configuraciones de kernel.

CONFIG_EFI=y
CONFIG_EFI_PARTITION=y
CONFIG_EFI_STUB=y
CONFIG_RELOCATABLE=y
CONFIG_FB_EFI=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_EFI_VARS=m

Un núcleo con esta configuración aún no está en Debian estable. Puede
hornear su propio kernel o usar el del árbol experimental; en ese caso, puede omitir el siguiente párrafo.

Compilando el núcleo

(probablemente ya no sea necesario, vea editar)

Si decide compilar el núcleo, aquí hay instrucciones breves sobre cómo hacerlo. Si tiene problemas, hay mucha información disponible sobre cómo compilar un kernel.

Obtener la fuente

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

Echa un vistazo a una versión en particular

git checkout v3.6

Configuración del núcleo

make menuconfig

Realice las configuraciones necesarias en su sistema o déjelo como está
si no tiene nada que personalizar. Esto escribe la configuración del kernel
en el archivo .config .

Asegúrese de que la configuración del párrafo anterior esté establecida. También
tiene sentido seleccionar CONFIG_INPUT_EVBUG=n . De lo contrario, sus registros
se llenarán con GiB de basura.

Relacionado:Debian:¿eliminar usuario y contraseña al iniciar sesión en Debian 9 Stretch?

Núcleo de construcción

INSTALL_MOD_STRIP=1 make-kpkg --uc --us binary-arch

Los paquetes se crean en el directorio principal.

Instalando el núcleo

dpkg -i linux-image-3.5.0_Custom.deb linux-headers-3.5.0_Custom.deb

Construyendo initramfs

mkinitramfs -o /boot/initrd.img-3.6.0-amd64 3.6.0

3.6.0 es la versión del kernel. De forma predeterminada, se ejecuta el kernel,
lo cual no es una buena opción, ya que aún está ejecutando el antiguo
kernel.

Configurando las cosas

Para poder iniciar el kernel de Linux, debe copiarse en el ESP junto
con initramfs. Dado que el ESP está montado en /boot/efi

/boot/efi/EFI/debian/vmlinuz-3.6.0.efi
/boot/efi/EFI/debian/initrd.img-3.6.0

NOTA: Para garantizar la compatibilidad con la mayoría de los sistemas, la extensión efi tiene que
agregarse al kernel.

Ahora el kernel se puede registrar en la UEFI. Usamos la herramienta efibootmgr por
eso.

echo "root=UUID=3a4287b6-b3a7-4721-da38-acc38a928278 ro rootfstype=ext4 add_efi_memmap initrd=\EFI\debian\initrd.img-3.6.0" |
  iconv -f ascii -t ucs2 |
  efibootmgr 
    --create 
    --gpt 
    --disk /dev/sda 
    --part 4 
    --label "Debian Linux kernel 3.6.0" 
    --loader "\EFI\debian\vmlinuz-3.6.0" 
    --write-signature 
    --append-binary-args -

El argumento de --disk es el dispositivo donde reside el kernel, no el ESP. --part es el número de partición donde reside el kernel. --label es la entrada
en el menú de inicio de UEFI.

Para ver una lista de las entradas disponibles, simplemente inicie efibootmgr sin
argumentos. Sintaxis para eliminar una entrada en particular

efibootmgr -b entry (hex) -B

por ejemplo:

efibootmgr -b 001a -B

Estas instrucciones no manejan el caso de una actualización del kernel. El kernel e initramfs no se copian automáticamente al ESP. Esto se puede hacer usando un script corto que copia el kernel e initramfs al ESP y ejecuta efibootmgr . Este script se puede colocar en /etc/kernel/postinst.d para ser lanzado automáticamente después de que el kernel haya sido actualizado.

Nota: No se necesita un administrador de arranque como GRUB, el propio UEFI actúa como administrador de arranque.

Eso es todo lo que necesita del lado de Linux, no sé lo que se necesita para agregar
Windows.


Debian
  1. Kernels personalizados en Ubuntu/Debian:cómo, cuándo y por qué

  2. Cómo instalar y usar versiones posteriores de Debian

  3. Cómo instalar y usar Ansible en Debian 11

  4. Cómo instalar y asegurar MariaDB en Debian 11

  5. Cómo instalar Node.js y npm en Debian 11

Cómo instalar Icinga 2 e Icinga Web 2 en Debian 9

Cómo instalar los encabezados del kernel en Debian

Cómo encontrar y cambiar la dirección IP en Debian

Cómo Arranque Dual Antergos Linux y Windows UEFI

Cómo instalar el último kernel en Debian 11 y derivados

Cómo instalar Linux Kernel 5.15 en Debian 11