NTFS/FATパーティション単位でイメージコピーするプログラム

NTFSCOPY Version 1.00

  Copyright(C) 2008-2011 まりも(DOSsoft)

1.このプログラムの目的

 本プログラムは、ハードディスクのNTFS/FATパーティションを丸ごと コピーするプログラムです。パーティションの先頭セクタから最終セクタまで、 ファイルでの使用の有無にかかわらず全てコピーします。ファイルシステムと しては、NTFSやFATはリロケータブルな構造であるので、コピーや移動をしても 認識されなくなることはありません。しかし、そのパーティションにあるOS とくにWindowsのブートプログラムは、移動したパーティションからは起動でき なくなります。これは、移動したパーティションのブートセクタの一部の情報 (hidden sectors数)が正しくなくなるためです。これを移動先の位置と整合 するように書き換えることで、起動の問題は解決できます。

 パーティションの位置(セクタ番地)は、空いている限り自由に設定 できます。したがってAFTドライブやSSDのように、特定の倍数セクタ境界に 合わせてパーティション境界を置く必要があるストレージに対して、 現在のハードディスク環境をそのまま移行させる際に、本プログラムは 役立つでしょう。

 本プログラムでコピー可能なハードディスクドライブは、ブートBIOSの あるインターフェイスで認識できているものです。マザーボードオンボード、 BOOT ROMを持つストレージインターフェイスボード接続のものは基本的にOKです。 USB接続のハードディスクも可能ですが、適用は推奨しません。MS-DOSでは USBの転送速度が非常にに遅いことや、実体がIBM-MS形式のMBRでフォーマット されていないUSBストレージが存在するためです。

2.【基本的使い方】

 MS-DOS(DOS/V)またはWindows95/98のMS-DOSモードのコマンドラインから

 NTFSCOPY 

 と打つと実行が開始されます。まずSTEP1では、コピー元のハード ディスク一覧が表示選択メニューが出るので、どれかを↑↓キーで選び、 enterキーを押してください。

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

 次に、コピーしたいパーティションを選択するためのメニューが 下に表示されます。ここで表示されるのは、パーティションの順序と ファイルシステムID、パーティションの存在するセクタ番地の範囲です。 具体的な内容は示されませんので注意してください。 コピー元となるパーティションを選んだら、ENTERキーを押してください。

 ここからはSTEP2の、コピー先のディスクドライブを選ぶ画面となります。 先ほどと同様にコピー先のディスクドライブを選んでください。なお、コピー 元のディスクドライブはコピー先としては選択できません。

 次に、選択したディスクドライブのパーティション情報が検索され、 コピー可能な大きさの空き領域を選ぶ画面が表示されます。「区画」と 表示されているのは、既存のパーティションです。そこに上書きはできません。 「空き領域」となっている所でも、コピー先としての大きさを満たしていない ものについては、選択できないようになっています。したがって、誤った 操作でパーティションが重複するようなことは起こりえません。

 既存の区画の間の空き領域を、リストのうちからどれか選んでください。 これにより既存パーティションとの順序が決まります。なお、既存の パーティションが一つもない場合は、一つだけの「空き領域」が表示 されるので、そのままENTERキーを押して決定してください。

 各空き領域が、コピー元のパーティションサイズより広いときは、 そのどの位置にパーティションを置くかを指定することができます。 「新しいパーティションの先頭番地を入力してください」と表示されます ので、セクタ番地か、それに相当するメガバイト、ギガバイトの容量値を 入力してください。容量値の場合は十進数のあとにMBまたはGBという単位も つけます。単位がない場合は、セクタ番地と解釈され、数値も十六進数と みなされます(末尾のhはつけなくてもよい)。

 入力した値が適切でない場合、例えば空き領域の範囲外となる場合や、 パーティションの最終セクタが空き領域から外れるような場合には、 入力は受け付けられません。再度入力することになります。 しかし、空入力あるいはゼロを入力すると、空き領域の先頭に パーティションを配置させます。通常はこれで十分と考えられます。

 入力が済むと、先頭アドレスの表示の確認メッセージが表示され、 次いて本当にコピーを開始してよいかの確認メッセージが表示されます。

 ここでNを押せば、何も行われずに終了します。Yを押せばコピー開始と なります。コピー中は "Copying..." と表示され、右上には現在のコピー先の セクタ番地や現在までにコピーしたデータ量(MB)が表示されます。残り 作業量はこれらの値から推測してください。

 もし途中でコピーを止めたいときは、ECSキーを押してください。 しかしコピー先のパーティション情報は既に作られてしまっているので、 そのまま放置すると不正なパーティションということでOSの起動に 問題が生じます。後述のオプション /D を使って、今作りかけた パーティションを削除しておいてください。

