mi idea es crear un USB-Boot-Stick con Lubuntu que pueda arrancar en un BIOS BIOS más antiguo y en un sistema UEFI más nuevo.
Esto sería bastante fácil, cuando el Stick se configuraría como un dispositivo de arranque heredado, pero quiero que sea un dispositivo compatible con UEFI.
- ¿Eso tiene sentido? ¿O entendí el concepto UEFI horriblemente mal?
- Si es necesario, puede haber dos instalaciones de Linux diferentes (una para UEFI, otra para heredada pero ambas en la misma unidad)
- Arrancar un dispositivo GPT en BIOS antiguo: ¿funcionará?
No puedo ver claro, podría ser una mejor idea tener un stick de arranque Linux separado, pero tengo curiosidad por explorar los límites :)
Entonces, ¿es posible mi idea de un híbrido linux-uefi-boot-usb-stick que funcione con biografías heredadas?
(3) parece posible para linux con grub http://www.rodsbooks.com/gdisk/booting.html
Además, tengo una Partición EF00 lista en ese stick, aparte de una partición Swap, Fat32 y dos particiones Ext4.
(1) parece ser posible también http://www.rodsbooks.com/bios2uefi/
Sin embargo, estas instrucciones son de 2012, han pasado algún tiempo desde entonces: ¿alguien tiene un ejemplo de trabajo que sea más fácil?
Para otros investigadores de este tema:
Arranque de Windows 7 desde el disco GPT en una placa base que no sea EFI ¿Hay alguna forma de arrancar Windows 7/8 usando BIOS en GPT?
http://www.borncity.com/blog/2012/07/25/uefi-emulation-auf-pcs/
ACTUALIZAR:
He logrado crear la parte UEFI, incluida la configuración de arranque segura con rEFInd.
Siguiendo los consejos dados, solía dd
copiar gptmbr.bin
en mi disco, que ahora parece hacer al menos algo en un BIOS-System: "Este no es un disco de arranque"
Sin embargo, he seguido el consejo y configuré el pmbr
indicador para el disco y el legacy boot
indicador gpt . Todavía tengo este error, ¿alguna idea?
Mi partición ESP es la segunda partición en el disco y está configurada con archivos efi.
La puesta en marcha:
- 64GB de espacio
- GPT Partitiontable
- El disco tiene establecido el indicador pmbr
- La primera partición comienza en 16MiB y tiene aproximadamente 45 GB, un fat32 primario para datos
- 2nd Partition comienza alrededor de 45 GB y es el sistema EFI (fat32) con una configuración de rEFInd que funciona
- 3rd - 5th Partition es home (ext4), swap y root (ext4) de mi Lubuntu 14.04.1 en funcionamiento
Utilizando dd
he copiado el gptmbr.bin
Syslinux 6.02 compilado a los primeros 440bytes.
Bajo parted 3.2 puedo ver que mi partición 2 tiene una boot
y una legacy_boot
bandera.
Durante el arranque, no se encuentra ningún disco de arranque ; si configuro mi quinta en lugar de la segunda partición, legacy_boot
me falta el sistema operativo
¡Está vivo!
(Como mi antigua pregunta se eliminó /ubuntu//q/516730/319747 )
Mi conjetura es que tengo que copiar algunos de los
*.c32
y otros archivos a un syslinux carpeta eighter en mi EFI (donde ?!) o en mi partición raíz (/boot/syslinux
para conseguir que funcione?!) - Estoy en lo correcto? ¿Qué archivos son esenciales?Además, supongo que también necesitaré ese
syslinucx.cfg
archivo, ¿verdad?
Mi objetivo sería al menos un arranque directo del sistema lubuntu en la partición ext4 raíz.
Actualizar:
Aunque no tengo idea de por qué, lo hice funcionar, pero no con una instalación manual.
- la
pmbr
bandera era mala y prohibía que mi sistema UEFI iniciara el dispositivo como UEFI- la
legacy_boot
bandera era necesaria para mi quinta partición (raíz de Linux)- Tuve que usar
extlinux --install /path/to/root/parition
- Tuve que crear un
syslinux.cfg
archivo en la carpeta syslinux debajo del arranque de mi partición raízHice todo esto en un segundo dispositivo más pequeño, luego intenté copiar solo la carpeta syslinux, pero no tuve suerte,
extlinux --install
parece ser obligatorio.Alguien sabe lo que
extlinux --install
hace exactamente ? ¿Se puede hacer manualmente o de qué otra manera podría instalar una versión más reciente como 6.02 sin instalarla en su sistema?
Conseguí que mi dispositivo funcionara con las particiones mencionadas en BIOS, UEFI y UEFI SecureBoot, un viaje increíble, aprendí mucho, casi mato a 2TB con la partida, ten cuidado y buena suerte.
Respuestas:
Es posible, y con mucha frecuencia se realiza tanto con memorias USB externas como con unidades internas.
En cuanto a los tipos de tabla de partición:
El BIOS normalmente no necesita ninguna tabla de particiones. Solo le interesa la parte del código de arranque que son los primeros 440 bytes de su MBR. (Aunque hay excepciones. Algunas implementaciones de BIOS realmente se rompen si no pueden encontrar un MBR con uno de los tipos de partición habituales. Esperemos que sean raros).
La tabla de particiones GPT no reemplaza físicamente un MBR, siempre comienza en el sector 1, mientras que el MBR está en el sector 0, por lo que es posible que un disco tenga ambos. De hecho, la mayoría de los discos GPT no tienen un "MBR de protección" que contiene sólo una única partición que cubre todo el disco, para evitar más viejas herramientas de MBR de sólo el reparto de la destrucción accidental de los datos.
Por lo tanto, puede instalar, por ejemplo, el sector de arranque de Syslinux en su MBR, y se iniciará. (El
syslinux-install_update
script lo hará por usted, pero puede buscarlogptmbr.bin
en su paquete syslinux para hacerlo manualmente).Al igual que el indicador "activo" en las particiones MBR, Syslinux buscará el indicador "arranque de BIOS heredado" en las particiones GPT (bit 2 - UEFI spec 2.4 sección 5.3.3, tabla 20); la secuencia de comandos antes mencionada también establece ese indicador automáticamente si tiene
sgdisk
(desde gptfdisk) instalado.GRUB también se puede usar, pero también es un poco más molesto. Dado que GRUB 2 quiere "incrustar" partes de sí mismo en los sectores tradicionalmente no utilizados 1-62, sobrescribiría un GPT que está almacenado en la misma ubicación. Por lo tanto, es posible que deba crear una partición dedicada de 2 a 4 MB y marcarla como BIOS de arranque, de modo que
grub-install
se encuentre como un lugar de inserción.Por otra parte, la especificación UEFI hace requerir soporte para tipos de partición MBR (sección 12.3.1) y asignar el tipo de partición MBR
0xEF
a la partición del sistema EFI (sección 5.2.2).Entonces, si por alguna razón no puede hacer que su disco funcione con GPT, aún puede crear una partición del sistema EFI en MBR, y se usará siempre que tenga el sistema de archivos correcto y todos los archivos necesarios (sección 12.3.1.3):
Con respecto a los sistemas operativos, a Linux generalmente no le importa lo más mínimo si se arranca desde BIOS hoy y desde UEFI mañana. Tuve que reiniciar mi computadora portátil del modo UEFI al modo "Compatibilidad de BIOS" y retroceder tal vez cien veces esta semana, mientras trataba de encontrar un error en el soporte 3.17 UEFI ...
Tenga en cuenta que el artículo "Transformación de BIOS a UEFI" trata sobre algo muy diferente. Describe cómo instalar UEFI en sí mismo , una implementación UEFI llamada "DUET", que se inicia desde un sistema solo de BIOS. No tiene nada que ver con arrancar un sistema operativo directamente desde el BIOS.
fuente
mbr
parece estar bien, pero no encuentra miEFI System
partición. ¿Es un problema que sea la segunda partición en el disco que comienza alrededor de 45 GB en el disco? ¿Tengo que configurar una sección espectral en el EFI además de la configuración de EFI que ya funciona allí?Si, esto es posible.
La idea básica es dividir en GPT su memoria USB de esta manera:
1686148-6449-6E6F-744E-656564454649
): 1 MiB, sin sistema de archivosC12A7328-F81F-11D2-BA4B-00A0C93EC93B
) - 200 MiB, sistema de archivos VFAT0FC63DAF-8483-4772-8E79-3D69D8477DE4
) - 1 GiB, sistema de archivos ext40FC63DAF-8483-4772-8E79-3D69D8477DE4
): espacio restante, sistema de archivos XFS o BtrfsEsta partición nos permite arrancar en sistemas Legacy porque con GPT todavía hay espacio para un MBR (por razones de compatibilidad con versiones anteriores) y Grub2 tiene suficiente espacio para instalar alguna etapa intermedia en la partición de arranque del BIOS. Las BIOS heredadas no se preocupan por el esquema de partición y el Kernel Grub2 / Linux no tiene problemas para comprender GPT en sistemas heredados.
En los sistemas UEFI , el firmware UEFI ignora el MBR y utiliza la partición del sistema EFI como punto de entrada.
Por ejemplo, con Fedora, básicamente tienes que hacer lo siguiente:
Asegúrese de que el sistema de archivos de arranque de Linux esté montado debajo
/boot
y que el sistema de archivos de partición del sistema EFI esté montado debajo/boot/efi
.(Re-) Instale los cargadores de arranque heredados y UEFI:
(Re-) Genere los archivos de configuración de grub tanto para el arranque UEFI como heredado:
Dependiendo de si el sistema arranca en modo heredado o UEFI usted tiene que fijar el primer o segundo archivo y reemplazar
(linux|initrd)16
con(linux|initrd)efi
o al revés.Instale grub en el MBR:
Voila
fuente