Wie schreibe ich einen lokalisierten NTFS-Bootsektor?

1844
Massimo

Wenig unbekannte Tatsache: NTFS-Bootsektoren gibt es in verschiedenen Sprachen. Sie können " BOOTMGR is missing" und " Press Ctrl+Alt+Del to restart" sagen, aber sie können dasselbe auch in anderen Sprachen sagen. Dies hängt vom Gebietsschema des Windows-Systems ab, das Sie beim Erstellen und Formatieren der Partitionen verwenden.

Aufgrund einer herumliegenden Malware musste ich den NTFS-Boot-Sektor meines Systemlaufwerks neu schreiben, das ein Rootkit verdeckte. Ich habe dies mit dem bootsect.exeTool auf der Installations-DVD gemacht, der gleichen Installations-DVD in italienischer Sprache, die ich ursprünglich zur Installation von Windows verwendet habe. Dort war auch eine nette bootsect.exe.mui-Datei in einem it-IT-Ordner. Aber das Tool sprach Englisch, und mein NTFS-Bootsektor spricht jetzt auch Englisch (und natürlich nicht).

Ich weiß, dass dies eine rein kosmetische Sache ist, aber ich würde gerne wissen: Wie erstelle ich einen lokalisierten NTFS-Boot-Sektor (ohne natürlich die Partition in einem lokalisierten System neu zu formatieren)?

8
Ich vermute, dass fixmbr von der Wiederherstellungskonsole in Ihrer Installation lokalisiert wird. Das sollte es wohl tun. A Dwarf vor 13 Jahren 3
(+1) Sehr gute Frage übrigens, Massimo. :) Zu meiner Favoritenliste hinzugefügt. A Dwarf vor 13 Jahren 0
Es gibt kein "fixmbr" in Windows 7 ... die nächsten Dinge sind bootsect.exe und bootrec.exe; Ich habe versucht, sie von der Installations-DVD (die * lokalisiert * ist) zu verwenden, endete aber mit einem englischen Boot-Sektor. Ich versuche es erneut von der Wiederherstellungskonsole. Massimo vor 13 Jahren 1
Sie haben beide getestet und in einer lokalisierten Windows-Wiederherstellungsumgebung ausgeführt. Sowohl bootsect.exe als auch bootrec.exe erstellen englischsprachige Bootsektoren. Massimo vor 13 Jahren 0
Es gibt zwei Möglichkeiten, um bootsect zu verwenden. Sie können nur einen Laufwerksbuchstaben verwenden, und der Bootloader wird in die Partition geschrieben, oder Sie können die Option / mbr verwenden, die ihn in den MBR schreibt. Hast du beide probiert? Und ehrlich gesagt, ist die Sprache wirklich wichtig? In diesem kleinen Bootloader-Code gibt es nur wenige Zeichenfolgen, die Sie meistens nicht einmal sehen. Ich gehe davon aus, dass das OS-Auswahlmenü korrekt angezeigt wird. billc.cn vor 13 Jahren 0
Ja, ich habe beides versucht. Und nein, die Sprache spielt eigentlich keine Rolle, wie ich in der Frage festgestellt habe ("das ist eine rein kosmetische Sache"); Ich war nur neugierig ... Massimo vor 13 Jahren 0
Passt Ihre Sprache in ASCII oder zumindest in die Standardschriftart für Ihre BIOS-Umgebung? Wenn nicht, ist es unmöglich. Wenn ja, sollten Sie versuchen, den Bootsektor mit dem Hex-Editor zu "reparieren" oder zu dekompilieren und erneut zu kompilieren. Eir Nym vor 12 Jahren 0
Haben Sie ein Bild oder einen Screenshot davon in einer anderen Sprache als Englisch? Ich bin ehrlich gesagt noch nie darauf gestoßen. Mahmoud Al-Qudsi vor 8 Jahren 0

5 Antworten auf die Frage

1
Abraxas

