3 puntos por GN⁺ 2024-07-29 | 1 comentarios | Compartir por WhatsApp
  • Windows Deployment Image Customization Kit es una herramienta de despliegue de imágenes de Windows basada en shell de comandos nativo, presentada en el título de HN como un generador de entorno de recuperación de Windows y USB booteable de 200 KB
  • En cuanto a SecureBoot, se reconoce que usar bootmgfw_EX.efi dentro de la carpeta EFI_EX de boot.wim en lugar del bootmgfw.efi normal causa menos problemas de compatibilidad
  • Por ahora están esperando ver en qué dirección estandarizará Microsoft, y si esa dirección no se aclara, planean modificarlo para traer el bootloader EFI_EX o permitir elegir entre ambos métodos
  • Por el momento, el usuario puede tomar manualmente el bootloader desde la ubicación EFI_EX, colocarlo en la carpeta cache y luego iniciar la actualización de archivos de arranque dentro de recovery
  • Si se desactiva SecureBoot, se puede seguir usando Windows normalmente hasta que Microsoft decida qué bootloader estandarizará

Herramienta de despliegue de imágenes de Windows

  • Windows Deployment Image Customization Kit es una herramienta de despliegue de imágenes de Windows basada en shell de comandos nativo
  • En el título de HN, este proyecto se presenta como un generador de entorno de recuperación de Windows y USB booteable de 200 KB
  • El README incluye imágenes de la interfaz GUI y de la pantalla de MenuScript

SecureBoot y manejo del bootloader

  • Usar bootmgfw_EX.efi dentro de la carpeta EFI_EX en boot.wim en lugar del bootmgfw.efi normal reduce los problemas de compatibilidad con SecureBoot
  • La razón por la que no aplican el cambio de inmediato es que la dirección de Microsoft todavía no está clara
  • Si la dirección de Microsoft no se aclara, podría aplicarse uno de los siguientes cambios
    • Traer el bootloader desde la carpeta alternativa EFI_EX
    • Hacer que sea posible elegir entre los dos métodos de bootloader
  • Se busca evitar una situación en la que se haga el cambio ahora y luego haya que revertirlo

Respuesta manual posible en este momento

  • El usuario puede tomar manualmente el bootloader desde la ubicación EFI_EX
  • Después de colocar el bootloader obtenido en la carpeta cache, puede iniciar la actualización de archivos de arranque dentro de recovery
  • Si se desactiva SecureBoot, se puede usar Windows normalmente hasta que Microsoft decida la dirección del bootloader estándar

Distribución y documentación

