Forzar a Windows Server 2008 a usar el cargador de arranque de BIOS heredado en lugar de EFI


12

Tenemos servidores UEFI y nos hemos encontrado con una situación en la que necesitamos obligar a Windows Server 2008 a arrancar mediante el método BIOS heredado en lugar de hacerlo a través de UEFI.

¿Hay alguna manera de decirle a Windows Server 2008 (ya sea durante la instalación o después de la instalación) que ignore el hecho de que se está instalando en una máquina EFI y, en su lugar, instale y use el cargador de arranque de BIOS heredado?


He intentado algunas sugerencias que no ayudaron:

  • Formatee discos como particiones MBR antes de instalar Windows

    No, Windows se niega a instalar:En sistemas EFI, Windows solo se puede instalar en discos GPT

  • Instale Windows, migre la partición a un disco MBR, repare el sistema

    No, la consola de reparación del sistema se niega a cargar. Se queja de que no reconoce la versión de Windows que intento reparar.

  • Deshabilitar UEFI

    Si pudiera deshabilitar UEFI y hacer que el sistema solo sea heredado, lo habría hecho. Sin embargo, los sistemas particulares que estoy usando (IBM HS22, x3690X5) son solo UEFI con soporte heredado. No puede simplemente deshabilitar UEFI en ellos. Eso requeriría una implementación completa del BIOS.


¡La solución!

Como señala JdeBP, el único método que usa Windows para determinar si se usa el gestor de arranque EFI / GPT o BIOS / MBR es el método que se utilizó para iniciar el CD de instalación.

La combinación de esto con la sugerencia de Weaver de crear una imagen .iso sin la entrada del catálogo de arranque 0xEF (mucho más fácil de hacer mediante edición hexadecimal en lugar de remasterizar la imagen, por cierto) nos lleva a una respuesta agradable y concisa:

Obligue a los medios de instalación a arrancar a través del BIOS, no a través de UEFI, ya que este es el único diferenciador que utiliza Windows Installer para determinar qué esquema de arranque usar.


Esto va a ser específico del hardware. Puede ayudar si menciona el equipo y el modelo. Algunos proveedores ofrecen una opción para el modo de compatibilidad de BIOS en la pantalla de configuración o como una opción de arranque.
Tom Willwerth

La razón por la que no mencioné el hardware en la pregunta fue una elección deliberada. Quiero hacer este cambio en el lado de Windows diciéndole que use un gestor de arranque diferente. Mi IBM x3690X5 ya tiene la compatibilidad del BIOS activada, por lo que cualquier cargador de BIOS funcionará. El problema es decirle a W2K8 que no use su gestor de arranque UEFI.
MikeyB

2
@MikeyB: ¿Por qué no solo usar GPT?
tegbains

@tegbains: $ BIGCUSTOMER tiene un entorno de imágenes que utiliza un producto que no es compatible con GPT.
MikeyB

1
Si no hubiera tardado quince días en sacarte esta información tan importante, podríamos haberle ahorrado mucho dolor a Weaver. Le sugiero que edite su pregunta para reflejar el objetivo real, porque lo que está en el título es el paso X que no puede llegar a trabajar y su pregunta es muy engañosa.
JdeBP

Respuestas:


6

Microsoft no te permitirá alcanzar tu paso; así que aborda tu objetivo en su lugar.

Microsoft confunde erróneamente tiene un disco duro particionado EFI con firmware EFI . Esto es, por supuesto, claramente incorrecto. Es bastante posible, y de hecho es cada vez más deseable en estos días, tener un disco particionado EFI en una máquina que tenga un firmware antiguo que no sea EFI. En realidad, aunque la gente de aquí tardó más de quince días en sacarte el objetivo en lugar del paso, quieres lo contrario. Desea tener un disco particionado MBR antiguo de PC / AT-style en una máquina que tenga firmware EFI. (El firmware EFI en sí no tiene ningún problema con ninguno de los formatos de la tabla de particiones, y de hecho es requerido por la especificación EFI para comprender ambos. Es Microsoft el que comete este error). Y usted quiere esto porque el software de otra persona no puede entender la tabla de particiones EFI.