Verschiedene Nachrichten kommen aus verschiedenen Orten. Wenn Sie jedoch die Boot-Dateien wie bootmgr, BCD (von einem System mit der gleichen Boot-Konfiguration), bootsect.dat, boot.sdi oder eine beliebige Kombination von Dateien, die Sie haben, ersetzen, denke ich, dass Sie die Meldungen darin finden Ihre gewählte Sprache

Der * Bootloader * spricht die richtige Sprache; Es ist der * Bootsektor *, der nicht funktioniert. Massimo vor 13 Jahren 0
Streng genommen ist der Code in der VBR auch ein Bootloader. JdeBP vor 13 Jahren 0
Die Bootloader befinden sich in Bootsektoren. Bootsektoren sind kein Code, sondern Standorte. jiggunjer vor 8 Jahren 0
1
kinokijuf

Auf meinem Vista ist der Bootsektor in Englisch, obwohl ich ein polnisches System habe. Ich habe von den Original-Microsoft-Festplatten installiert. Vielleicht war Ihr Bootssektor ein gehackter OEM.

Offizielles Microsoft ISO-Image, heruntergeladen von MSDN. Massimo vor 12 Jahren 0
Mein ist auch offiziell. kinokijuf vor 12 Jahren 0
0
Mikhail Kupchik

Der Bootsektor ist ziemlich klein (nur 512 Bytes). Sie können ihn also einfach zerlegen (von NDISASM bis IDA), die Meldungen korrigieren und dann wieder zusammenbauen (NASM macht das möglich).

Dies erfordert ein wenig Programmierkenntnisse und vielleicht auch das Lesen einiger x86 Assembler-Lehrbücher. Wenn Sie sich aber bemühen, können Sie dies durchaus tun.

nicht 512, sondern 446 Bytes. Andere Bytes sind für die Partitionstabelle reserviert. Eir Nym vor 12 Jahren 2
Der Kern dieses Kommentars ist wahr, aber die Aussagen, die er macht, sind nicht richtig. Der Bootssektor ist nicht der MBR. Der MBR ist 512 Bytes (446 ohne Partitionstabelle), während der Bootsektor mindestens um ein oder zwei Größenordnungen größer ist und erheblich komplizierter ist, um das Reverse Engineering durchzuführen und zu verstehen. Meines Wissens ist für die neuesten Windows-Versionen keine vollständige umgekehrte Studie des NTFS-Bootsektors verfügbar. (Und doch habe ich diese Antwort bestätigt.) Mahmoud Al-Qudsi vor 11 Jahren 0
@ MahmoudAl-Qudsi `bootsect.exe` behandelt den Code im MBR und in der VBR als Bootloader. Das Sprachproblem, auf das sich das OP bezieht, liegt in der Tat im größeren VBR-Teil. jiggunjer vor 8 Jahren 0
0
kreemoweet

1)Plug the drive containing the NTFS partition into a machine running linux, use a disk/hex editor, or the dd command; or 2)Boot into some linux on CD/DVD, and then ditto; or 3) Do the same with a Windows system, but the NTFS volume to be edited must be unmounted in Windows Vista and later. You have 4 message strings, ascii encoded, with starting offsets (relative to offset 100h in Volume Boot Record) given in bytes 1F8h thru 1FBh. The area from offset 180h thru offset 1F7h seems to be available for these messages. There is a copy of the Volume Boot Record at the very end of the partition.

0
TwiterZX

Sie können dies versuchen (wenn Ihre Windows-Installation in C: Partition ist)

bcdboot c:\Windows /l it-it 

oder mit bcdedit

bcdedit /set locale it-IT bcdedit /set locale it-IT 

oder mit bcdedit abhängig von Ihrer Konfiguration (kennen Sie Ihre Konfiguration, indem Sie bcdedit eingeben)

bcdedit /set it-IT bcdedit /set it-IT  

Dokumentation zum Befehl 'bcdboot' finden Sie hier:

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

und 'bcdedit' hier:

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

Sagen Sie uns, welche für Sie arbeitet, wenn es funktioniert ..!

Beide Befehle wirken sich auf den Bootmanager aus, nicht auf den Bootsektor. Massimo vor 12 Jahren 0