Как написать локализованный загрузочный сектор NTFS?

1772
Massimo

Малоизвестный факт: загрузочные сектора NTFS существуют на разных языках. Они могут сказать « BOOTMGR is missingи» Press Ctrl+Alt+Del to restart, но они также могут сказать то же самое на других языках. Это зависит от локали системы Windows, которую вы используете при создании и форматировании разделов.

Из-за беспорядка вредоносного ПО мне пришлось переписать загрузочный сектор NTFS моего системного диска, который скрывал руткит; Я сделал это с помощью bootsect.exeинструмента на установочном DVD, том же установочном DVD на итальянском языке, который я использовал для первоначальной установки Windows; там же был хороший файл bootsect.exe.mui в папке it-IT. Но инструмент говорил по-английски, и мой загрузочный сектор NTFS теперь тоже говорит по-английски (и, конечно, раньше этого не было).

Я знаю, что это чисто косметическая вещь, но я хотел бы знать: как создать локализованный загрузочный сектор NTFS (конечно, без переформатирования раздела в локализованной системе)?

8
Я подозреваю, что fixmbr из консоли восстановления в вашей установке может быть локализован. Это, вероятно, должно сделать это. A Dwarf 13 лет назад 3
(+1) Очень хороший вопрос, Массимо. :) Добавлено в мой список избранных. A Dwarf 13 лет назад 0
В Windows 7 нет «fixmbr» ... самые близкие вещи - это bootsect.exe и bootrec.exe; Я попытался использовать их с установочного DVD (который * локализован *), но в итоге получился загрузочный сектор на английском языке. Я попробую еще раз из консоли восстановления. Massimo 13 лет назад 1
Протестировал их обоих, запустив их из локализованной среды восстановления Windows. И bootsect.exe, и bootrec.exe создадут загрузочные секторы на английском языке. Massimo 13 лет назад 0
Есть два способа использования bootsect. Вы можете использовать только букву диска, и загрузчик будет записан в раздел, или вы можете использовать параметр / mbr, который записывает его в MBR. Вы пробовали оба? И, честно говоря, действительно ли язык имеет значение? В этом крошечном коде загрузчика есть только несколько строк, и вы даже не видите их большую часть времени. Я полагаю, ваше меню выбора ОС отображается правильно? billc.cn 13 лет назад 0
Да, я пробовал оба. И нет, язык вообще не имеет значения, как я уже говорил в вопросе («это чисто косметическая вещь»); Мне было просто любопытно, хотя ... Massimo 13 лет назад 0
Ваш язык вписывается в ASCII или хотя бы шрифт по умолчанию для вашей среды BIOS? Если это не так, это невозможно. если да, вы должны попытаться «исправить» загрузочный сектор с помощью шестнадцатеричного редактора или декомпилировать и перекомпилировать его снова. Eir Nym 12 лет назад 0
У вас есть картинка или скриншот этого на любом языке, кроме английского? Я, честно говоря, никогда не сталкивался с этим раньше. Mahmoud Al-Qudsi 8 лет назад 0

5 ответов на вопрос

1
Abraxas

Разные сообщения приходят из разных мест. Но если вы замените загрузочные файлы, такие как bootmgr, BCD (из системы с точно такой же конфигурацией загрузки), bootsect.dat, boot.sdi или любой другой комбинацией файлов, я думаю, вы найдете сообщения в ваш выбранный язык.

* Загрузчик * говорит на правильном языке; это * загрузочный сектор *, которого нет. Massimo 13 лет назад 0
Строго говоря, код в VBR также является загрузчиком. JdeBP 13 лет назад 0
загрузчики находятся в загрузочных секторах. загрузочные секторы - это не код, а локации. jiggunjer 8 лет назад 0
1
kinokijuf

На моей Vista загрузочный сектор написан на английском, хотя у меня польская система. Я установил с оригинальных дисков Microsoft. Возможно, ваш загрузочный сектор был взломан OEM.

Официальный образ Microsoft ISO, загруженный с MSDN. Massimo 12 лет назад 0
Мой тоже официальный. kinokijuf 12 лет назад 0
0
Mikhail Kupchik

Загрузочный сектор довольно маленький (всего 512 байт), так что вы можете просто разобрать его (используя что-нибудь от NDISASM до IDA), исправить сообщения и затем собрать его снова (NASM сделает).

Это требует немного навыков программирования, а также, возможно, чтения некоторых учебников по x86-ассемблеру, но, конечно, если вы будете стремиться к этому, то, конечно же, ничего.

не 512, а 446 байт. другие байты зарезервированы для таблицы разделов. Eir Nym 12 лет назад 2
Суть этого комментария верна, но утверждения, которые он делает, - нет. Загрузочный сектор не является MBR. MBR составляет 512 байт (446 без таблицы разделов), тогда как загрузочный сектор по крайней мере на порядок или два больше и значительно сложнее для обратного проектирования и понимания. Насколько мне известно, нет полного обратного изучения загрузочного сектора NTFS для последних версий Windows. (И все же я проголосовал за этот ответ.) Mahmoud Al-Qudsi 11 лет назад 0
@ MahmoudAl-Qudsi `bootsect.exe` обрабатывает код в MBR и VBR как загрузчик. Проблема языка, на которую ссылается OP, действительно заключается в большей части VBR. jiggunjer 8 лет назад 0
0
kreemoweet

1) Подключите диск, содержащий раздел NTFS, к машине под управлением Linux, используйте редактор диска / шестнадцатеричного кода или команду dd; или 2) Загрузите Linux на CD / DVD, а затем то же самое; или 3) Сделайте то же самое с системой Windows, но редактируемый том NTFS должен быть отключен в Windows Vista и более поздних версиях. У вас есть 4 строки сообщений, закодированные в ascii, с начальными смещениями (относительно смещения 100h в Volume Boot Record), заданными в байтах с 1F8h по 1FBh. Область со смещения от 180h до 1F7h, по-видимому, доступна для этих сообщений. Копия Volume Boot Record находится в самом конце раздела.

0
TwiterZX

Вы можете попробовать это, (если ваша установка Windows находится в разделе C:)

bcdboot c:\Windows /l it-it 

или с помощью bcdedit

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

или с bcdedit в зависимости от вашей конфигурации (узнайте свою конфигурацию, набрав bcdedit)

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

вы можете найти документацию по команде 'bcdboot' здесь:

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

и 'bcdedit' здесь:

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

скажите нам, какой из них работает для вас, если это работает ..!

Обе эти команды влияют на менеджер загрузки, а не на загрузочный сектор ... Massimo 12 лет назад 0