| VFATBAK - Q&A |
| 目次 | ||
|
ID |
タイトル |
Ver. |
| WindowsNT の FAT ドライブのバックアップ/リストアで Divide error で異常終了する? |
〜v1.12 |
|
| バックアップしたサイズが、エクスプローラなどで見たディスク使用量より少ない? |
|
|
| PC-98 シリーズで CLOCK.* ファイルがバックアップできない? |
〜v1.12 |
|
| # DOS create failed : X:\.001 とは? |
〜v1.04 |
|
| # chdir failed/# illegal path エラーとは? |
〜v1.12 |
|
| # illegal LFN entry エラーとは? |
|
|
| # record damaged/# record header damaged エラーとは? |
|
|
| リストア後起動できない。 |
|
|
| バックアップ・アーカイブから特定のファイルを抽出したい。 |
|
|
| PC-98 シリーズの C ドライブ起動セットアップ(SETUP /AT)した環境は復旧できるか? |
|
|
| OSR-2には対応しているのか? |
〜v1.03 |
|
| NTFS 対応の予定は? |
|
|
| パッケージ製品があるというが... |
|
|
| リストア専用版を入手するには? |
|
|
| ビープ音をカスタマイズするためのツールは無いのか? |
|
|
| サポート会議室などは無いのか? |
|
|
| バージョンアップ時の費用は? |
|
|
| WindowsNT の FAT ドライブのバックアップ/リストアで Divide error で異常終了する?(〜v1.12) |
| このパーティションは MS-DOS がサポートする最大サイズ 2048MB を超えていま す (1MB = 1,048,576 バイト)。この大きなパーティションを FAT にフォーマッ トすると、MS-DOS などのほかのオペレーティング システムからはアクセスできな くなる可能性があります。 |
Windows95 OSR-2 の起動ディスクから、このような FAT ドライブに対して CHKDSK を実行すると次のようになります。
| ボリュームシリアル番号は XXXX-XXXX 0 バイト : 全ディスク領域 4,294,574,080 バイト : 使用可能なディスク領域 65,536 バイト : アロケーションユニットサイズ 32,765 個 : 全アロケーションユニット 32,765 個 : 使用可能アロケーションユニット 655,360 バイト : 全メモリ 560,144 バイト : 使用可能メモリ |
「アロケーションユニットサイズ」(クラスタ・サイズ)が、65,535 バイト(64KB)となっているのが特徴です。
この例では、ディスク容量は「アロケーションユニットサイズ」×「全アロケーションユニット」= 32,765×65,536=2,147,287,040(2GB)なのですが、「全ディスク領域」、「使用可能なディスク領域」は、おかしな値になっています。
Windows95 の CHKDSK はこのようになんとか動いていますが、MS-DOS6.2/V の CHKDSK では、次のように異常終了します。
| ボリュームシリアル番号は XXXX-XXXX 2,147,287,040 バイト : 全ディスク領域 0 で除算をしました. |
クラスタ・サイズ 64KB の FAT ドライブは、DOS との互換性以外にも、ディスクの使用効率が非常に悪くなるのでお勧めできません。
v2.xx からは、このようなドライブも扱えるようになりました。
| バックアップしたサイズが、エクスプローラなどで見たディスク使用量より少ない? |
FAT/VFAT ドライブでは、ディスクのセクタをいくつかまとめた、クラスタと呼ばれる単位でデータが管理されています。ファイルが作成されると、ファイル毎に、そのデータを格納するために必要な個数のクラスタが確保される事になります。
実際のデータ・サイズは、クラスタ・サイズの整数倍とは限らないので、1ファイルにつき最大で(クラスタ・サイズ -
1)バイトの無駄が生じる事になります。FAT32 ドライブを除いて、ディスクの容量が大きくなるとクラスタ・サイズは 16KB、32KB
のように大きくなるため、この無駄は馬鹿になりません。
例えば、クラスタ・サイズが 16KB の場合、各ファイル平均して、クラスタ・サイズの半分の 8KB が無駄になっているとして、ファイルが
5,000 個あれば 40MB 浪費される事になります。
VFATBAK のように、バックアップ内容を1つのアーカイブ・ファイルにまとめる方式のツールでは、個々のファイルのデータが、隙間無くアーカイブ・ファイルに格納されるため、クラスタ・ギャップで浪費したディスク容量の分だけ、アーカイブ・ファイルは小さくなります。
スワップ・ファイルなど、バックアップから除外した分を考慮しても、エクスプローラや CHKDSK などで見たディスク使用量よりもバックアップ・アーカイブのサイズが小さいという場合、ほとんどは、この浪費分の差によるものです。
ただし、バックアップすべきファイルがバックアップできていない事が原因かも知れないので、エラー・メッセージが出ていないかどうか、確認するようにしてください。
| PC-98 シリーズで CLOCK.* ファイルがバックアップできない?(〜v1.12) |
PC-98 シリーズの DOS 6.2 以前では、クロック・デバイスという、DOS が使う特殊ファイルの名前が "CLOCK" であるために、ファイル名部分が "CLOCK" であるファイルは扱えませんでした。
VFATBAK に限らず全ての DOS プログラムで、このようなファイルを操作しようとするとハングアップしたり、時計が狂ってしまったりします。
一方、PC-98 シリーズ用 Windows 95 では、クロック・デバイス名が PC/AT 互換機用と同じ "CLOCK$" になり、"CLOCK" をファイル名部分に持つファイルも扱えるようになりました。
以前から、Microsoft Windows 95 Power Toys をセットアップすると、CLOCK.EXE、CLOCK.INI といったファイルがハードディスクにコピーされていました。
また、最新の Office97 でもセットアップの仕方によって CLOCK.WMF、CLOCK.AVI がハードディスクにコピーされる事があります。
という事で、PC-98 シリーズで、このような "CLOCK" をファイル名部分にもつファイルを含むファイルシステムを、DOS 6.2 以前の DOS でバックアップすると、そのようなファイルを読もうとしたときに止まってしまいます。
最も良い対策は、Windows 95 起動ディスクで起動した環境などの、Windows 95 のリアルモード DOS でバックアップする事です。
どうしても以前の DOS でバックアップしたい事情がある場合は、
このオプションは、VFATBAK 動作中だけ、ファイル名が CLOCK.* であるファイルを扱えるようにします。
-$+ オプションを指定して実行する。 ※高分解能クロックデバイスドライバ HRTIMER.SYS の特定のバージョンを組み込んでいる場合に、-$+ オプションを指定しても問題が解決しないという事例報告がありました。バックアップするための DOS 環境にこのようなドライバは不要なので外して実行して下さい。
コマンド行や初期設定ファイル VFATBAK.INI などで、除外ファイル・パターンとして CLOCK.* を指定し、バックアップから除外する。
のいずれかの方法を使ってください。
v2.xx からは、ファイル操作を DOS に依存しなくなったため、この問題は起きなくなりました。
| # DOS create failed : X:\.001 とは?(〜v1.04) |
>VFATBAK B X:\ C:\
のように実行されたのだと思います。
VFATBAK はドライブからドライブへのコピーを行うのではなく、バックアップしたいディレクトリ以下の内容を「アーカイブ・ファイル」と呼ぶ1つのファイルにまとめてる方法でバックアップを行うユーティリティです。
>VFATBAK B X:\BAK C:\
のように実行すれば、X:\ に BAK.001 というアーカイブ・ファイルが作成され、C:\ の内容がバックアップされます。
| # chdir failed/# illegal path エラーとは?(〜v1.12) |
----+----1----+----2----+----3----+----4----+----5----+----6----+-
C:\WINDOWS\PROFILES\KITAJI~1\スタートメニ~1\プログラム\APPLIC~1\INTERN~1.10J
このように、短いファイル/ディレクトリ名で見たパスが、66 バイトを超えるようなディレクトリを処理したときに表示されるエラーです。
Windows 95 は長いファイル名が使えるようになった事により、ファイル・パスの全長の制限も拡張されました。
一方、VFATBAK は DOS プログラムなので、従来の DOS の最大パス長(66 バイト)の制限を受けます。このため、現状では従来の短いディレクトリ名によるパス長がこの制限を超えるような深いディレクトリを処理できません。
Windows 95 のスキャンディスクはこの点を考慮しており、DOS から扱えないような深いディレクトリがあると、その都度警告を表示します。このため、スキャンディスクによるディスクのチェックが非常に煩わしくなります。
あまりお勧めできる運用では無いという事です。
Windows 95 のスキャンディスクは、それほど長いパスでなければ、深い部分をルート・ディレクトリに移動するという修正もやってくれますが、1回の修正で片づかないほど深い場合は想定していないようなので、ちょっと手こずるかも知れません。^^;
v2.xx からは、この制限はなくなりました。
| # illegal LFN entry エラーとは? |
このエラーは、バックアップしようとしたディレクトリに、長いファイル名とそれに対応する短いファイル名の整合性が取れないファイル・エントリがある場合に起こります。該当ドライブに対し、Windows 95 のスキャンディスクを実行する事で解消されるはずです。
バックアップ前には、Windows 95 上からスキャンディスクを実行しておく事をお勧めします。
v1.10 では、従来の DOS で長いファイル名を持つファイルを削除した場合については、検出してスキップできるようになりました。
| # record damaged/# record header damaged エラーとは? |
リストア時に遭遇したエラーでない事を祈ります。バックアップ・アーカイブが何らかの理由で壊れてしまった、ドライブや媒体の不調のために、バックアップ先媒体に正しく書き込めていない、のいずれかです。
もし前者の # record damaged ならば、処理中だったファイルをスキップする事で、先に進む事ができる可能性があります。
バックアップ時に自動チェックしろよ、という意見もあると思いますが、ドライブや媒体の不調でこういう事態が起こる場合、書き込んだ直後にチェックして異常を首尾良く検出できたためしが無いのです。特に、フロッピーなどは、いったん媒体を抜いて挿し直した状態で読めるかどうかを調べないと信用できません。
というわけで、手間がかかりますが、バックアップ後に VFATBAK の T コマンドでアーカイブの読み出しテストをされる事をお勧めします。
作者は、MO ドライブの書き込みヘッドの出力が数週間かけて徐々に低下する、というような障害に遭った事があります。リストアが必要な事態になって初めて3週間前までのすべてのバックアップが全滅である事がわかりました。^^;
毎回は無理だとしても、定期的にチェックする事が必要です。
| リストア後起動できない。 |
起動ドライブの復旧には、リストア以外に作業が必要な場合があります。Windows 95、Windows NT それぞれの復旧のための参考情報を、配布ファイルに同梱の RECOVER.TXT にまとめているのでご覧下さい。
| バックアップ・アーカイブから特定のファイルを抽出したい。 |
例えば、バックアップ・アーカイブ F:\BAK.001 から、カレント・ディレクトリ以下に、\WINDOWS ディレクトリの SYSTEM.DAT、USER.DAT を取り出したい場合は、次のようにします。
>VFATBAK R F:\BAK . WINDOWS\*.DAT
画面表示で目的のファイルが取り出せたことが確認できたら、CTRL+C で止めて構いません。
この結果、カレント・ディレクトリの下に "WINDOWS" ディレクトリが作成され、その下に目的のファイルが格納されるはずです。
ただしこの例では、SYSTEM.DAT、USER.DAT が隠しファイルなので、DIR /A としないと見えないでしょう。(^^)
| PC-98 シリーズの C ドライブ起動セットアップ(SETUP /AT)した環境は復旧できるか? |
PC-98 シリーズでは、Windows 95 のセットアップ時に、セットアップ・プログラム SETUP.EXE に /AT オプションを指定すると、PC/AT 互換機のようにハードディスクのドライブ名が C: から割り当てられ、PC/AT 互換機と併用したりする場合に便利です(詳細は Windows 95 の SETUP.EXE が格納されているフォルダの README.TXT を参照)。
VFATBAK でファイル・システムをリストアした後、ブートセクタを復旧しなければならない場合があります。ほとんどの場合、Windows
95 の起動ディスクで起動して SYS コマンドを使ってハードディスクにシステム転送を行えばよいのですが、PC-98 シリーズの
C ドライブ起動セットアップを行っている場合、SYS コマンドによるシステム転送だけでは C ドライブ起動の環境を復旧できません。C
ドライブ起動環境のブートセクタは標準のものとは少しだけ異なるからです。
SETUP に /AT オプションがあるのだから SYS コマンドにも /AT オプションがあれば良いのですがそのようにはなっていません。^^;
もしブートセクタをファイルに保存しておき、それを書き戻すユーティリティをお持ちであれば、予め C ドライブ起動環境のブートセクタを保存しておいて、書き戻すというのも手です。ただし、ブートセクタにはドライブに関する情報が含まれているので、ハードディスクを異なるものに交換したりする場合は、保存して置いたブートセクタが新しいハードディスクに適合するかどうか注意する必要があると思います。
C ドライブ起動環境と標準の環境のブートセクタの違いはわずかなものでした。そこで、SYS コマンドでシステム転送した後に、ブートセクタを C ドライブ起動環境用に書き換えるユーティリティ(BOOT98AT.EXE)を用意しました。
使い方:
パラメータ無しで起動すると、次のような表示となります。
A> BOOT98AT
Win95 'setup /at' boot sector patch for PC-98 HD. Rev 10 (98/10/23 0:54)
Copyright (C) Masahiro Kitajima (KATONBO), 1998
Usage: boot98at [-r] drive_name
-r : revert to standard boot sector
(1) まず Windows 95 の起動ディスクから、ハードディスクの起動ドライブに SYS コマンドでシステム転送してください。
(2) ハードディスクの起動ドライブを指定して BOOT98AT.EXE を実行してください。
起動環境によって、ハードディスクドライブの名前は変化するので間違えないようにして下さい。例:
A> BOOT98AT B:
BOOT98AT.EXE はフリーウェアです。説明書はここに書いてある以外にはありません。上記の内容を理解できた方のみお使いください。
本ソフトウェアの使用によって生じたいかなる結果についても、作者は責任を負いません。
BOOT98AT.LZH 20,205 バイト
| OSR-2には対応しているのか? |
v1.04 より、OSR-2 のリアルモード DOS 環境で、FAT16 ドライブのバックアップ/リストアが問題なく行えるようになりました。
v1.10 より FAT32 ドライブに対応しました。
| NTFS 対応の予定は? |
NTFS に関する技術情報が十分あれば対応したいのですが...
| パッケージ製品があるというが... |
ティー・アンド・ビー株式会社 プリーズ・カムバック!のことです。
| リストア専用版を入手するには? |
リストア専用版は、プリーズ・カムバック!のシリーズ製品なので、ティー・アンド・ビー株式会社にお問い合わせください。
| ビープ音をカスタマイズするためのツールは無いのか? |
開発用に使った完成度の低いものですが、あります。ご希望の方はメール下さい。
| サポート会議室などは無いのか? |
ありません。ご質問はご遠慮なく電子メールでどうぞ。
電子会議室だと巡回もせいぜい1日に1回ですし、見てない会議室で質問された場合は為す術がありません。それに他のメッセージに紛れて
SOS を見落としてしまう可能性が高いのです。この手のツールでサポートが必要な時というのは、大抵緊急事態ですし。^^;
| バージョンアップ時の費用は? |
今のところ、無料です。
| Copyright (C) Masahiro Kitajima(KATONBO),1998-2002 |