3.【応用的使い方】

 本プログラムには、パーティションコピー機能の他に、パーティション 簡易編集の機能があります。起動時に以下のコマンドラインオプションを つけて起動してください。なおスイッチ文字は / でも - でも同様です。

 コマンドラインオプション /A 

 アクティブなパーティションを切り替えます。コピー後のパーティション からOSを起動するためには、必ずアクディブにしておいてください。

 コマンドラインオプション /D 

 パーティションを削除します。コピー前に空き領域を作っておきたいときや、 コピーを中断させて不正なパーティションが残った場合に使用してください。

 コマンドラインオプション /E 

 全てのパーティション、マスタブートレコードを消去します。 ディスクドライブを事実上まっさらな状態にしたいときに使用してください。 なおディスクドライブの全セクタ消去を行なうわけではありませんので、 すぐ終了します。

 コマンドラインオプション /8  

 このオプションをつけると、先頭パーティションの開始セクタ番地を、 通常の3Fhではなく800hからとします。Windows 7などではこれが標準となって います。新しいOSで使用する可能性がある場合や、AFTドライブ、SSDを使用 している場合は、このオプションを必ず指定してください。

 コマンドラインオプション /F  

 このオプションがない場合は、同一物理ディスク内でのパーティション のコピーはできません。異なる物理ディスク間でのコピーしか許されません。 同一物理ディスク間でのコピーは、非常に速度が遅くなり能率も悪いですし、 ハードディスクを痛めることにもなるので、行わないようにしてください。

 結局どのように使うのか

 まず新品のハードディスクに、これまで使っていたハードディスクの パーティションをコピーし、起動もできるようにしたいときは、次の 手順を踏めばよいことになります。

4.【注意点】

 コピー可能なパーティションは、拡張DOS区画以外の全てとなっています。 しかし、NTFSとFAT(FAT16,FAT32)以外のファイルシステムでリロケータブル となっているかどうかわかりませんので、本プログラムでは、パーティション ブートセクタ(PBR)のhidden sector数の修正は、NTFSとFAT以外ではおこなって いません。すなわちNTFSとFAT以外ではコピーしてどうなるかのテストをして いません。

 コピーしたパーティションから起動可能とするには、「MBRのIPL」が 存在すること、「アクティブ属性」であること、該当するパーティションの あるハードディスクが「BIOSで起動優先順位最優先」となっていること、 などの条件が必要です。これはPCシステムの基本事項ですので、これ以上 ここでは解説しません(このあたりがわからない方は本プログラムを使用 しないでください)。

 パーティションを移動しても起動可能であることが確認されているのは、 Win9xのMS-DOS、Windows XP(SP3)などです。ただしパーティションの順序を 変更すると、Windows NT,2000,XPでは起動ドライブのルートディレクトリに ある BOOT.INIの「ARC path」の記述も変更する必要があります。 本プログラムではその内容の変更まではしませんから、各自で、本プログラム 適用前か、コピー後にそれとは別のOSを起動するなどして、BOOT.INIを適切に 編集しておいてください。

 Windows VISTA, Windows 7, Windows Server 2008 R2など最近の Windowsでは、パーティション位置を移動すると(というかNTシグネチャ= ディスク署名が変わると)起動ができなくなります。 WindowsインストールCD-ROMを使って修復してください。ただしディスク 構成が変わったと見なされて、アクティベーションが発生する可能性が あります。

 【重要】コピー元とコピー先の両方を繋いだ状態でコピー先のWindowsを起動しない でください。コピー先のWindowsは元のディスクドライブのディスク署名が あるほう、つまりコピー元があるとそこをC:ドライブとし、起動している 自分自身のドライブレターをC:以外としてしまうため、正常に起動できなく なります。しかもこれはレジストリに記録されるため、二度と起動できなく なります。ですのでパーティションコピー後は、必ずコピー元ディスク ドライブを切り離した状態で、コピー先のWindowsを起動してください。 このことは、どのようなコピーツールを使った場合でも言えることです。

 コピー中にセクタへのread/writeでエラーが発生した場合には、
"DISK I/Oエラーが発生しています. COPY_ERR.LOGファイルで確認してください."
というメッセージが出ます。カレントディレクトリにCOPY_ERR.LOG というテキストファイルが作成されるので、エラーがどこでどのように 起こったかを確認してください。エラーがあった場合は、コピーは完全には 行われていないと考えるべきです。

 コピーは60KB(120セクタ)単位で行っていますので、Advanced Format Technology(AFT) ドライブ(物理セクタサイズが4Kバイト、8論理セクタ)に 適用しても、コピーが遅くなることはありません。

 DOSが英語モードのときは、メッセージは全て英文となります。しかし 内容の正確さや日本語からの翻訳の品質については全く保証できません。 またDOSの種類によっては(DR-DOSやFree DOSなど)、日本語/英語モードの 判定を誤る可能性があり、英語モードなのに半角8bit文字のバケ文字が 現れたり、日本語モードで枠線などがおかしなカナ文字で表示される 場合があります。英文の誤りや言語モード判定の誤りが認められた場合は ご一報くださると幸いです。

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

5.改版・掲載履歴

2011年01月01日 1.00     新規掲載

[戻る]