MBR形式のディスクパーティション管理情報を操作するプログラム

[ FDSK ] 使用説明書

Version 1.36 Copyright (C) 2008-2017 まりも(DOSsoft)

*バージョン1.34から /SSD オプションが追加となっています
*バージョン1.35から メニュー構成に少々変更があります
*バージョン1.36から /F オプションが追加となっています
 

1.【このプログラムの意義】

 PC-DOSやWindows98SEまでのDOS7.xにはFDISKというコマンド(DOSプログラム)があり、パーティションの作成や削除ができました。しかしFDISKは、HDDの容量が64GBを超えるようになると、もはや使い物にならなくなります。そのほか、FDISKではMS-DOSパーティション(つまりはFATパーティション)以外の削除ができなかったり、パーティションのアクティブ設定が特定のHDDに対してしかできないという不都合もあります。そこでこれらの機能を代替し、さらにいくつかの機能を追加したプログラムを作成しました。いずれもWindows 7時代にもあると便利な機能で、以下のようなものがあります。

  1. 基本パーティション(FAT32)の作成(AFTドライブ向けに4KB境界配置も可能)
  2. 基本パーティションのアクティブ属性の設定、切り替え( fdisk /actokに相当)
  3. パーティションの削除
  4. 基本パーティションのFSIDを変更
  5. Master Boot Record中のIPLだけの再作成(Bootsectコマンド相当)
  6. Windowsディスク署名の再設定や消去
  7. MBRなど先頭部分と最終セクタの消去(GPTやRAIDディスクもきれいに初期化できる)
  8. 拡張DOSパーティションの殻の作成
  9. GPT形式のディスクをMBR形式に変換(2テラバイト未満の範囲に限る)
  10. MBRセクタのバックアップ保存/復元

 Win9x DOSのFDISKには無かった機能もあります。Windows XP,7などのコマンドラインディスク管理ツールである「diskpart」プログラムにはこれらの機能もありますが、コマンドオプションを覚えるのが面倒で操作しにくいですし、いざとなるとOSが起動せず回復コンソールの起動が必要となることが多いですから、より簡単に起動できるDOS上でできるという意義はあるでしょう。

2.【基本的使い方】

 機能選択 

 MS-DOS(6.2)またはWindows95/98のMS-DOSモード(7.x)のコマンドラインから、

 FDSK 

 と打ちます。機能選択メニューが出るので、どれかを↑↓キーで選び、enterキーを押してください。

DOSの言語モードが日本語モードでも英語モードでも実行できるように設計されていますが、英語メッセージにはおかしな点があるかもしれません。

 ディスクドライブ(HDD)選択 

 次に、ディスクドライブの選択メニューが出ます。複数のディスクドライブがある場合はどれかを↑↓キーで選び、enterキーを押してください。1台しかない場合はそのままenterキーを押してください。

 対象ディスクドライブはシステムのDISK BIOSで認識されているものに限られますが、ディスクドライブの形式・ベンダ名などは表示されませんので、普通には総容量値で判断するしかありません。間違って、対象とするつもりでないものを選ばないよう充分注意してください。ディスクドライブの選択後は、装置番号80~87のような番号で識別することになります。通常は、起動できるシステムがあるのは装置番号80のものです。

 なお最近のマザーボード機種では、USB接続のストレージ全般がBIOS管理下にあることが多いので、どれが目的のディスクドライブか、わかりづらいかもしれません。あらかじめマザーボードのBIOS設定で、USBストレージデバイスをハードディスクドライブとして見えないようにしておいたほうがよいでしょう。

 このあとは選択した機能が実行されますが、機能ごとに途中のメッセージや操作、実行結果が異なるので、以下のように別途解説します。なおGUID-パーティションテーブル形式(GPT形式)、NEC-PC98形式、スーパーフロッピー形式のディスク管理がなされている可能性があるディスクドライブについては、機能7以外が使用できなくなります。これは誤った操作からデータを保護するためです(後述の諸注意参照)。

