¿Cómo escribir un sector de arranque NTFS localizado?

8

Poco hecho desconocido: los sectores de arranque NTFS vienen en diferentes idiomas. Pueden decir " BOOTMGR is missing" y " Press Ctrl+Alt+Del to restart", pero también pueden decir lo mismo en otros idiomas. Esto depende de la configuración regional del sistema de Windows que esté utilizando cuando cree y formatee las particiones.

Debido al mal funcionamiento de un malware, tuve que reescribir el sector de arranque NTFS de mi unidad de sistema, que estaba ocultando un rootkit; Hice esto usando la bootsect.exeherramienta en el DVD de instalación, el mismo DVD de instalación en idioma italiano que usé para instalar Windows originalmente; también había un buen archivo bootsect.exe.mui en una carpeta it-IT por ahí. Pero la herramienta hablaba inglés, y mi sector de arranque NTFS ahora también habla inglés (y, por supuesto, no lo hacía antes).

Sé que esto es puramente cosmético, pero me gustaría saber: ¿cómo crear un sector de arranque NTFS localizado (sin volver a formatear la partición en un sistema localizado, por supuesto)?

Massimo
fuente
3
Sospecho que fixmbr de la consola de recuperación en su instalación puede estar localizado. Eso probablemente debería hacerlo.
Un enano
(+1) Muy buena pregunta por cierto, Massimo. :) Añadido a mi lista de favoritos.
Un enano
1
No hay "fixmbr" en Windows 7 ... las cosas más cercanas son bootsect.exe y bootrec.exe; Intenté usarlos desde el DVD de instalación (que está localizado), pero terminé con un sector de arranque en inglés. Lo intentaré nuevamente desde la Consola de recuperación.
Massimo
Los probé a ambos, ejecutándolos desde un entorno de recuperación de Windows localizado. Tanto bootsect.exe como bootrec.exe crearán sectores de arranque en inglés.
Massimo
Hay dos formas de usar bootsect. Puede usar una letra de unidad sola y el gestor de arranque se escribirá en la partición o puede usar la opción / mbr que la escribe en el MBR. ¿Has probado ambos? Y, francamente, ¿realmente importa el idioma? Solo hay unas pocas cadenas en ese pequeño código del gestor de arranque y ni siquiera las ve la mayoría de las veces. Supongo que el menú de selección de su sistema operativo se muestra correctamente
billc.cn

Respuestas:

1

Diferentes mensajes provienen de diferentes lugares. Pero si reemplaza los archivos de arranque, como bootmgr, BCD (de un sistema con exactamente la misma configuración de arranque), bootsect.dat, boot.sdi o cualquier combinación de archivos que tenga, creo que encontrará los mensajes en tu idioma elegido

Abraxas
fuente
El gestor de arranque habla el idioma correcto; es el sector de arranque que no lo hace.
Massimo
Estrictamente hablando, el código en el VBR también es un gestor de arranque.
JdeBP
Los cargadores de arranque residen en sectores de arranque. los sectores de arranque no son código, son ubicaciones.
jiggunjer
1

En mi Vista, el sector de arranque está en inglés, aunque tengo un sistema polaco. Instalé desde los discos originales de Microsoft. Quizás su sector de arranque fue un OEM pirateado.

Kinokijuf
fuente
Imagen ISO oficial de Microsoft, descargada de MSDN.
Massimo
El mío también es oficial.
kinokijuf
0

El sector de arranque es bastante pequeño (solo 512 bytes), por lo que puede desmontarlo (usando cualquier cosa, desde NDISASM a IDA), arreglar los mensajes y luego volver a ensamblarlo (NASM lo hará).

Esto requiere un poco de habilidades de programación, y tal vez también leer algunos libros de texto de ensamblador x86, pero ciertamente es bueno si te esfuerzas lo suficiente.

Mikhail Kupchik
fuente
2
no 512, sino 446 bytes. otros bytes están reservados para la tabla de particiones.
Eir Nym el
La esencia de este comentario es cierta, pero las declaraciones que hace no lo son. El sector de arranque no es el MBR. El MBR es de 512 bytes (446 sin tabla de particiones), mientras que el sector de arranque es al menos un orden o dos de magnitud más grande y considerablemente más complicado de realizar ingeniería inversa y comprender. Que yo sepa, no hay disponible un estudio de ingeniería inversa completo del sector de arranque NTFS para las últimas versiones de Windows. (Y, sin embargo, voté por esta respuesta.)
Mahmoud Al-Qudsi
@ MahmoudAl-Qudsi bootsect.exetrata el código en el MBR y en el VBR como el gestor de arranque. El problema de lenguaje al que se refiere el OP está en la parte más grande de VBR.
jiggunjer
0

1) Conecte la unidad que contiene la partición NTFS en una máquina que ejecuta Linux, use un editor de disco / hexadecimal o el comando dd; o 2) Arrancar en algún linux en CD / DVD, y luego lo mismo; o 3) Haga lo mismo con un sistema Windows, pero el volumen NTFS que se debe editar debe desmontarse en Windows Vista y versiones posteriores. Tiene 4 cadenas de mensajes, codificadas en ASCII, con desplazamientos iniciales (relativos al desplazamiento 100 h en el registro de inicio de volumen) en los bytes 1F8h a 1FBh. El área desde el desplazamiento 180h hasta el desplazamiento 1F7h parece estar disponible para estos mensajes. Hay una copia del registro de inicio de volumen al final de la partición.

kreemoweet
fuente
0

Puede probar esto (si su instalación de Windows está en C: partición)

bcdboot c:\Windows /l it-it

o con bcdedit

bcdedit /set {bootmgr} locale it-IT
bcdedit /set locale it-IT

o, con bcdedit dependiendo de su configuración (conozca su configuración escribiendo bcdedit)

bcdedit /set {default} it-IT
bcdedit /set {current} it-IT 

Puede encontrar documentación sobre el comando 'bcdboot' aquí:

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

y 'bcdedit' aquí:

http://technet.microsoft.com/fr-fr/library/cc709667%28WS.10%29.aspx

díganos cuál funciona para usted, si es así ...

Riad Krim
fuente
Ambos comandos afectan al administrador de arranque, no al sector de arranque ...
Massimo