変換 - windows10 mbr 修復 コマンド




WindowsのMBRを変更する (2)

ブートローダーを変更することは悪いことですが、悪い考えです。 可能性のある落とし穴のほんの一部です:

  • ディスク暗号化製品(Truecrypt、PGP、VistaのBitLockerなど)を完全に殺す可能性があります。
  • 潜在的にAV製品(ユーザーを怖がらせる)
  • 複雑なブートシナリオ(連鎖ブートローダーなど)
  • TPMモジュールを使用しているとき(MBRが実行される前にMBRが変更されているかどうかをチェックするため)
  • Vistaからの直接ディスクアクセスは許可されていません(ドライバのみ使用)

代わりに(ブート時にロードするように設定されたドライバを介して、またはWindowsがブートした後に、Windowsブート中にハードウェアレジスタを変更するなど)、実際に考慮する必要があります。 変更がポートへの書き込みと同じくらい単純な場合、つまり:

OUT AX, BL

ユーザモードから呼び出せる、これを行うことができる(特定のポートから値を読み書きする)すべてのウィンドウバージョンのドライバが存在します。

私はWindowsのMBRを変更する必要があり、私はWindowsからこれをやりたいと思っています。

ここに私の質問があります。 CreateFileを呼び出すと、物理的なデバイスでハンドルを取得できることがわかります。 MBRは常に\\。\ PHYSICALDRIVE0にありますか? また、私はまだディスクから直接読み取るWindows APIを学んでいます。 readabsolutesectorsとwriteabsolutesectdorsは、MBRを含むディスクセクタを読み書きするために使用する必要がある2つの関数ですか?

私が自分で学んだことから編集する。 MBRは常に\\。\ PHYSICALDRIVE0にあるとは限りません。 また、MBRを含むドライブのデバイス名を使ってCreateFileを呼び出すことで、ブートセクタに書き込むことができます(少なくともXPでは管理者として)。 また、WriteFileを呼び出し、CreateFileを呼び出して作成したデバイスのハンドルを渡すだけで、このドライブに書き込むことができます。

Joel Coehoornに対処するために編集します。 私はMBRを編集する必要があります。なぜなら私は、BIOSでPOST後にハードウェアレジスタを変更する必要があるプロジェクトを処理していますが、Windowsは起動する前に作業するからです。 私たちの計画は、Windowsが起動する前にコードを実行するようにブートローダを変更して、これらの変更を行うことです。

Cd-MaNのための編集。 情報をありがとう。 あなたの答えには何もありませんが、私は知らなかったし、あなたの答えは私の質問に対処していません。 レジストリは特に、私たちが複数の理由から必要としていることを絶対にしません。 大きな理由は、Windowsが、当社の製品で実行される複数のソフトウェア層の中で最上位層であるということです。 これらの変更は、下位レベルが実行される前でも発生する必要があるため、レジストリは機能しません。

Cd-MaNのためのPS。 私が理解しているように、あなたが与える情報はあまり正しいものではありません。 Vistaの場合、書かれているセクタがブートセクタであれば、ボリュームに書き込むことができると思います。 http://support.microsoft.com/kb/942448


PXEブートシナリオが役立つかもしれませんか? 手作業で作成したPXEイメージを起動して、変更する必要があるハードウェアレジスタを変更し、マスタブートレコードまたはアクティブパーティションのブートレコードに制御を戻します。

この方法では、ブートレコードを変更する必要はありません。





mbr