3.【機能ごとの解説】

 機能0: ディスクの接続状況とパーティションの状態を表示します. 

 パーティションテーブルの情報を表示します。表示するだけで、情報の書き込みは一切ありません。表示が終わるとディスクドライブの選択に戻ります。なお、以降で示す他の機能では、実行後にディスクドライブの選択には戻らず終了します。連続で適用することはあまりないと考えられるためです。

 パーティションテーブル表示内容は、後述の表示モードオプションにより少し異なりますが、容量(MB)、位置するLBAディスク番地またはサイズのLBA数、ファイルシステムID(FSID)、ファイルシステム名などです。LBAとFSIDは16進数表記です。(*LBA 論理ブロックアドレス)

 拡張パーティション内に論理パーティションがある場合はそれも表示されます。Logicalという表示と番号(0..n)のあと、EBRという項目が表示されます。これはその拡張パーティションの存在場所が書かれた拡張ブートレコードがあるセクタ番地です。続いてパーティション本体の開始セクタと終了セクタ番地が表示されます。GPT形式のディスクドライブである場合、仮のMBRパーティション情報に続き、GPTの情報も表示します。

 ディスクドライブの情報のあと一時停止していますが、ESCを押すと再びディスクドライブの選択画面に戻り、別のディスクドライブを選ぶことができます。ディスクドライブの選択画面でESCを押すと、初めの機能選択メニューに戻ります(バージョン 1.35から)。ここから以下の機能を選ぶことができます。

情報の表示だけの機能は、後述のオプション /S による起動でもできます。

 機能1: 基本パーティション(FAT32)を作成します. 

 基本パーティションを(特に条件がなければ)FAT32で作成します。この機能を選択すると、ディスクドライブの選択のリストボックスが現れますので、慎重に対象ディスクドライブを選択してください。次に、「 パーティション境界規則を以下から選んでください. 」というメニューが画面下半分に表示されます。どれか一つを選ぶ必要があります。

既にパーティションが存在している場合は「自動検出」を選択するのが無難です。これから作る場合は、AFTのHDDやSSDであれば必ず、

"先頭パーティション 800h, 境界 1MB (Windows Vista/7/8やSSDのデフォルト)."

を選択するようにしてください。従来のAFTでないHDDの場合でも、 Windows Vista/7/8, server 2008などの新しいWindows、Linuxを主に使う場合にはこれを選んでください。これを選んだ場合は、WindowsXP以前のWindowsを併用するときには注意が必要となります。古いWindowsでディスク管理を使わないようにしてください。Windows XPでは必ずSP3にしておいてください。Win9xのMS-DOSは使用できますが、「FDISK」は絶対に使用しないようにしてください。(そのために本プログラムがあるわけです)

 いっぽうWindows XPやそれ以前のOSを主に使うならば、

" 先頭パーティション位置も境界も、BIOSに従う(旧来システムのデフォルト)."

を選ぶのが無難です。これは昔からのデフォルトであり、IBM-PCの基本ルールに則ったものです。

 これ以外の選択肢もありますが、パーティション境界についての理解がある上級者以外は選ばないようにしてください。なお自動検出した場合には

"Origin=3Fh , Head=255, Sector=63 "

