WindowsのBootsectコマンド相当のDOS版ツール
FATパーティションのブートローダのコードを変更するプログラム
BOOTSECT for DOS/FAT Version 1.02
Copyright(C) 2014-2017 DOSsoft
2017.7.1
1.このプログラムの目的
本プログラムは、ハードディスクのFAT32パーティションのブートセクタのOSローダプログラムを書き換えるものです。通常はフォーマット時にブートセクタのローダは作られますが、そのとき実行しているOSを起動するコードが書かれます。後になってブートセクタのローダのみ書き換えたいというときに本プログラムを使用します。それにより、OSのブートファイルをコピーするだけでOSの起動ができるようになります。Windows PE 3.0にはBOOTSECTというコマンドがありますが、本プログラムはDOS上で同等のことを行うことができます。ブートセクタを書き換えてもファイル・データはそのまま保れます。
対応しているブートコードは、
- Microsoft DOS 6.2のIO.SYSとMSDOS.SYSを呼び出すコード(FAT16のみ)
- Windows 95/98MEのMS-DOS 7.xのIO.SYSを呼び出すコード
- Windows 2000/XPのNTLDRを呼び出すコード
- Windows Vista/7/8/10のBOOTMGRを呼び出すコード
の三つです。本プログラムが有用な場面は、Windows 2000/XPのFAT32のパーティションをWindows Vista/7/8/10のブートパーティションとして流用し、Windows 2000/XPとWindows Vista/7/8/10とをブートマネージャによる切り替えでマルチブートさせたいときではないかと考えられます。この場合はWindows Vista/7/8/10のBOOTMGRを呼び出すコードを選択すれば、あとはBOOTMGRの関係ファイルのみをコピーするだけです。それによってWindows Vista/7/8/10のBOOTMGRが起動できるようになります。関連記事
そのほか、DOSファイルのセットはあるがSYSコマンドがなくなってる場合、起動できる状態のメディアがない場合などに有用でしょう。
2.使い方
Windows95/98に付属のMS-DOS(7.10など)のDOSを起動します。ハードディスクのDOS領域でもよいですが、なるべくCD-ROMやUSBメモリ、FDからの起動がよいでしょう。アーカイブを解凍して得た BOOTSECT.EXE が「カレントディレクトリ」(*)にある状態で、コマンドラインから BOOTSECT と打ってENTERを押します。
実行が開始されると、まず対象のディスクドライブの選択メニューが出ますので↓↑キーで選択してENTERを押してください。続いて対象パーティションの選択メニューが出ますので、同様に選んでください。
選んだ基本パーティションがFAT16またはFAT32の場合には、
のようなリストボックスが出ますので、どれかのブートコードを↓↑キーで選んでENTERを押してください。ここでESCを押すと何もせずに中止します。「ブートプログラムコードを削除する」というのはその通りで、これを選ぶと、既にあるローダプログラムのバイナリを全て00に置き換ることで削除します。
Windows Vista/7/8/10 はNTFSにしかインストールできないことになっていますが、ブートファイルの存在パーティションはFAT32どころかFAT16でもかまわないようで、BOOTMGR(ブートマネージャ)を起動できるコードにしておけば、そこから Windows Vista/7/8/10仕様のBOOTMGRが起動して、そこから他のディスク、パーティションにあるWindows Vista/7/8/10やWindows 2000/XPを起動することができます。ただしBCDファイルがBCDeditコマンドでそれなりに編集されている必要があります。
*カレントディレクトリの意味がわからないかたはDOSは使いこなせません。DOSに関連する基本的な概念は学んでおいてください。
3.注意
- 対象としているパーティションを間違えないよう十分注意してください。このプログラムを誤って適用すると、意図したOSが起動しなくなります。
- 起動できなくなることはあっても、ファイルシステムがなくなることはありません。このプログラムが書き換えるのは、ブートローダの実行プログラム部分だけであり、ファイルシステムのイメージ部分には変更を加えません。
- マスターブートレコード(MBR)のブートローダプログラムは、本プログラムでは全く関知しません。パーティションのブートローダとは別のものです。
- FAT16およびFAT32専用です。FAT12やNTFS、その他のファイルシステムには対応しません。
- MS-DOS 6.2のブートコードはFAT16専用です。そもそもDOS 6.2ではFAT32は認識できずインストールもできません。また古いDOSはFSタイプID 0Ehを認識できない可能性があり、その場合FAT16パーティションはディスクドライブの先頭8063MB以内に存在する必要があります。それより後ろにあるFAT16パーティションに適用しても、ブートできません。
- FAT32でも、「予約セクタ数」が16未満のパラメータでフォーマットされている場合には、対応しません。
- Microsoft以外のOSを起動するブートセクタ(代表的なもの:GRUBやIBM PC-DOS)が書かれていたパーティションに適用しても、ブートローダ変更後に正常に起動できない問題がバージョン1.00にはありましたが、1.01で解決されました。
4.お約束
このプログラムはフリーソフトウェアです。自由に使用してよい代わりにサポートのようなものはありません。直接・間接的に、このプログラムの運用の結果に何があっても、作者は一切責任をとることはないものとします。著作権は保持します。他のサイトへの無断転載も認めません。著作権侵害のないようにお使いください。連絡メールアドレスは、
ホームページ上に記載されています。
5.開発履歴
日付 版 内容
2014. 4. 1 1.00 PBLFAT32として公開の初版
2015. 8. 3 1.00 FAT16にも対応し、名前をBOOTSECTに変更
2016. 2.17 1.01 MicrosoftのOS以外のブートローダがあったパーティションに適用しても起動できるようにならない問題を修正
2017. 7. 1 1.02 MS-DOS 6.2のブートコードを追加