ローカライズされたNTFSブートセクターを作成する方法


8

ほとんど知られていない事実:NTFSブートセクターにはさまざまな言語があります。「BOOTMGR is missing」や「Press Ctrl+Alt+Del to restart」と言うこともできますが、他の言語でも同じことが言えます。これは、パーティションを作成してフォーマットするときに使用しているWindowsシステムのロケールによって異なります。

マルウェアがいじくっていたため、ルートキットを隠していたシステムドライブのNTFSブートセクターを書き換える必要がありました。これは、bootsect.exeWindowsのインストールに最初に使用したのと同じイタリア語のインストールDVDであるインストール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を使用するには2つの方法があります。ドライブ文字を単独で使用すると、ブートローダーがパーティションに書き込まれるか、MBRに書き込む/ mbrオプションを使用できます。両方試しましたか?そして率直に言って、言語は本当に重要ですか?その小さなブートローダーコードにはほんの少しの文字列しかなく、ほとんどの場合それらは表示されません。OS選択メニューが正しく表示されると思いますか?
billc.cn 2011

回答:


1

さまざまな場所からさまざまなメッセージが送信されます。しかし、bootmgr、BCD(まったく同じブート構成のシステムから)、bootsect.dat、boot.sdi、またはファイルの任意の組み合わせなどのブートファイルを置き換える場合、メッセージは次の場所にあると思います選択した言語。


ブートローダーは正しい言語を話します。起動しないのはブートセクターです。
Massimo

厳密に言うと、VBRのコードはブートローダーであります。
JdeBP '19

ブートローダーはブートセクターにあります。ブートセクターはコードではなく、場所です。
jiggunjer

1

Vistaの場合、ポーランド語のシステムを使用していますが、ブートセクターは英語です。元のMicrosoftディスクからインストールしました。おそらく、あなたのブートセクターはOEMハッキングされたものでした。


MSDNからダウンロードされた公式のMicrosoft ISOイメージ。
Massimo

鉱山も公式です。
kinokijuf

0

ブートセクターは非常に小さい(512バイトのみ)ので、(NDISASMからIDAまでの任意のものを使用して)逆アセンブルし、メッセージを修正して、再度再アセンブルできます(NASMが実行します)。

これには、少しプログラミングスキルが必要です。また、x86アセンブラの教科書を読むことも必要かもしれませんが、十分に努力すれば間違いなく可能です。


2
512ではなく、446バイトです。他のバイトはパーティションテーブル用に予約されています。
Eir Nym

このコメントの本質は真実ですが、その発言はそうではありません。ブートセクターはMBRではありません。MBRは512バイト(パーティションテーブルなしでは446)ですが、ブートセクタは少なくとも1〜2桁大きく、リバースエンジニアリングと理解がかなり複雑です。私の知る限り、最新バージョンのWindowsで利用できるNTFSブートセクターの完全なリバースエンジニアリング調査はありません。(それでも、私はこの答えに賛成しました。)
Mahmoud Al-Qudsi 2013年

@ MahmoudAl-Qudsi bootsect.exeは、MBRとVBRのコードをブートローダーとして扱います。OPが参照している言語の問題は、実際には大きなVBRの部分にあります。
jiggunjer 2016年

0

1)NTFSパーティションを含むドライブをlinuxを実行しているマシンに接続し、ディスク/ hexエディター、またはddコマンドを使用します。または2)CD / DVDでLinuxを起動してから、同上。または3)Windowsシステムでも同じことを行いますが、編集するNTFSボリュームはWindows Vista以降でアンマウントする必要があります。開始オフセット(ボリュームブートレコードのオフセット100hを基準とする)がバイト1F8hから1FBhで指定された、ASCIIエンコードされた4つのメッセージ文字列があります。オフセット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/en-us/library/cc731245%28WS.10%29.aspx

ここで 'bcdedit':

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

効果がある場合は、どれが効果的かを教えてください。


これらのコマンドは両方とも、ブートセクターではなく、ブートマネージャーに影響します...
Massimo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.