というように、パーティション先頭セクタ番地、ヘッド数、セクタ数の確認表示が出ますので、確認したうえでENTERキーを押してください。

 続いて空き領域の検索結果が表示されます。空き領域とは既存のパーティションとパーティション(またはディスクの先頭またはディスク容量の上限)との間の未使用の区間のことです。パーティションの割り当てと削除を繰り返したハードディスクでは、空き領域が下の図のように分散している場合があります。いずれかの空き領域を↑↓キーで選んでENTERキーを押してください。既存パーティションがなく空き領域(この場合はディスクの全区間)が一つだけ あるときは、そのままENTERキーを押してください。

 すると次に確保容量を指定するように促されます。容量値はメガバイト単位(MiB)で指定してください。例えば10GBならば10240と入力します。ここで数値でなくMAX と入力すると、選択した空き領域の全てを確保します。ただしパーティション境界規則に従って境界が決まるので、必ずしも空き領域の全てが確保されない場合があります。そのような場合はパーティション間にギャップが発生しています。パーティション境界規則が混在状態の場合に起こります。この状態はあまりよくないということに注意してください(例えば古いWindowsやDOSのディスク管理で破壊する可能性があります)。

 画面が変わり、既存パーティションのリストが表示されます。リストの最後にこれから作るパーティションが追加されます。なお更新後のパーティション情報はこの時点ではディスクに書き込まれておらず、セクタ番号昇順に表示されていない場合がありますが、ディスク書き込み時に整列されますので心配要りません。

 続いてパーティションの先頭にある「ブートセクタ」のプログラム(IPL)コードをどうするかの問い合わせのリストボックスが現れます。通常はOSを「システムファイルのコピーで入れる」入れるということはなく、新規のインストール作業をするはずですから、ブートコードを事前に作っておく必要はないでしょう。(インストール作業時に自動的に作られます)。ですから通常は「ブートプログラムコードを作らない」を選択すれば十分でしょう。

 特別なツールやノウハウをお持ちで、OS起動パーティション(FAT32)を別途の方法によるファイルコピーのみで作成したい場合は、どのOSをブートするかによって、適切に選ぶ必要があります。

 例えば Windows 7/VISTAは通常はFAT32のパーティションにインストールできませんが、ブートマネージャのみのアクティブパーティションはFAT32に置くことができ、別の非アクティブのパーティションにインストールまたはコピーすることができますので、その場合には「Windows Vista/7のBOOTMGRをブートするコード」を選ぶ意味があります。(NT6.x BOOTMGRを使ったマルチブートについては、詳しくはこちら「Windows 7/XP/DOSマルチブート」を参照してください)

 一番下にある「未フォーマット状態のRAW NTFSパーティションを作る」を選択すると、ファイルシステムIDとしてはFAT32ではなくNTFSの未フォーマットパーティションを作成します。あとでNTFSに変更したいが先にパーティションを作っておきたいという場合には、これを選んでください。

 なおパーティション容量が513MB~2047MBのときは、このリストボックスのさらに下に「FAT16」が現れ、FAT16でフォーマットすることもできます。効率的にはFAT32のほうがよいですが、互換性のためFAT16でフォーマットしたい場合はここで選択してください。FAT16の場合はブートコードの埋め込みはありません。また512MB以下のときは自動的にFAT16となり、このリストボックスが出現しません。63MB以下32MB以下のときはFAT12となります。

 FAT32の場合はクラスタサイズの選択リストボックスが現れます。容量によっては、薄い色になって選択できないサイズもあります。基本的には一番上の「システム規定値」を選択してください。

 続いて今までのリストボックスが消え、「ディスクに書き込みます」「よろしいですか?(Y/N)」というメッセージが出るので、Yを押してください。いっぽうNを押すと全ての実行が中止されます。

 1つのパーティションを確保し終わると、前の画面に戻ることなく、さらに確保することができます。終了したい場合はESCキーを押してください。

 パーティション作成後はシステムを再起動する必要があります。OSをコピーして起動可能な状態にするには、OS所定のブートファイルをいくつかコピーしておく必要があるほか、ブートに必要な情報を正しく記述しなおす必要があります。詳しくは本プログラムの説明の範疇を超えますので、別に情報を探すなどしてください。

 この機能でのFAT32パーティション作成に引き続き、MBRの標準的なIPLの書き込み、複数パーティションのアクティブ選択設定が自動的に連続で行なわれます。IPL書き込み可否の問い合わせが出るのは、IPLが全くない場合に限ります。GRUBやLILOが既に入っているとみられる場合には問い合わせは出ません。またアクティブ切り替えの問い合わせが出るのは、パーティション作成の結果パーティションが複数となったときだけです。

 機能2: 基本パーティションのアクティブ/非アクティブを切り替えます. 

 パーティションのアクティブパーティションを選択します。まずディスクドライブをリストの中から選択します。するとパーティション選択メニューが画面下半分に表示されます。複数のパーティションがある場合は↑↓で選んでからenterを押してください。1つしか無い場合はそのままenterを押してください。

 アクティブとなっているパーティションには、[A]という表示があり、そうでないパーティションでは [ ] のように空欄となります。なお、ここの表示が[X]となっている拡張DOSパーティションは選択できません。拡張DOSパーティションが一つだけ存在する場合は、「選択できない」という意味の表示で強制終了します。拡張DOSパーティションにはアクティブ属性を付けてはいけないことになっています。

 既に[A]となっているパーティションを選んだ場合は、アクティブ属性の解除になります。つまり設定はトグル動作となります。PCシステム上の仕様として、アクティブにできるのは1つのパーティションだけとなっていますが、アクティブなパーティションが1つもない状態は許されています。

 なおPCシステムの仕様で、装置番号80より後のディスクドライブからは、アクティブの設定があっても起動できない場合があります(装置番号80にアクティブパーティションが全くない場合81以上のものから起動できるシステムもあれば、そうでないシステムもある)。

 機能3:【削除】パーティションを1つ削除します. 

 基本パーティションおよび拡張パーティション全体を削除します。パーティション選択メニューが画面下半分に表示されます。複数のパーティションがある場合は↑↓で選んでからenterを押してください。1つしか無い場合はそのままenterを押してください。実行後はパーティションテーブルを再表示しますが、さらに続けて削除したいパーティションの選択ができます。もう削除の必要がなく終了したい場合は、ESCキーを押してください。

 機能4: 基本パーティションのFSIDを変更します. 

 ファイルシステムIDの変更をします。ファイルシステムIDの詳細説明はここではおこないません。各自で意味を熟知の上、使用してください。この機能が必要となる場合というのは、Windows XPの「ディスク管理」が誤って FAT32パーティションにFAT16のIDを振るバグが発動したときくらいであろうと思います。この機能で 0C を入力すれば修正されます。

