DOSのFDISKのFdisk /mbr 機能の代用プログラム

[ FDSKMBR ] Version 1.26

Copyright 2008-13 まりも(DOSsoft)

■ もうFDISKコマンドを使ってはいけません

 ハードディスクの初期化時、あるいはWindowsのディスク署名を初期化 したいときに、「FDISK /mbr」のコマンドを使うことがあります。しかし 古い時代に作られた(Windows98SEの時代)FDISKコマンドは、大容量のハード ディスクに対応しておらず、思わぬ誤動作を引き起こす問題があります。 たとえば、fdisk /mbr の実行をするだけで、本来は手を付けないはずの パーティションテーブルを破壊してしまうという重大な問題があります。 すでにパーティションがあるにもかかわらず、勝手に、8023MBの基本区画を 1個だけ作ることがあるのです。このように、現在の大容量ディスク環境では DOS/Windows98のfdiskコマンドはもはや使うことはできません。

 しかしWindows2000,XPのドライブレター割り当てを初期化する目的など、 ディスク署名の初期化をしたい場合に、fdisk /mbrが使用できないのは 不便です。この操作は、Windows2000,XP自身で行うことができません。 そこで、fdisk /mbr (/cmbr ドライブ番号)に相当する機能を持つ プログラムを作りました。

■ 詳細

 Fdisk /mbrコマンドで行われるのは、次の3つのことです。

 本プログラムFDSKMBRでも、これらと同じことをおこないます。 パーティションテーブルはそのまま残されます。

 Windowsディスク署名について参考までに述べておきます。 Windowsディスク署名は、Windows2000,XPなどにおいて、ハードディスク装置を 一意的に同定し、ドライブレターを固定する目的で、4バイトのランダムな 数値が書き込まれます。Windowsのレジストリに署名値とドライブレターの 対応が記録されるので、次回以降に起動したときもそのドライブレターが 割り当てられます。しかしハードディスクを丸ごとでなく領域単位でコピー した場合などは、署名値が異なるものであったり未知のものであるため、 本来のドライブ文字とは違う物が割り当てられてしまいます。これが Windowsの起動ドライブである場合(通常はC:)には、起動ができなくなって しまいます。ディスク署名を初期化(ゼロに)すると、Windowsは新たに ドライブレターを割り振りなおしますので、正常に起動できるようになります。

■ このプログラムの動作環境と動作

  • PC/AT互換機
  • HDDインターフェイスのDISK BIOSがINT13h extensionをサポートしていること
  • Windows95OSR2~Windows98SEのピュアDOS上(DOS窓は不可)
  • MS-DOS 6.2V以前はおそらく不可

    DOSコマンドラインから、FDSKMBRとタイプして起動してください。
    ディスクドライブの選択画面が現れますので、選んでください。

    ■ 注意点

     【USBディスクドライブには適用禁止】 USBストレージがDISK BIOS管理下にある場合があり、本プログラムでは ディスクの選択リストに現れますが、USBストレージからWindows2000やXPを起動 することはなく、ディスク署名値によってドライブレターが固定化されるのでも ないため、適用する意味はありません。またUSBストレージではスーパー フロッピー形式でフォーマットされている場合がかなりあり、MBR形式では ないのに無理に適用すると、ファイルシステムを破壊することになります。

     2テラバイト以上のHDDを繋いだ場合、BIOSあるいはOSによっては、 MBR形式のパーティション管理ではないディスクとなっている場合があります。 またWindows Vista以降では、GPT形式というものが採用されることがあります。 本プログラムでは、従来どおりのMBR形式のものしか対応していません。 GPTディスクである場合でも強制的にfdskmbrを適用したい場合には、 起動オプションとして /f を使用してください。ただし、GPTディスク の構成情報は全て削除されてしまいます。 (しかしディスク最後部側にあるGPT第2情報は削除しない)

     Windows Vista , Windows 7 などでは、MBRを採用していても、IPLコードが 従来のWindows 9x 、Widows Xp などによて作成されたものとは異なる場合が あります。Vista以降のIPLコードを保つMBR形式のディスクに本プログラムを 適用しないほうがよいでしょう。Windows Vista以降で起動ドライブとして 使用するのであれば、一度まっさらにしてから、そのディスク管理で「初期化」 してIPLを作ってください。

     メーカ製PCでリカバリ領域を持っているディスクでは、特殊なIPLが書かれて おり、それにfdskmbrを適用すると、起動もリカバリもできなくなる可能性が あります。適用しないようにしてください。

    ■ 免責事項など

     このプログラムを適用した結果については、とくに保証はしませんし、パーティション情報やファイルシステムが壊れるなどの損害があったとしても、作者は一切責任を負いません。それをご了解の上でご使用願います。

    ←戻る

    ■ 更新履歴

    日 付 版  内 容
    2008. 5. 1 1.00 バージョン 1.00 初版(公開は2009.9.1)
    2009. 9. 2 1.10 /f オプションでGPT形式を抹消する機能の追加
    2010. 8.15 1.11 ANSI.SYSが組み込まれていないときの文字表示を修正
    2010.12. 1 1.12 一部のストレージボード接続の場合にデバイス検索できなかった問題を改善
    2010.12.17 1.13 動作不良デバイスがあってもデバイス検索を中断しないようにした
    2011. 1. 1 1.20 ベースプログラム(FDSK)の改修に合わせたバージョン変更、サイズ縮減
    2013. 2.17 1.25 ベースプログラムの改修、MBR以外のシステムの判定強化
    2013. 2.20 1.26 スーパーフロッピーフォーマットと誤認識する場合があるのを修正