Una de las varias consecuencias del error de Microsoft es que el instalador de Windows NT 6.1 debe invocarse desde un medio de instalación que a su vez ha sido arrancado del antiguo firmware de PC98, para que acepte la idea de instalar Windows NT 6.1 en un disco particionado con el antiguo esquema de partición PC / AT MBR. Desafortunadamente, si el disco de instalación de Windows NT se inicia en la nueva forma EFI, el instalador pensará que hay firmware EFI y declarará que no puede instalarse en discos duros no particionados con EFI.

Como Weaver ha señalado, y como explica la documentación de Microsoft , el CD-ROM de instalación es, de hecho, de arranque dual. Como explica Rod Smith , uno puede construir manualmente un disco de instalación de Windows NT 6.1 que arranque a la antigua PC98. El instalador de Windows NT 6.1 permitirá la instalación en un disco duro particionado PC / AT MBR antiguo.

Sin embargo, en sistemas que carecen de un módulo de compatibilidad compatible , como usted dice que su sistema sí lo hace, esto no ayudará en absoluto . Su sistema requerirá la versión EFI del Administrador de arranque de Microsoft, instalado en la Partición del sistema EFI, porque así es como su firmware intentará arrancar el sistema operativo. Pero cuando el instalador de Windows NT 6.1 se inicia en un firmware que no es EFI, instala la versión no EFI del Administrador de arranque de Microsoft y no crea una Partición del sistema EFI. Tal instalación en realidad no arrancará en su máquina, y ni siquiera podrá completar el procedimiento de instalación. De hecho, debido a que le falta un CSM, ni siquiera podrá comenzarel procedimiento de instalación, porque ni siquiera podrá arrancar el disco de instalación en la antigua PC98. Microsoft no le permitirá alcanzar su paso dos veces.

Así que concéntrate en tu objetivo, en cambio. Su objetivo es permitir que su cliente implemente Windows Server 2008 en máquinas que tengan firmware EFI desde una imagen del sistema. Por lo tanto, la pregunta correcta que debe hacerse, al proveedor de software, es cómo reparar ese software de imagen de disco viejo / roto para que no tenga problemas con la tabla de particiones EFI.


Oh, mi sistema no carece de un modo de compatibilidad, eso no es un problema. Entonces, ¿estás diciendo que la única forma en que el instalador de Windows detecta si el sistema es EFI es a través del método que se utilizó para arrancar? Esa es información nueva y crítica. Lo probaré.
MikeyB

¡Ah ah! ¡Funciona! Esa es la información crítica que necesitaba: "Forzar el inicio de los medios de instalación a través del BIOS, no a través de UEFI, ya que este es el método que utiliza Windows Installer para determinar qué esquema de inicio utilizar".
MikeyB

@JdeBP +1 para una respuesta maravillosa.
Weaver

7

En resumen, sí y no por diferentes razones. Si Windows se inicia desde un disco GPT, debe ser desde UEFI. El gestor y el cargador de arranque de Windows no pueden arrancar en el disco MBR desde UEFI nativo . Sin embargo, si el UEFI está configurado para el modo de arranque de BIOS heredado, se puede usar un disco MBR para el arranque. Esto se debe a que el modo de arranque de Windows (BIOS con MBR o UEFI con GPT) depende del entorno en el que se invoca.

Sigue leyendo para conocer un poco de tecnología:

El firmware de hardware físico (o hardware virtual, pero hardware) (BIOS / UEFI) proporciona el entorno operativo inicial (estructuras de datos y convenciones relacionadas con el arranque) y servicios de firmware disponibles para las etapas posteriores del proceso de arranque del sistema operativo.

BIOS / MBR

En el caso del arranque de BIOS / MBR, el primer sector del primer disco de arranque: el registro de arranque maestro (LBA 0) contiene un puñado de ensamblado x86 (16 bit 8088), luego la tabla de particiones y luego una firma). El BIOS carga este sector en la memoria y comienza a ejecutarse: el BIOS renuncia a su propio control de código de programa tan pronto como el MBR se involucra.

http://mbr.adamsatoms.com/

http://www.ata-atapi.com/hiwmbr.html