FSIDの一例: 0C FAT32、 07 NTFS、 0F 拡張DOSパーティションの殻

 なお、既に拡張DOSパーティションが存在しているときには、値05や0Fを入力すると、エラーとなるようにしてあります。これは複数の拡張DOSパーティションが存在することは許されないためです。その他のFSIDについては別表を参照してください(この表の内容が正しいという保証はありませんし一切責任を負いません)。不適切な変更を行うと、OSがファイルシステムの誤認識をしたり、その結果OSが起動できなくなることがありますから、使用に当たっては十分に注意してください。

 機能5: MBRのIPL(最初のプログラムローダ)を作成します. 

 未使用状態のディスクドライブに、IBM-MS形式のマスターブートレコード(MBR)のIPLを書き込みます。IPLコードだけでなく、それが正しいことを示すシグナチャも書き込みます。既にパーティションが存在している場合に適用しても問題ありません。パーティションテーブル部分はそのままですので、IPLの書き込みでパーティションが消えることはありません。

 Linuxを使っている場合は、GRUBやLILOが入っているかと思いますが、MBRでロードするタイプのものが使われている場合には、本プログラムでIPLを書き換えるとLinuxの起動ができなくなってしまいます。 そのほか、MBMなど、IPLにパッチあてをする特殊なプログラムを組み込んでいた場合、そのプログラムは動作しなくなりますので、不用意にIPLを書き込んでしまわないように注意してください。

 機能6: Windowsディスク署名を再設定/削除します. 

 Windowsのディスク署名を削除または新たに設定します。設定に用いるのは16進数の8桁の文字・数字です。何も入力せずにenterを押すか、0を入力すると、署名は削除されます。どういう場合にディスク署名を設定・削除するのかについては、充分に熟知したうえでおこなってください。(Windows2000,XPで起動ドライブのドライブレターが変わってしまった場合など)

 Windows XPやそれ以前のOSでは、「新しいハードディスクデバイスを見つけた」という扱いで新しい署名がレジストリに記録されるだけで済みます。しかしWindows 7などでは、ディスク署名を変更すると、異なるハードディスクにコピーしたものとみなされ、ブートマネージャが起動できなくなります。これはWindows 7(Windows PE 3.0)の修復ディスクで修復できますが、Windowsやofficeの再アクティベーションの発生も起こりえます。Windows Vistaやそれ以降のWindowsを起動するディスクドライブに対しては、不用意に適用しないよう注意してください。

 機能7: 【消去】パーティションテーブル、IPLを完全消去します. 

 マスターブートレコードに値ゼロを埋めて、ディスクドライブを未使用と同等の状態にします。ですから不用意に使うと致命的です。この機能で消去されるのは、セクタ番地0(先頭)から64セクタです。通常はこれでどのようなシステム・OSからも「未使用」とみなされるようになります。

 まず対象とするディスクドライブを選択します。続いて消去してよいかの確認のメッセージが二回出ます。

