web-dev-qa-db-ja.com

MBRのブートコードをゼロにするにはどうすればよいですか?

Windowsシステムに2つのドライブがあります。

  • ドライブ1、システムおよびブート。
  • ドライブ2、データストレージ。

以前、2番目のドライブにWindowsをインストールしていました。現在のセットアップが完了したので、ドライブ2のブートセクターからWindowsからブートコードを削除したいと思います。具体的には、パーティションテーブルなどを消去したくないので、削除(ゼロアウト)します。 NTLDRを探すコードのほんの少し。

これを行うためのソフトウェアまたはコマンドはありますか?

1
K.A.Monica

MBRは、DOSスタイルのパーティションテーブルの場合、ドライブの開始時に非常に小さなセクターのコレクションとして常にドライブに存在します。

ブートコードに加えて、ドライブのパーティションテーブルが含まれているため、削除する必要はありません。それを失うことは、ディスク上のデータが無傷であるにもかかわらず、突然取得するのが非常に困難になることを意味します(私が見たほとんどのOSは悪いフォーマットを報告し、Windowsはドライブをフォーマットしない場合はフォーマットするかどうかを尋ねますパーティションテーブルを理解する)。

詳細: http://technet.Microsoft.com/en-us/library/cc976786.aspx

編集:あなたが質問を編集したので、私は私の答えを更新します。 ddはそれを拭くことができます。 Linux livecdを起動し、マウントされていないデータドライブで実行します。

dd if=/dev/<path to data drive> of=/dev/<somewhere safe on windows drive>/mbr.img bs=512 count=1

これにより、問題が発生した場合に備えて、パーティションテーブルを含むMBRの512バイトのバックアップが提供されます。

446バイトのブートストラップをワイプするには:

dd if=/dev/zero of=/dev/<path of data drive> bs=446 count=1 seek=0

達成しようとしていることによっては、MBRの最初の440バイトだけをワイプしたい場合があります。最初の440バイトに続く4バイトには、保持したいWindows固有のディスク署名が含まれています。最初の440バイトのみをワイプするには、次のコマンドを使用します。

dd if=/dev/zero of=/dev/<path of data drive> bs=440 count=1 seek=0
4
Xyon

ディスク管理でアクティブではないものとしてマークすることは、状況に十分すぎるはずです。

2
Bryan

複雑な答えを前もってお許しください。でも、あなたが何をしたいのかよくわかりません(またはもっと良い:なぜ)。

FDISK /CMBRコマンドを探していると思います。同じタスクを実行するユーティリティもあります。 Paragon Partition Magic、またはブート/パーティションエディタ。

あなたがしたいのは、MBRを書き直すことですそして D:パーティションを非システムに設定します(アクティブではない、起動できない、Bフラグがないなど)。

FDISK/CMBRは、システム以外のディスクでのみ動作する必要があることに注意してください。多くのブートローダーは、正しいフォーマットまたはジオメトリでディスクを「見る」ために、後で必要のコードをインストールします。それらをストックローダー(/ CMBRが行うこと)に置き換えると、前のコードが復元されるまでディスクにアクセスできなくなる可能性があります。

起動シーケンスなどに干渉するためにディスクを起動不可にする必要がある場合(たとえば、起動する代わりに「NTLDRが見つかりません」というエラーが表示される場合)、起動デバイスの順序のBIOSパラメータを変更することをお勧めします。または、FDISKのようなユーティリティを使用して、そのドライブ上のすべてのパーティションを非システムとしてマークします。ピンチでは、2台のハードディスクを交換しても同じ結果が得られるはずです。

それ以外の場合は、柔軟な起動オプション(Linux、Windows、またはスタートアップメニュー画面からの別のWindowsの起動など)の実装に役立つ「選択的ブートローダー」(GRUBなど)があります。

1
LSerni