1 comentarios

 
GN⁺ 2024-07-29
Comentarios en Hacker News
  • Es el archivo por lotes más grande que he visto hasta ahora. Ya me parecía excesivo uno de unas 200 líneas que hice en la preparatoria, así que de verdad impresiona la perseverancia de llevar batch hasta este punto
    Sabía un poco de cosas como llamadas falsas parecidas a funciones y sintaxis rara, pero incluso hojeándolo hay muchas cosas que veo por primera vez. Normalmente este tipo de “X in Y KiB” suele implicar trucos extraños con el linker, así que esto se siente fresco. Y además los nombres de funciones “Windows To Go” y “Windows To Stay” están bastante graciosos

    • Ya que salió el tema de archivos batch grandes, si alguna vez hiciste softmod a una Wii, es muy probable que hayas usado ModMii, y es por mucho el programa batch más grande que he visto
      El script principal [1] es un archivo batch de más de 1 MB. Antes estaba bastante metido en el modding de Wii y recuerdo haber hablado algunas veces con el autor de ese script sobre varias cosas relacionadas con batch. No me imagino mantener un archivo de ese tamaño
      [1] https://github.com/modmii/modmii.github.io/blob/master/Suppo...
    • Windows To Go” era el nombre oficial de una función antigua de Windows
      Con PowerShell incluido en una instalación predeterminada, escribir algo de 3085 líneas, o de cualquier longitud, como script batch es completamente de locos
    • Esto se sale mucho del tema, pero al leer esto me acordé de los archivos batch de más de 300 líneas que usaba en BBS a inicios de los 90
      Metía un montón de verificaciones de errorlevel para manejar cambios de door, Fidonet y demás. Si de verdad necesitabas funcionalidad extra, los archivos batch podían volverse absurdamente complejos
  • Como referencia, no hay una licencia especificada

  • Según entiendo, “Windows Recovery Environment” es una versión mínima y reducida de Windows, sin la mayor parte del espacio de usuario normal y con parte del kernel ausente, que la gente ha ido ampliando y personalizando de varias maneras

    • El diseño general se inspiró en la UI simple basada en texto que usaba Android ClockworkMod Recovery
      Tampoco tiene ninguna dependencia
  • De las herramientas basadas en shell que he usado, esta me parece bastante impresionante. El simple hecho de que quepa en 200 KB ya es un logro, y uno ingenioso

  • Es una queja muy menor, pero me hace ruido ver plurales tipo FOO'S
    Si VHDXS se presta a confusión, basta con salirte de las mayúsculas y escribir VHDXs
    https://www.hamilton.edu/academics/centers/writing/seven-sin...

  • Se ve genial, pero me pregunto qué hace esto que la partición estándar de Windows Recovery Environment no pueda hacer
    ¿Es para usarlo cuando el entorno de recuperación estándar está roto? También me pregunto si el caso reciente de CrowdStrike era una situación así

    • En el caso reciente de CrowdStrike no fue así
      En mi laptop de trabajo, el entorno de recuperación siguió funcionando bien, podía arrancar en modo seguro y el modo seguro tampoco fallaba
  • ¿Con esto se podrían instalar drivers de monitor o firmware? Me pregunto si se podría crear un USB booteable, meter ahí los instaladores y usarlo para instalar firmware
    https://www.lg.com/au/support/product-support/cs-32GS95UE-B....
    También pensé en intentarlo con WINE, pero me da un poco de miedo. Por desgracia, el firmware nuevo de mi monitor solo se puede instalar con un exe y en este momento solo tengo una desktop con Linux

    • Normalmente lo manejo así. Primero desarmo el EXE durante unas horas o unos días. A veces resulta ser solo un autoextraíble y puedes encontrar el binario de firmware original. Otras veces tienes que volver a aprender lo básico de R2/Ghidra durante varios días antes de poder extraer el firmware
      Luego, si lo encuentras, averiguas cómo cargarlo. Cuando crees que ya se te ocurrió una forma, es indispensable que sea muy tarde y que estés tan cansado que andes medio ido. Solo así puedes convencerte de que podrás hacerlo sin brickearlo. Además, ¿qué gracia tiene si no lo brikeas? Siempre puedes agarrar cualquier clip genérico Pomona SOIC y sacar dumps aleatorios de ROM del chip
      Por último, si estabas lo bastante despierto como para no caer en la trampa del paso anterior, tiras a la basura todo el trabajo hecho hasta ese momento y decides dedicar tu tiempo a crear un USB booteable con Windows. Si eso no funciona por una u otra razón, pides prestada una laptop con Windows. Pero para entonces ya estarás demasiado cansado, así que en vez de eso montas una máquina virtual de Windows en QEMU y te pones a tocar el passthrough de dispositivos, reiniciando la computadora una y otra vez. Ejecutas la utilidad, inicias el EXE y parece que empieza a funcionar. Te emocionas tanto que a mitad del proceso desconectas todo por accidente. Como sea, el monitor parece seguir funcionando, pero quedas convencido de que algo se siente sutilmente mal. Unos años después vuelves a sacar el clip SOIC. Es una historia compuesta a partir de varias de mis metidas de pata
      Siendo realistas, sí. Es muy probable que con este proyecto puedas hacer ese tipo de tarea sin mayores problemas. Solo conviene estar preparado para que el instalador sea bloatware total y no funcione en absoluto, o para que finja ir bien casi hasta el final y luego algo salga mal
    • Utilidades simples como esa a veces también pueden ejecutarse desde un FreeDOS/MS-DOS arrancado desde una memoria USB o un CD
      En otros casos necesitas Win32, y ahí terminas usando algo como una versión reciente de Hiren’s Boot CD. Si mal no recuerdo, las versiones nuevas están basadas en Windows 10 y los lanzamientos iniciales estaban basados en XP
    • Puede haber varias formas de hacerlo, pero esto es un script del shell de comandos de Windows, así que solo funciona en Windows
    • Si no te molesta usar software de terceros, puedes crear un USB booteable para actualizar firmware
      https://www.hirensbootcd.org/
  • Tremendo. Un script de shell de 3 mil líneas; respeto a la gente que puede mantener algo así
    A mí me parece un desorden ardiente y difícil de abordar

    • ¿De verdad es tan difícil de abordar? A mí tampoco me encantan los archivos de 3 mil líneas, pero cuando me toca trabajar con uno, lo trato como si fueran varios archivos
      Dejo abierta una pestaña o una ventana dividida para cada “área” en la que quiero trabajar. Si estoy trabajando en tres áreas, abro tres paneles divididos enfocados en cada una y voy saltando entre ellos. En la práctica es casi lo mismo que trabajar con tres archivos separados