ここでYを押せば先頭部の消去が行われます。消去によりIPLもディスク署名も空白となるので、そのように表示されます(次の図の赤丸部)。続い出る、
"最終セクタアドレス XXXXXXXXXX~ を消去します."
の問いにYで答えると、最終8セクタも消去します。この機能は2TiB壁を超えるディスクドライブに対応していますので、最大10桁の16進数のアドレスで表示されます、

 最終セクタの消去は、過去にRAIDを組んでいたディスクドライブにおいてその情報をきれいさっぱり消去したい場合にとくに有用です。いっぽう意図的に最終セクタを消去しないほうがよい場合というのは、GPTフォーマットを使用していて、誤って先頭のほうを消去した場合ぐらいです。GPTフォーマットでは先頭部と同じ内容を最終セクタにも作りますので、それが残っている場合は復活させることができるからです。しかし通常は未使用同等にしたいわけですから、最後のセクタも消去しておくにこしたことはありません。

 なおバージョン1.25まではこれに加えて全セクタ消去機能がありましたが、バージョン1.28からは廃止とし、2テラバイトを超えるディスクドライブに対応したうえで別のソフト' DskErase 'にその機能を移しました。

 機能8: 拡張DOSパーティションを作成します. 

 拡張DOSパーティションの「殻」を作成します。拡張パーティション内の個別のパーティションの作成は行いませんので、他のOSのディスク管理などを使用してください。機能1と同様に、後述のオプションの影響を受けます。オプション -3Fがあるときは開始セクタが3Fhからとなります。拡張DOSパーティションの作成が終わるとプログラムは終了します。引き続いてのパーティションの作成は行われません。

 機能9: GPT形式をMBR形式に変換します.  元に戻すことも可能

 Windows Vista, 7, server 2008以降のWindowsで、GPT形式でハードディスクをフォーマットすると、XP以前のWindowsで認識できなくて困ることがあるかもしれません。この機能ではGPT形式をMBRに変換します。元のGPT情報は消去せずにMBRのみ正当なものを作成します。GPT形式ではパーティションテーブルを参照しただだけではファイルシステムがわからないので、ファイルシステムの中身を分析しないと種別が判明しません。しかしWindowsで作成できるのはベーシックパーティションでNTFSだけと考えられるので、MBRのパーティションテーブルに登録するファイルシステムIDは、NTFSと仮定しています。あらかじめ何のファイルシステムであるかわかっている場合は、機能4を使ってファイルシステムIDを設定してください。

 操作:まず[GPT ]または[GPT+]と表示のあるディスクドライブを選択します。確認メッセージのあとGPTのパーティションテーブルも表示されます(次の図)。

次の確認にYで答えると、変換が終わり、MBRとしてのパーティションテーブルが表示され、完了です(次の図)。この図の例ではユーザパーティションはGPTに4個存在していますが、一番最後のパーティションは2TiBの壁をまたいでいるため(アドレスが 0FFFFFFFFを超えている)、MBRへの変換から除外となっています。したがってMBRには3個のパーティションしか登録されません。

機能: 「終了」(バージョン 1.35から)  機能メニューでESCを押すとそこで中止となりますが、機能メニューの最後にある[終了]を選択すると、ディスクドライブのリストを表示して終了となります。ただしこれが表示されるためには、1回でも各機能に入りディスクドライブの一覧を表示してある場合に限ります。最初に機能メニューが表示された段階で「終了」を選択しても、ディスクドライブのリストは現れません。

 「制限事項」

 GPT->MBR形式変換機能において、以下のことは制限事項とします。

 「注意事項」 MBR形式に変換したあと、再びGPT形式に戻したいときは、もう一度この機能を適用してください。この機能は現在の状態をみてトグル動作をします。GPTの情報とMBRの情報の両方が存在する場合、MBRの情報を消去して、GPTの情報のみが存在する状態に戻します。GPTのみの情報がある場合は、GPTの情報を参照してMBRに同等の内容を構築します。この機能ではGPTの情報には一切変更を加えません。したがって、パーティション構成を変えたいときは、いちどGPTに戻し、GPT対応のWindows(Vista,7など)でパーティション構成を変更し、再び本機能でMBRを作り直してください。

5.【上級者向け使い方】

 起動時にコマンドオプション /Z を与えると、パーティションの情報表示で開始アドレスと、パーティションの大きさ(セクタ数)を表示します(16進数)。このオプションが無い場合は開始セクタと最終セクタのアドレスです。

 起動時にコマンドオプション /C を与えると、1023シリンダ以下にあるパーティションでは、開始位置のシリンダ、ヘッド、セクタ番号を表示します。またそれ以降にあるパーティションでは、BIOSシリンダ境界にある場合は "OK" 境界でない場合には "NG"を表示します(下の図を参照)。なお Windows XP SP3では、パーティションの開始位置がシリンダ境界になくても、とくに問題が起こることはありません。

 そのほか、機能番号選択をバイパスして直接実行するオプションもあります。
