Як написати локалізований завантажувальний сектор NTFS?


8

Мало невідомий факт: завантажувальні сектори NTFS бувають різними мовами. Вони можуть сказати " BOOTMGR is missing" і " Press Ctrl+Alt+Del to restart", але вони можуть сказати те ж саме і іншими мовами. Це залежить від місцеположення системи Windows, яку ви використовуєте під час створення та форматування розділів.

Через зникнення зловмисного програмного забезпечення мені довелося переписати завантажувальний сектор NTFS мого системного диска, який приховував руткіт; Я зробив це, використовуючи bootsect.exeінструмент на інсталяційному DVD, той самий інсталяційний DVD на італійській мові, який я використовував для встановлення Windows спочатку; У папці it-IT також був хороший файл bootsect.exe.mui. Але інструмент розмовляв англійською мовою, і мій завантажувальний сектор NTFS зараз також розмовляє англійською (і, звичайно, раніше не було).

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


3
Я підозрюю, що fixmbr з консолі відновлення у вашій установці може бути локалізованим. Це, мабуть, повинно це зробити.
Гном

(+1) Дуже гарне запитання до речі, Массімо. :) Додано до мого списку фаворитів.
Гном

1
У Windows 7 немає "fixmbr" ... найближчі речі - bootsect.exe і bootrec.exe; Я намагався використовувати їх з установочними DVD (який є локалізованим), але в підсумку з завантажувальним сектором на англійській мові. Я спробую ще раз з консолі відновлення.
Массімо

Випробували обидва, запустивши їх з локалізованого середовища відновлення Windows. І bootsect.exe, і bootrec.exe створять завантажувальні сектори на англійській мові.
Массімо

Існує два способи використання bootsect. Ви можете використовувати букву диска самостійно, і завантажувач буде записаний на розділ або ви можете скористатися параметром / mbr, який записує його в MBR. Ви пробували обидва? І, чесно кажучи, чи справді мова має значення? У цьому крихітному коді завантажувача є лише кілька рядків, і ви навіть їх не бачите більшість часу. Я припускаю, що ваше меню вибору ОС відображається правильно?
billc.cn

Відповіді:


1

З різних місць надходять різні повідомлення. Але якщо ви заміните файли завантаження, такі як bootmgr, BCD (із системи з точно такою ж конфігурацією завантаження), bootsect.dat, boot.sdi або будь-яку комбінацію файлів, які у вас є, я думаю, ви знайдете повідомлення в обрана вами мова.


Завантажувач каже правильну мову; це не завантажувальний сектор .
Массімо

Строго кажучи, код у VBR також є завантажувачем.
JdeBP

завантажувачі розташовані у завантажувальних секторах. завантажувальні сектори не є кодом, вони є місцями.
jiggunjer

1

У моїй Vista завантажувальний сектор є англійською мовою, хоча я маю польську систему. Я встановив з оригінальних дисків Microsoft. Можливо, ваш завантажувач був злом OEM.


Офіційне зображення ISO ISO, завантажене з MSDN.
Массімо

Моя теж офіційна.
kinokijuf

0

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

Для цього потрібно трохи навичок програмування, а також, можливо, читання деяких підручників по асемблеру x86, але, безумовно, Doabe, якщо ви досить прагнете.


2
не 512, а 446 байт. інші байти зарезервовані для таблиці розділів.
Eir Nym

Суть цього коментаря правдива, але заяви, які він робить, ні. Бутсектор не є MBR. MBR становить 512 байтів (446 без таблиці розділів), тоді як завантажувач на принаймні на порядок більший і набагато складніший, щоб реверсувати інженер і зрозуміти його значно складніше. Наскільки мені відомо, не існує повного реверсивного дослідження завантажувального пристрою NTFS для останніх версій Windows. (І все-таки я підтримав цю відповідь.)
Махмуд Аль-Кудсі

@ MahmoudAl-Qudsi bootsect.exeрозглядає код у MBR та VBR як завантажувач. Мовна проблема, про яку йдеться в ОП, дійсно є в більшій частині VBR.
jiggunjer

0

1) підключіть привід, що містить розділ NTFS, до машини, на якій працює Linux, скористайтеся редактором диска / шестигранника або командою dd; або 2) завантажтесь на якийсь Linux на CD / DVD, а потім ditto; або 3) Зробіть те ж саме з системою Windows, але том NTFS для редагування повинен бути відключений у Windows Vista та пізніших версіях. У вас є 4 рядки повідомлень, кодовані ascii, із початковими зміщеннями (відносно зміщення 100h у записі завантаження обсягу), заданими в байтах 1F8h через 1FBh. Область від смещення 180 год до зміщення 1F7h, здається, доступна для цих повідомлень. В самому кінці розділу є копія запису об'ємного завантаження.


0

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

bcdboot c:\Windows /l it-it

або, з bcdedit

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

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

bcdedit /set {default} it-IT
bcdedit /set {current} 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

скажи нам, хто з них працює, якщо це так! ..


Обидві ці команди впливають на диспетчер завантаження, а не на завантажувальний сектор ...
Массімо
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.