ハードディスクのクローンコピーを作成するプログラム

DSKCPY Version 1.30

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

※バージョン1.20から、2テラバイトを超えるディスクドライブに対応

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

 本プログラムは、ハードディスクを丸ごとコピーするプログラムです。先頭セクタから最終セクタまで、PCシステムが使用できるセクタを全てコピーします。2テラバイトを超えるディスクドライブでもコピーできます。ほとんどのPCシステムでは、HDDをコピーと取り替えるだけでそのまま動作します。ただしOSからのHDDのファームウェアに対する問い合わせについては区別されます。そのためにHDDのファームウェアの内容を厳重にチェックしているシステム(映像録画再生機器などに多い)では、クローンコピーでも動作しない可能性はあります。

 本プログラムでコピー可能なHDDは、ブートBIOSのあるインターフェイスで認識できているものです。マザーボードオンボード、BOOTROMを持つストレージインターフェイスボード接続のものは基本的にOKです。ただしUSB接続のHDDのコピーは、MS-DOSにおけるBIOSエミュレーションのUSBでは速度が遅いことがあるので、あまり推奨しません。

2.【基本的使い方】

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

 DSKCPY 

 と打つと実行が開始されます。コピー元とコピー先のHDD選択メニューが出るので、どれかを↑↓キーで選び、enterキーを押してください。HDDはシステムのDISK BIOSで認識されているものに限られますが、HDDのベンダ名などは表示されません(BIOS情報から拾えません)ので、普通には総容量値で判断するしかありません。間違って、対象とするつもりでないHDDを選ばないよう充分注意してください。HDDの選択後は、装置番号80~87のような番号で識別することになります。通常は、起動できるシステムがあるのは装置番号80のHDDです。コピー先のデータは、コピーが始まった時点で新しいものに上書きされて消滅しますから、コピー先とコピー元を間違えないようにしてください。

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

 コピーが開始されると、コピーしたセクタ数が刻々と増えながら表示されます。またコピーしたセクタのメガバイト単位での表示もなされます。全セクタ数や全容量も表示されていますから、残り作業量はそれらから推測してください。「あと何分」や「あと何%」のようなインテリジェントな表示は行っていません。

図1

3.【注意点】

 コピー元HDDとコピー先HDDを取り違えないように注意してください。もしコピーを途中で止めたいときは、実行中にESCを押してください。しかしコピー先のデータは、コピーが始まった時点で新しいものに上書きされており、復旧はできません。またこの状態のまま放置すると、このHDDは システムからの認識で問題が生じることがあります。OSから認識できるうちに、全てのパーティションをOSのディスク管理機能で削除し、未使用状態にしておいてください。

 いわゆる2テラバイトの壁(2.00TiB, 2048GiB, 2097152MiB)を超えるディスクドライブにも対応しています(バージョン1.20から)。ディスクのセクタ番地は36bitで表示されますので、32テラバイトくらいまで対応できると思いますが、容量表示の桁数は10TB未満となっていますので、それを超えると表示が乱れるかもしれません。なお、2テラバイト対応でないBIOSのマザーボードで2テラバイト超えのディスクドライブを接続することのないように注意してください。2テラバイトで割った余りに容量が切られてしまいます。本プログラムではそのことまではわからず、BIOSで得た容量で処理しますから、完全にコピーできないということになります。

 容量はDISKBIOSで認識した通りとなります。同じディスクドライブでも接続インターフェイス/マザーボードによって容量が少し変わることがあります。たとえばRAIDモードのときは単独使用でもIDE互換モード時より、容量が数セクタ少なくなることがあります。容量の最大までパーティションを切って使用している場合や、異なるインターフェイス/システムで使っていたものをコピーする場合にはこのことに注意してください。

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

 コマンドラインオプション /F を追加すると、コピー先 容量がコピー元容量より小さくても強制的に実行します(図1もその例)。 コピーされないパーティションがある場合は、このHDDはシステムからの認識で問題が生じることがあります。OSから認識できるうちに、存在しないパーティションをOSのディスク管理機能で削除してください。なおコマンドラインオプション /Fがないときは、コピー先の容量が不足の場合、実行は最初にキャンセルされます。

 本プログラは対象ディスクドライブのフォーマット種別を問わないので、GPTのディスクドライブのコピーもできます。しかし、GPTに限らず、完全コピーを取った場合でもコピーディスクからのOSやシステムの動作、認識ができるという保証はありません。GPTの場合は、ディスクドライブの容量が完全に一致していないとコピー側の認識を失敗させるいう仕組みが明らかになっていますので、コピーを取る前になんらかの方法で容量(総セクタ数)の書き換えも行ってください。総セクタ数は dskcpy /s で表示される通りにします。またはGPTパーティション情報を適正化するようなソフトを使ってください。

 物理セクタサイズが4096バイト(8論理セクタ)のAdvanced Format Technology(AFT) ドライブやSSDへの書き込みでも遅くなることはないように設計されています(バージョン1.08より)。

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

 このプログラムはフリーソフトウェアです。自由に使用してよい代わりにサポートのようなものはありません。直接・間接的に、このプログラムの運用の結果に何があっても、作者は一切責任をとることはないものとします。

5.改版・掲載履歴

2010. 4.30 1.00  新規掲載
2010. 8.15 1.00a ANSI.SYSが組み込まれていないときの文字表示を修正
2010. 9. 1 1.01  英語モードでも使用できるようにした
2010.11. 1 1.03  /s オプションでパーティション構成の表示ができるようにした
2010.12. 1 1.04  一部のストレージボード接続の場合にデバイス検索できない問題を改善
2010.12.17 1.06  動作不良デバイスがあってもデバイス検索が中断しないようにした
2010.12.22 1.08  容量小→大にコピー時に出る不要なメッセージの削除、AFT対応
2011. 1. 1 1.10  無駄なメッセージの削除
2013. 2.20 1.11   ディスクフォーマット種別判定の強化(コピー機能に関係なし)
2013. 3. 9 1.20  【機能追加】2テラバイト超えディスクドライブに対応した
2014. 4. 1 1.25  無駄なメッセージの削除、fdsk,ntfscopyとの共用ルーチンの改修に合わせた改版
2015. 2.20 1.26  最終セクタのコピーで、I/Oエラーはないのにエラーメッセージが出てしまう問題を修正
2015. 4. 1 1.30  fdskと共通のルーチンの改修、 /s オプションの表示で exFATが識別されるようにした

[戻る]