コマンドオプション /S を与えると、全てのディスクドライブの情報をテキスト表示します。
コマンドオプション /N を与えると、機能1 のFAT32パーティションの作成をおこないます。
コマンドオプション /NAを与えると、上記で開始セクタ番地を指定してパーティションの作成をおこないますます。
コマンドオプション /A を与えると、機能2 のアクティブパーティションの設定を実行します。
コマンドオプション /D を与えると、機能3 のパーティションの削除をおこないます。
コマンドオプション /E を与えると、機能7 のMBR全消去をおこないます。
コマンドオプション /G を与えると、機能9 のフォーマット形式変換をおこないます。
コマンドオプション /IPL を与えると、機能5 のIPLコード作成をおこないます。/MBRでも同じです。
コマンドオプション /SIG を与えると、機能6 のディスク署名を変更します。
コマンドオプション /SSD を与えると、SSDモードとなり、FAT16/FAT32パーティション作成時に、SSDに最適化されたフォーマットにします。
コマンドオプション /F を与えると、スーパーフロッピー形式でもMBR形式(要するにパーティションテーブルがあるもの)として扱います。これはWindows自身がsFD形式とMBR形式をごっちゃにしてドライブを認識することがあるためです。ブートセクタはsFD形式としてのコードが書かれているのに、パーティションテーブルも存在し、Windowsドライブはそれに基づいて認識していることがあります。そのような場合は強制的にMBR形式とみなす必要があります。しかし通常はまず指定する必要性はありません。

<参考> Windowsにおけるスーパーフロッピーフォーマットの扱い

コマンドオプション /B を与えると、次で選択したディスクドライブのMBRのバックアップファイルを作成します。ファイル名は、MBR80.DATというような名前でカレントディレクトリに無条件で作成します(80の部分は対象ディスクにより81,82,83...)。なお、DOSをCD-ROM起動していると、カレントディレクトリがCD-ROMドライブ上では、ファイル書き込みができませんから注意してください。

MBRバックアップファイルを書き戻すときは、コマンドオプション /U を付け、スペースを空けてさらにファイル名も指定し、起動してください。ファイルはカレントディレクトリに置いてください。次に書き込み対象ハードディスクの選択メニューが出るので、適切なものを選んでください。書き戻す際にさらにバックアップを作ることはしませんので、対象ハードディスクをくれぐれも間違えないように注意してください。

次の画面はオプション /S の実行例で、拡張パーティション内に論理パーティションが存在する場合です。EBRというのは拡張パーティションブートレコードの意味です。拡張パーティションではこのようなセクタがあり、さらにパーティションの実体がそこから参照されるという形をとります。

 なお1.20からは以下のオプションは廃止されました。これらの機能をメニュー選択できるようになったためです。ただし /3F /legacy /8などは互換性維持のため残してあり、パーティション境界規則の選択メニューがバイパスされます。
【廃止】/16 /64 /3EC1 /3F00

 パーティション境界規則の選択で、「パーティション境界規則を適用しない」を選択すると、オプション/NAでアドレス20h以降の任意のセクタ番地からパーティションを配置できます。また容量でmax指定すると、空き領域いっぱいまでを確保します。つまりギャップなしで最大限の容量を確保できます。しかしこうした配置がよいかどうかは各自で判断してください。新旧のOS、あるいは新旧の作成時期のパーティションを混在させた使い方では、ギャップがないのは危険な場合があります。

 先頭パーティションの開始位置を任意設定できる機能は、USBメモリ、フラッシュディスクなどでは役立つ可能性があります。一般にフラッシュメモリの記憶装置では書き込み単位は2のn乗バイトであるため、開始位置が3Fhでフォーマットされるのは都合がよくないからです。市販のUSBメモリでは、20hや80hなどになっていることが多いです。大容量のフラッシュディスクでは通常の800hでもよいでしょう。

6.【諸注意】

 このプログラムは、IBM-MSのMBR方式で使用しているハードディスクに対して各種の処理を行うものです。Windows Vista,Windows7,Windows server 2008などで採用された新しいパーティション管理システム(GPT方式)には対応しません。組み込み機器用OSやNEC PC-98など、他のシステムで使用していたと思われるハードディスクに適用しようとすると、一部の機能を除きエラーメッセージを返します。チェックされるシステムの種別は、次の通りで、ディスクドライブ表示のところに現れるMBR というカラム列の位置に、3~4文字で表示しています。
表記 システムやIPLの種類
以下はMBR形式であり MBR属性も含む
IBM,IBM* MBR形式のパーティション管理でおそらくIBM-MSのIPLがある場合表示(通常はこれです)
MBR MBR形式のパーティション管理でIPLが不明な場合表示
WIN7 MBR形式のパーティション管理でMS-Windows7で作られたIPLがある場合表示
MBM ブート管理ツールMBMが存在している場合表示
LILO LINUX用ブートローダLILOがあるとみられる場合表示
GRUB LINUX用ブートローダGRUBがあるとみられる場合表示
以下はMBR以外の形式のシステム
GPT GPT形式ディスク管理の場合表示
GPT+ MBR形式とGPT形式の両方が存在する場合表示(通常はMBRが優先)
NEC NEC PC-9800シリーズでの使用の痕跡がある場合表示
NEC+ NEC PC-9800シリーズでの使用痕跡とMBR形式の両方がある場合表示
sFD スーパーフロッピーフォーマット形式での使用と判断される場合表示
sFD+ コマンドオプション /F を指定した場合にsFDに対して表示
sFD? スーパーフロッピー形式の痕跡があるがファイルシステムが不明の場合表示
MAC Apple MACで使っていたとみられるディスクドライブの場合表示
SUN SUN sparcで使っていたとみられるディスクドライブの場合表示

