如何编写本地化的NTFS引导扇区?


8

鲜为人知的事实:NTFS引导扇区使用不同的语言。他们可以说“ BOOTMGR is missing”和“ Press Ctrl+Alt+Del to restart”,但也可以用其他语言说同样的话。这取决于创建和格式化分区时使用的Windows系统的区域设置。

由于周围有恶意软件,我不得不重写系统驱动器的NTFS引导扇区,该扇区隐藏了一个rootkit。我是使用bootsect.exe安装DVD上的工具完成此操作的,这与我最初用于安装Windows的意大利语安装DVD相同;那里的it-IT文件夹中也有一个不错的bootsect.exe.mui文件。但是该工具说英语,而我的NTFS引导扇区现在也说英语(当然,以前也没有)。

我知道这纯粹是装饰性的事情,但我想知道:如何创建本地化的NTFS引导扇区(当然,无需在本地化的系统中重新格式化分区)?


3
我怀疑您安装的故障恢复控制台中的fixmbr可能已本地化。那可能应该做。
矮人

(+1)顺便问一下,马西莫。:)已添加到我的收藏夹列表。
矮人

1
Windows 7中没有“ fixmbr”……最接近的是bootsect.exe和bootrec.exe;我尝试从安装DVD(本地化)中使用它们,但最终使用的是英语启动扇区。我将在故障恢复控制台中重试。
Massimo

测试了它们两个,并从本地化的Windows恢复环境运行它们。bootsect.exe和bootrec.exe都将创建英语启动扇区。
Massimo

有两种使用bootsect的方法。您可以单独使用驱动器号,引导加载程序将被写入分区,也可以使用/ mbr选项将其写入MBR。你们都尝试过吗?坦白说,语言真的重要吗?在很小的引导加载程序代码中只有很少的字符串,而且您大部分时间甚至都看不到它们。我认为您的操作系统选择菜单显示正确吗?
billc.cn 2011年

Answers:


1

不同的消息来自不同的地方。但是,如果您替换启动文件,例如bootmgr,BCD(来自具有完全相同的启动配置的系统),bootsect.dat,boot.sdi或所拥有的文件的任意组合,我想您会在其中找到消息。您选择的语言。


引导装载程序讲正确的语言; 它不是引导扇区
Massimo

严格来说,VBR中的代码也是引导加载程序。
JdeBP 2011年

引导加载程序位于引导扇区中。引导扇区不是代码,而是位置。
jiggunjer '16

1

在我的Vista上,即使我使用的是波兰语系统,引导扇区也是英语的。我是从原始Microsoft磁盘安装的。也许您的引导程序是被OEM入侵的引导程序。


从MSDN下载的官方Microsoft ISO映像。
Massimo

我的也是官方的。
kinokijuf 2011年

0

引导扇区很小(只有512字节),因此您可以将其反汇编(使用从NDISASM到IDA的任何内容),修复消息,然后重新组装(NASM可以)。

这需要一些编程技巧,也许还需要阅读一些x86汇编器教科书,但是如果您付出了足够的努力,那么肯定可以这样做。


2
不是512,而是446个字节。其他字节保留给分区表。
Eir Nym

该评论的本质是正确的,但其所作的陈述并非如此。引导程序不是MBR。MBR为512字节(不带分区表的446个字节),而引导扇区至少大一个或两个数量级,并且反向工程和理解起来要复杂得多。据我所知,没有针对Windows最新版本的完整的NTFS引导程序反向工程研究。(不过,我对此答案表示赞同。)
Mahmoud Al-Qudsi 2013年

@ MahmoudAl-Qudsi bootsect.exe将MBR和VBR中的代码视为引导程序。OP所指的语言问题确实在较大的VBR部分中。
jiggunjer '16

0

1)将包含NTFS分区的驱动器插入运行linux的计算机中,使用磁盘/十六进制编辑器或dd命令;或2)引导进入CD / DVD上的某些Linux,然后同上;或3)在Windows系统上执行相同的操作,但是要编辑的NTFS卷必须在Windows Vista及更高版本中卸载。您有4个消息字符串,以ascii编码,具有以字节1F8h至1FBh给出的起始偏移量(相对于Volume Boot Record中的偏移量100h)。从偏移量180h到偏移量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/zh-cn/library/cc731245%28WS.10%29.aspx

和“ bcdedit”在这里:

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

告诉我们哪一种适合您,如果可行。


这两个命令都影响引导管理器,而不影响引导扇区……
Massimo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.