El ensamblado x86 (Intel 8088 en la mayoría de los MBR) en el MBR analiza la tabla de particiones, busca una partición activa y salta al primer sector en esa partición, llamado registro de inicio de volumen. El registro de inicio de volumen contiene un jmp de ensamblado x86, un bloque de parámetros de BIOS (no utilizado por el BIOS del sistema, nombre tan confuso) y un conjunto más de ensamblaje x86 que finalmente carga el cargador de inicio del sistema operativo (NTLDR o BOOTMGR en entornos de Windows ) desde el volumen de arranque / partición en sí.

NTLDR o BOOTMGR cambian la CPU a modo protegido, consultan su configuración de tiempo de arranque (boot.ini o BCD respectivamente, ambos en el volumen / partición de arranque) y cargan NTOSKRNL donde el resto es historia.

http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx

http://en.wikipedia.org/wiki/Windows_NT_startup_process

http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/bios-parameter-block.html

UEFI / GPT

Primero permítanme decir que no tengo mucha experiencia activa con UEFI / GPT. Sin embargo, como lo he usado y entiendo que funciona, la gran diferencia (en lo que respecta a nuestra conversación) es que el control ejecutable no se transfiere al MBR.

En cambio, el firmware UEFI contiene su propio administrador de arranque. Este gestor de arranque escanea discos y medios, pasa por alto el MBR protector de los discos formateados GPT, llega al encabezado GPT y luego se sumerge en la partición del sistema EFI (ESP) donde busca programas ejecutables EFI, que se supone que deben pueden ser cargadores de arranque del sistema operativo que arrancan el sistema operativo directamente, sin embargo, como hemos visto con los últimos ejecutables EFI de MS y Apple, en realidad son administradores de arranque que agregan otra capa al proceso y la complejidad.

http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/efi-boot-process.html

http://msdn.microsoft.com/en-us/windows/hardware/gg463525#X-201104111922443

Conclusión / TL; DR

El punto a tener en cuenta es que existe un entorno esperado en el que el administrador de arranque y el cargador de arranque del sistema operativo esperan ejecutarse. Desde los servicios de nivel de firmware disponibles (interrupciones de BIOS / UEFI), estructuras de datos (variables, convenciones de pila, etc.) e incluso convenciones de formato de disco. No se puede cambiar en tiempo de ejecución, al menos no como yo lo entiendo.

¿Sus opciones?

Antes de la instalación, puede controlar la instalación utilizando BIOS / MBR o UEFI en el arranque de BIOS heredado con MBR o UEFI con GPT.

Después de la instalación: puede haber algunas posibilidades interesantes al cambiar el formato del disco (MBR a GPT y GPT a MBR) fuera de línea, luego iniciar en una consola de recuperación (en el modo UEFI o BIOS apropiado) y trabajar con bcdboot y bcdedit para obtener Windows gestor de arranque enderezado.

Actualización 2011.09.09

@MikeyB

Enumerar las opciones como las entiendo, sin hacer sugerencias formales.

Sin embargo, después de investigar un poco más sobre UEFI (recuerde que no tengo mucha experiencia activa con él), he descubierto algunos datos interesantes sobre el gestor de arranque de UEFI y el soporte para el arranque de CD / DVD.

La especificación de arranque de El Torito, del '95, todavía está vigente hoy en día y se usa con CD / DVD de arranque. Un solo CD / DVD puede tener que arrancar en varias arquitecturas, y aunque ISO 9660 es bastante independiente de la plataforma, el código ejecutable no lo es. Como tal, la Especificación de arranque de El Torito permite múltiples entradas / imágenes de arranque.

Estas entradas / imágenes contienen una ID de plataforma , destinada a indicar si una entrada es para PC, PowerPC y otras arquitecturas para que el BIOS (o firmware) de la arquitectura pueda elegir la entrada de arranque correcta.

Las PC x86 estándar con BIOS tienen una ID de plataforma El Torito de 0x00. El ID de plataforma compatible con UEFI es 0xEF, bastante creativo

Los BIOS de PC x86 estándar ignoran todas las demás entradas, excepto 0x00. Los firmware UEFI que tienen soporte de BIOS heredado (conocido como Módulo de soporte de compatibilidad (CSM)), aunque pueden arrancar 0x00, preferirán una entrada de arranque nativa 0xEF del catálogo.