[GPT]、[NEC]、[sFD]、[MAC]、[SUN]などMBR形式以外の場合は、保護のために本プログラムのほとんどの機能が適用できないようにしています。ただし機能7 の全消去だけは、どのような場合にも適用できるようになっています。いままでのシステムのデータを完全に破棄してよいのであれば、いったん全消去することで、このプログラムの全ての機能が使用できるようになります。たとえば新規にFAT32パーティションを作りたい場合は、まず機能7で管理情報を消去し、次に機能1でFAT32パーティションを作成し、必要があれば機能2でアクティブ属性とし、機能5でIPLを作成します。

 [GPT+]のときは、MBRに見せかけて動作させるため、MBR全体に関する機能は使えますが、パーティションの作成と削除は使えないように制限しています。誤った操作でMBRとGPTの情報との間の不一致を起こさないためです。

 IBM-MSのMBR以外のシステムでの使用状況のチェックは完全ではなく、正しいという保証はありません。未使用と判断して全ての機能が使えるようになっている場合もあります。とくにsFD形式かどうかの判断はかなり難しく、Windows自身が誤った解釈でディスクドライブを認識している場合があります。

  ブートセクタにパッチをあてて動作しているソフトウェアがある場合、それを誤って検出する可能性もあります。そうした場合でも、本プログラムを適用してよいかどうかは、使用者自身で判断してください(MBM、パーティションマジック、システムコマンダー、あるいはその他ブートセクタ型寄生ツールなどとの併用動作の検証はしておりません)。

 機能によっては、ハードディスクを一撃でまっさらにもできる、大変に 危険なプログラムであることを熟知の上で、各自の自己責任で使って下さい。 とくに、機能7:のMBRの消去機能は、パーティションテーブルをまっさらに してしまうので、適用するディスクドライブを間違えないよう十分注意して ください。

 MBR形式では、いわゆる2テラバイトの上限を超えるディスクドライブを 正しく扱うことができません。本プログラムにおいても、MBRの仕様の 範囲内のことしかできませんので、2テラバイトを超えるディスクドライブ の容量を正しく扱えず、真の容量を2テラバイトで除算した余りを容量として 扱うことになります(これはXPの仕様と同じ)。したがって、 「2テラバイトまで」を正常に扱えるのではなく、もっと小さい値までしか 扱えないということになります。

 このプログラムはPC/AT互換機専用であり、IBM PS/55、東芝J3100、 NEC PC-9800シリーズなどでは使用できません。WindowsのGUIモード下では 実行できません。拡張int13hをサポートしないDISK BIOSのパソコンや、 CPUがintel 80486より古いパソコン、バージョン6.2より古いDOSでは 実行できません。

 このプログラムはフリーソフトウェアです。自由に使用してよい代わりに サポートのようなものはありません。直接・間接的に、このプログラムの運用の 結果に何があっても、作者は一切責任をとることはないものとします。 著作権は作者が保持しています。著作権侵害のないようにお使いください。 他のサイトへの無断転載は認めません。

 連絡先メールアドレスは、 トップページに記載されています。

7.【プログラム改版履歴】

日 付 版  内 容
2011.1.1 1.00 正式版の新規公開 MBRのバックアップ/リストア機能が追加
旧バージョン1.00のダウンロード
2013.2.13 1.10
  • 拡張DOS区画作成機能が追加、
  • パーティション作成→IPL作成→アクティブ設定の作業自動化、
  • MBR以外のシステムの認識強化
2013.2.20 1.11
  • スーパーフロッピーフォーマットで誤認識があるのを修正、
  • -s オプションでのテキスト表示のときにはGPTディスクドライブの詳細を表示しないように仕様変更
2013.3.4 1.15
  • オプションなしのデフォルトで、パーティション開始セクタが800hからとなるように仕様変更した。
  • 従来どおりシリンダ-トラック境界で3Fhからにしたい場合はオプション /3Fか/legacyをつけることになった。
  • 拡張DOSパーティションを後方に拡大する機能を廃止した。
  • FAT32パーティションがLinuxのgpartedから認識されないためボリウムラベルを空白(null)とするようにした。
  • 256MB以下の容量のときはFAT16を作成するようにした。
    【修正】
  • 256MB以下の小容量で、パーティション作成のあとのフォーマット時に正しくフォーマットできない場合があるのを修正した。
2013.4.1 1.20
    【仕様変更】
  • 基本パーティション作成時に、パーティション開始セクタ番地とパーティション境界を選択できるようにした。
  • 拡張パーティション内の論理パーティションを表示するようにした(論理パーティションの操作はできません)。
2014.4.1 1.25
    【機能追加】
  • パーティション・ブート・セクタ(PBR)のプログラムコードをいくつか選択できるようにした。
  • 未フォーマット(RAW)のNTFSパーティションの作成も選択できるようにした。
  • パーティション境界ルールの選択を追加した。
  • MBRのブートコードを刷新し、ブート順位が変更されたことを表示する機能を追加した。
  • コマンドオプション /NAで開始セクタ番地を指定したパーティション作成ができるようにした。
2015.3.1 1.28
    【仕様変更】
  • 全セクタ消去機能は廃止とし、別ソフト「DskErase」に移行させた。
    【修正】
  • パーティション作成後に一つしかパーティションがない場合、アクティブ切り替えの問い合わせが現れないようにした。
  • コマンドオプション /U による MBRデータのリストアが、未フォーマットディスクに対して適用できない問題を修正。
2015.3.2 1.29
    【修正と仕様変更】
  • NEC PC-98で使用されていたディスクドライブに対してNEC+と表示される誤りを修正した。
  • NEC PC-98で使用されていたディスクドライブに対して、パーティション作成と削除ができないようにしたほか、MBR属性もある場合にはアクティブとFSID変更はできるようにした。
2015.4.1 1.30
    【機能追加】
  • FAT32フォーマット時に、適切な範囲内でクラスタサイズをいくつか選択できるようにした。
  • NTFSの内容を解析して、実態がFATやexFATパーティションかどうかを明示するようにした。
  • 513MB~2047MBのパーティション作成時に、FAT32だけでなくFAT16も選択できるようにした。
  • FAT32のフォーマットに要する時間が大幅に短縮された。
  • GPTディスクで 2TiB壁をはみ出た位置にあるパーティションは、GPT->MBR変換の対象にしないようにした。
  • GPT->MBRの変換でFAT12/16/32の場合は、自動的にMBRのファイルシステムIDを設定するようにした。
  • パーティション境界規則を適用せず任意の位置にパーティションを作ることもできるようにした
  • 【仕様変更】空き領域表示画面のレイアウトを変更し、パーティションリストと同様にした。
2015.8.1 1.31
    【修正】(いずれも微小容量でのフォーマット時の問題)
  • 15MB以下、かつ1メガバイト境界でない容量でフォーマットしたときに、FAT12ではなくFAT16でフォーマットされる点を修正
  • フォーマット容量指定でちょうど2048MBを指定したときにFAT16が選択できてしまう点を修正
  • 【仕様変更】32MBより大きく64MB未満ではFAT12ではなくFAT16でフォーマットするように変更
2016.4.1 1.32
    【仕様変更】
  • パーティション作成時、パーティションテーブルが一杯なら無駄な操作なしにすぐ終了するようにした。
2016.12.20 1.32A
    【修正】
  • 英語モード時、パーティション作成のときのブートコード種別表示において、未フォーマットNTFSを作る選択肢の表示が現れなかった(無関係な文字が出ていた)のを修正。
2017. 4. 1 1.34
    【機能追加/変更】
  • FAT16フォーマット時にAFTドライブに対応した(FAT12では対応しません)。
  • SSDモードの新設。FAT16/FAT32フォーマットにおいてデータ領域を1MB境界に配置することもできるようにした。
2017. 8.10 1.35
    【機能追加/変更】
  • 各機能を実行する前にESCを押した場合、機能メニューに戻るようにした。
  • 機能0のパーティション内容表示の後にESCで機能メニューに戻り、別の機能を続行できるようにした。
  • 機能メニューに「終了」の機能を追加、ディスクドライブの一覧を表示した状態で終了するようにした。
2017. 8.20 1.36
    【機能追加】
  • SuperFD形式と認識される場合でも強制的にMBR形式で扱うコマンドオプション /fを新設。
   

[戻る]