Los medios de DVD de Windows 2008, 2008 R2 y 7 contienen un catálogo de imágenes múltiples de El Torito con 0x00 y 0xEF. El 0x00 es el predeterminado, pero un UEFI pasará por alto si existe un 0xEF y elegirá la entrada 0xEF, ya que es nativa.

Lo que es posible es crear medios que solo contengan la ID de plataforma preferida en el catálogo de arranque de El Torito. En lugar de un catálogo de entradas múltiples, cree un catálogo de entrada única con una ID de plataforma 0x00. Esto debería obligar al firmware UEFI, si de hecho es compatible con el arranque de BIOS heredado, a elegir la ID de plataforma 0x00 y arrancar la entrada de arranque de BIOS heredado en los medios de Windows.

¿Cómo hacerlo?

Usando Oscdimg es posible. A continuación se presentan varios ejemplos de personas que crean medios UEFI solo para sortear las limitaciones en la implementación UEFI de Apple. Tenga en cuenta que esto es lo contrario de lo que estamos tratando de hacer: solo queremos crear un BIOS, dejando de lado la entrada de arranque UEFI del catálogo.

Solo UEFI (Opuesto) 1

Solo UEFI (Opuesto) 2

El proceso para crear medios solo de BIOS es similar con cambios en los argumentos -by -pa los siguientes

-bC:\path\to\Etfsboot.com -p0x00

Un gran recurso que arroja una luz excelente sobre la locura elegida por Microsoft en los medios de instalación de Windows es el documento de Soporte y requisitos de UEFI para sistemas operativos Windows .


1
"Antes de la instalación, puede controlar la instalación utilizando BIOS / MBR o UEFI en el arranque de BIOS heredado con MBR o UEFI con GPT". Bien, entonces, ¿cómo le dice a Windows: "Instalar en una tabla de partición estilo MSDOS"?
MikeyB

@MikeyB Inicie los medios de instalación de Windows en un sistema informático con un BIOS tradicional. O bien, inicie los medios de instalación de Windows en un sistema informático con UEFI configurado en el modo de inicio de BIOS heredado. Tenga en cuenta que su UEFI debe admitir un modo de arranque de BIOS heredado.
Weaver

¿Está sugiriendo que instale Windows en una computadora completamente diferente y luego mueva los discos? No es una buena idea en absoluto. Además, cuando configura una computadora UEFI en 'modo BIOS heredado', solo habilita los ganchos de BIOS heredados para arrancar discos MBR heredados. No apaga UEFI , por lo que Windows todavía dice "¿Es este un sistema UEFI? Sí".
MikeyB

@MikeyB Se agregaron actualizaciones a la respuesta original.
Weaver

1
He visto algo similar con el servidor 2008, en el proceso de aprender sobre los límites de tamaño de disco BIOS y MBR. Construí un servidor con 2008 R2 y habilité el modo BIOS heredado debido al hecho de que no se instalaría con medios USB (un error de MS), sin embargo, descubrí que luego usaba MBR en lugar de GPT porque el BIOS no es capaz de cargar GPT (a menos que tienes un cargador de arranque de algún tipo). En resumen, cambiar al modo heredado definitivamente se instala en el modo heredado, la prueba estará en el administrador de discos donde verá discos MBR, no GPT.
Alex Berry

3

Un método simple sería simplemente realizar una instalación base de Windows en una máquina que no sea compatible con EFI, capturarla con su software de imagen y restaurarla al hardware real.

Una buena opción podría ser construir su instalación base en una VM. En versiones anteriores (ver <6) de Windows no se adaptó bien para moverse de un tipo de hardware a otro. Con las versiones recientes de Windows, siempre que el controlador de almacenamiento sea compatible con la imagen, Windows hará un trabajo bastante bueno al adaptarse al nuevo hardware.

El disco de instalación de Windows (ver> = 6) básicamente incluye un archivo wim que es básicamente una imagen del sistema operativo.


Eso es exactamente lo que iba a sugerir. Ejecute la configuración de Windows en otro sistema (BIOS / MBR), luego mueva el disco o su imagen al servidor de destino. Si se inicia, entonces PnP se producirá y se ejecutará felizmente en el hardware diferente.
Massimo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.