FIPS 2.0 著者: Arno Schaefer 1998年5月11日 翻訳: パーソナルメディア株式会社 日本語訳: 1999年10月8日作成 この文書は、ハードディスクの内容を壊さずにパーティションを分割するツー ル FIPS Version 2.0 に付属のドキュメントの内、README.1ST, FIPS.DOC, FIPS.FAQ を翻訳したものです。 o この文書は、FIPS Version 2.0 に付属のドキュメント README.1ST, FIPS.DOC, FIPS.FAQの各ファイルをパーソナルメ ディア株式会社が試訳したものです。 o 原文のドキュメントと同様に、この翻訳も GNU General Public License のもとに再配布できます。 o 翻訳に誤りがあったとしても、当社はいっさい責任を負いませ ん。 o 翻訳の誤りをご指摘いただければ幸いです。 o パーソナルメディア株式会社による翻訳を基に JF プロジェク トの川岸 良治 が上記 3 つのファイ ルを一つにまとめて SGML 化し JF-ML で武井 伸光 さん、佐藤 亮一 さん、森本 淳 さんから 頂いたアドバイスを元に修正しました。 o partition の訳語は、全て「パーティション」としました。IBM の PC-DOS 等では「区画」と表示されます (例えば active partition = 活動区画)が適時読み替えてください。 1. 最初にお読みください (README.1ST) ■FIPS v2.0 FIPS は、ハードディスクの内容を壊さずにパーティション(パーティショ ン)を分割するツールです。 ★重要★ FIPS の利用にあたっては、取扱説明書である FIPS.DOC を*しっ かりと*読んでください。FIPSは、操作しながらその利用方法がわ かるタイプのソフトウェアでは*ありません*。少なくと も、FIPS.DOC の 2, 5, 7, 8 章(訳注:この翻訳版では 2.3, 2.6, 2.8, 2.9)には目を通しておくことを強くおすすめします。もし問 題が発生したときは、 4, 9, 10 章(同じく 2.5, 2,10, 2.11)と ``FIPS.FAQ'' をご覧ください。 Muto Toshihisa氏は親切にも、それらの文書を日本語に翻訳しています。日本 語訳は、日本では NIFTY SERVE FPCUPRO LIB1 #463 から入手できます。日本 のユーザーはこれがどういう意味か、きっとわかるでしょう。 (訳注:ここに あるものは version 1.4 です) よく発生する問題は、デフラグメントするプログラムが、移動できないセクタ をパーティションの最後に残してしまう、というものです。この点に関して は、 FIPS.DOC に詳しく述べています。そのほかの頻繁に受ける質問は、 ``FIPS.FAQ'' で答えています。 OS/2 や OnTrack Disk Manager のようなディスクドライバや、Stacker のよ うなディスク圧縮システムを使っている場合は、必ず SPECIAL.DOC にある関 連する章を読んでください。 以前のバージョンからの変更点は、HISTORY.TXT ファイルに列挙されていま す。最新のバージョンは私の FIPS WWW ページ から入手可能です。 FIPS は、約 5 年の間公開されています。インターネット上の多くの人々に よって利用されてきました。大きな問題は報告されていません。 しかしながら、信頼性を100% 保証することはできません。FIPS は、ハード ディスクの重要なセクタを読み書きします。未発見の障害が原因となりハード ディスクを破壊するかもしれません。あくまでも自分のリスクにおいて利用し てください。 データを失いたくないのであれば、FIPS を利用する前に完全なバックアップ を取ってください。(FIPS が問題なく動いた場合、少なくともバックアップを 復帰する時間は節約できます) しかし、安全に FIPS が使えるようにできるだけの努力はしてきました。も し、ハードディスクの状態がおかしいと思ったら、FIPS はエラーメッセージ を出して終了します。たとえ DOS がおかしいとはみなさないハードディスク であっても終了することがあります。 エラーが発生すると、簡単な説明がついたエラーメッセージを表示します。ど う対応したらよいかわからない場合は、FIPS.DOC と ``FIPS.FAQ'' を読んで ください。 FIPS がどう動いているかを知りたい場合は、ファイル TECHINFO.TXT をご覧 ください。もし、追加したり修正したりすべき点があれば、知らせてくださ い。 FIPS は、GNU GENERAL PUBLIC LICENSE (GPL)に基づき、フリーになっていま す。ファイル COPYING を見てください。FIPS は、以下に記したすべてのファ イルを変更しないで含めるという条件のもとで、自由に再配布することができ ます。もし修正した場合は、GPL の条件に従わなければいけません。 FIPS のコピーライトは私が所有しています。ソースプログラムの一部を利用 したい場合は、GPL の条項に基づいて利用できます。もちろん、ソースの一部 を利用したことは知らせてほしいと思います。GPL でカバーされていない範囲 のプログラム (シェアウェアあるいは商用)にソースプログラムを使いたい場 合でも、たぶん許可できると思います。ただし、この場合、まずはじめに私に 連絡してください。 このアーカイブには、以下のファイルが含まれているはずです。 CALCULAT.CPP - 新しいルート/ブートセクタのチェックの計算 CHECK.CPP - ルート/ブートセクタのチェック CMDL_ARG.CPP - コマンドライン引数の評価 DISK_IO.CPP - 低レベルのディスク I/O FAT.CPP - FAT に対する操作 GLOBAL.CPP - 全体処理 HDSTRUCT.CPP - ハードディスク特有のクラス FIPSSPEC.CPP - ハードディスククラスの FIPS 対応化 INPUT.CPP - ユーザ入力 LOGDR_ST.CPP - 論理ドライブに対する操作 MAIN.CPP - main() SAVE.CPP - ルートとブートセクタの保存 HOST_OS.CPP - OS の判定 DISK_IO.H - 低レベルの I/O クラス FAT.H - FAT クラス GLOBAL.H - 全体の定義 HDSTRUCT.H - ハードディスク特有のクラス FIPSSPEC.H - ハードディスククラスの FIPS 対応化 INPUT.H - ユーザ入力のプロトタイプ LOGDR_ST.H - 論理ドライブのクラス TYPES.H - 型定義 HOST_OS.H - host_os のクラス PRIMPART.H - プライマリパーティションのクラス GETOPT.C - コマンドライン解析用の簡単な UNIX getopt クローン GETOPT.H - GETOPT.C のプロトタイプ宣言など VERSION.H - FIPS のバージョン RTYPES.H - RESTORRB の定義ファイル RESTORRB.C - ルートとブートセクタを保存するプログラム RVERSION.H - RESTORRB のバージョン FIPS.EXE - FIPS の実行ファイル RESTORRB.EXE - RESTORRB の実行ファイル COPYING - GNU の GPL (ゼネラル・パブリック・ライセンス) README.1ST - 本ファイル FIPS.DOC - FIPS に関するドキュメント SPECIAL.DOC - OS/2, Stacker, OnTrack Disk Manager に関する特別な問題 FIPS.FAQ - 頻繁に受ける質問とその回答 TECHINFO.TXT - FIPS に関する技術情報 ERRORS.TXT - FIPS のエラーメッセージの簡単な説明 HISTORY.TXT - 改訂の履歴 もし、ファイルが不足している場合は、オリジナルのアーカイブから入手して ください。それでも見つからない場合は、連絡してください。 Arno Schaefer < > 2. FIPS の説明書 (FIPS.DOC) FIPS へようこそ ハードディスクの内容を壊さずにパーティションを分割する初めて の対話型ツール Version 2.0 1998年5月11日 Copyright 1993-95 by Arno Schaefer Parts of the code Copyright 1997/98 Gordon Chaffee o SPECIAL.DOC には、以下の内容が記載されています。 S1. ディスク圧縮ソフト Stacker/SuperStor/Doublespace での利 用 S2. OS/2 での利用 S3. OnTrack Disk Manager や 類似のドライバでの利用 o FIPS は、データを削除することなく既存の DOS パーティションを分割す るプログラムです。 o FIPS は、フリーソフトウェアです。 つまり、GNU General Public License のもとに、これを再配布したり修正 したりできます。同 License は、Free Software Foundation により発行 されており、バージョン 2 か、それ以降のバージョンに基づきます(どち らを取るかは選択可能)。 FIPS は、皆さんのお役に立てることを願って配布されています。しかし、 *いかなる保証もありません*。つまり、その有効性や、ユーザの目的に 適したものかどうかの保証はありません。詳細は、GNU General Public License を見てください。 この FIPS といっしょに、GNU General Public License が入っているはず です。ファイル COPYING を見てください。もしなければ、the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.に連絡 してください。 o 障害報告や質問は、 へどうぞ。 【訳注】以下の章番号は、原文では 0〜11 ですが SGML 化するツールの仕様 により 2.1〜2.12 となっています。 2.1. FIPS の利用にあたって必要なこと すべてのデータをハードディスクの最初に集めるために、デフラグ メントのツールが必要です。FIPS は、パーティションの後ろに十 分な空き領域がある場合に限って、そのパーティションを分割しま す。Windows95 や最近のバージョンの MS-DOS には、DEFRAG とい うツールが入っていて、この目的に使えます。他のツールとし て、Norton Speedisk、PCTools' Compress、Novell DOS 7 の DISKOPT や、シェアウェアの ORG, DOG, SAFPAK がありま す。(シェアウェアは、 SimTel の diskutil ディレクトリ内にあ ります。SimTel のどのミラーサイトからも anonymous FTP で入手 可能です)。ただし、これらのツールはテストしていません。ここ での目的にうまく使えないかもしれませんのでご了承ください。 また、FIPS の利用前と利用後にハードディスクを検査するため に、Norton Disk Doctor(あるいは DOS 6.* や Windows 95 の scandisk)のようなツールが便利でしょう。 FIPS は、DOS 5.0 で開発されました。3.0 以上で問題なく動くは ずで、2.0 でもいいかもしれません。しかし、大きなサイズのパー ティションは、DOS 4 以降からサポートされていますので、古い DOS ではあまり役立たないでしょう。 DOS 6.0 と 6.2 と Novell DOS 7 で動くことは報告されています。Windows95 のパーティショ ンでもうまく使えた、という報告もあります。長いファイル名は、 FIPS にとっては何の問題もないということを補足しておきます。 というのは、 FIPS は、 ディレクトリ構造とは全く関連のない、 より低いレベルで動作するからです。そのような状況でセットアッ プするには、FIPS を使う前に DOS のフロッピーディスクから起動 したほうが、おそらく賢明でしょう(2.7 項を参照)。 2.2. はじめに このツールは、Linux プロジェクトがヒントになりまし た。DOS/Windows が利用されている PC に Linux をインストール するときには、DOS ソフトのために小さなパーティションを取って おきたいと思うことが多くあります。しかし、ほとんどのハード ディスクは、大きな単一のパーティションだけで構成されているた め、たいていは、まずはじめに完全なバックアップを取り、次にパ ーティションを消去し、そして新しいパーティションを作成する必 要があります。それから、バックアップしたものを新しく作ったパ ーティションのどこかに復元してやることになるでしょう。今日の システムでは、ハードディスクの容量が大抵500MB 以上あり、一度 でもドライブが相当量のファイルで満たされると、テープドライブ のような大容量メディアなくしては、完全なバックアップは現実的 に不可能です。実際には、大切なデータだけをバックアップしてお くという方が多いようです (これは、どんな場合にもお勧めできる 作業ではありますが)。しかしこの場合ソフトウェアパッケージを 全てインストールし直すには、長い時間あるいは数日が必要となっ てしまいます。 FIPS は、この問題を解決するために作られました。FIPS を使え ば、データをまったく失うことなくパーティションを分割できま す。ただし、古いパーティションの後ろの部分に十分な空き領域が 存在していることが必要になります。 2.3. FIPS とは? (訳注:必読) FIPS は、パーティションテーブルとブートセクタの中のある値を 変更することにより、パーティションのサイズを小さくしていま す。FIPS は、パーティションのフォーマットを変えるわけではあ りません。ましてや、クラスタサイズやファイルアロケーションテ ーブル(FAT)のサイズを変えるわけではありません。したがって、 サイズが小さくなったパーティションは、一部が使われない FAT を持つことになりますが、これは DOS では問題ありません。 FIPS は、以上の操作により得られた空き領域から、新しい*基 本DOSパーティション*を作成します。 もし新しいパーティションを他の OS (たとえば Linux) 用に使い たい場合は、その OS についている FDISK 相当のソフトを使って 必要な設定を行ってください(その OS のマニュアルを参照)。 もし新しいパーティションを DOS/Windows 用に使いたい場合 は、(フォーマット後に!)そのまま使えます。しかし、以下の点に 注意してください。 正式には、DOS は 1 つの基本パーティションしか持てないことに なっています。ところが、(少なくても 5.0 以降の)すべてのバー ジョンの DOS では、幸いにも複数の基本パーティションを持つこ とができます。しかし、これは非公開の機能です。もし正式な利用 法に従いたいのであれば、(もう 1 つの)新しいパーティション をFDISK によって削除し、そこに拡張パーティションを作ることに なります。 複数の基本パーティションを持つと、FDISK を使ってアクティブパ ーティション (活動区画)を切り替えて、異なるパーティションか ら起動できるという利点があります。 しかし、複数の基本パーティションを作ると、以下の問題が生じる ことが知られています。 - もし、誤って FDISK などで 1 つの基本パーティションを削除し てしまうと、基本パーティションを簡単には作り直せなくなってし まいます。(FDISK に拒否されるからです)。これを解決するために 他の FDISK相当のソフトがあるかもしれません。しかし、それでも 駄目な場合は、Linux の起動ディスクから Linux の fdisk を動か すという方法があります。しかし、かなり面倒です。 - パーティションテーブルを調べて動作するソフトウェアがあり、 複数の基本パーティションがあると問題を起こすかもしれません。 その 1 つとして Peter Gutmann さんによる SFS(Secure file system) がありました。たぶん彼は、こういった普通ではない構成 に対応するようにプログラムを修正したのではないかと思います。 しかし、ほかにも問題を起こすソフトウェアがあるかもしれませ ん。 2.4. 安全性 FIPS は、特に安全性に関して最大限に配慮して設計されていま す。まず最初に、パーティションテーブル、ブートセクタ、FAT を 見て、不整合がないかを調べます。もし、何かおかしな点があれ ば、その旨を教えてくれます。もしエラーがあれば、 FIPS はそれ 以上進みません。 実際の作業前に、ルートセクタとブートセクタのバックアップをフ ロッピーディスクに保存できます。もし、何か問題が発生したら、 そのバックアップを restorrb.exe を使ってハードディスクに復帰 できます(2.6 項を読んでください)。この機能を使うことを強く推 奨します。restorrb.exe を使えば,後でパーティションを元の状 態に戻すことも可能となるので、ルートセクタとブートセクタを安 全な場所に保管しておくことをお勧めします。 FIPS はパーティションに空きがあるかどうかを調べて、次に新し いパーティションの先頭シリンダを尋ねます。 新しいパーティションテーブルとブートセクタを計算した後 に、FIPS は、もう一度全てチェックします。別の問題がここで見 つかるかもしれないからです。完全に問題がないときのみ、新しい ルートセクタとブートセクタをディスクに書き込んでよいかの最終 確認をユーザに求めます。 2.5. 制限 o FIPS は、ハードディスクの低レベルのアクセスに 13h の割り 込みを使っているハードディスク BIOS の環境でのみ動作しま す。このことは、殆んど全ての PC の場合にあてはまると思い ます。ある古い Adaptec SCSI コントローラにはソフトウェア ドライバが存在し、それはより高いレベルで動作するものだ、 という報告を受けたことがあります。この場合は、Adaptec か ら新しいドライバを入手するしか手はありません。新しい Adaptec 製品についてはどれも問題ありません(個人的に使って います)。 o FIPS は、1 セクタが 512 バイトのディスクでのみ動作しま す。DOS は、これ以外のセクタサイズも扱えるようになってい ますが、私自身、今までそういったシステムを見たことはあり ません。 o FIPS は、 12 ビット FAT によるパーティションは分割しませ ん(10MB以下のパーティションは分割を必要とはしないでしょ う)。 o FIPS は、DOS パーティションのみを分割できます。パーティ ションテーブルとブートセクタは、MSDOS 3.0 以降の規則に 従っている必要があります。このことは、パーティションテー ブル内のシステムインジケータバイトに示されており、そのバ イトは、4 (16ビットセクタ番号)、あるいは 6 (32ビットセク タ番号) の値を持っています。Linux のパーティションは分割 *できません*。 新しく Windows95 の FAT32 のパーティションもサポートして います。 o FIPS は、拡張 DOS パーティションに対しては利用できませ ん。 o FIPS は、すでに 4 つのパーティションに分割されているハー ドディスクには利用できません。FIPS は、空きパーティション のエントリを 1 つ必要とするからです。 o FIPS は、元になるパーティションを、4085 クラスタ以下のサ イズにすることはできません。16 ビット FAT を 12 ビットに 書き直すことを意味するからです。 2.6. はじめる前に (訳注:必読) 分割したいパーティションに対して、CHKDSK あるいは SCANDISK を実行してください。もし Norton Disk Doctor かそれに類するも のがあれば、それを使うこともできます。ハードディスクに損傷し たクラスタが「ない」ことを確認してください。 DOS を起動可能なフロッピーディスクをドライブ A に入れてくだ さい。起動可能ディスクは、DOS においては、 "sys a:" あるいは、 "format a:/s" によって作成できます。Windows NT や OS/2 では、他のコマンド になるでしょう。わからないときは、マニュアルを確認する か、DOS PC から DOS の起動可能ディスクを持ってきて起動してく ださい。 RESTORRB.EXE と FIPS.EXE と ERRORS.TXT をこのディスクにコピ ーしてください。 そのフロッピーディスクから DOS が起動するか確認してくださ い。そして、起動後にハードディスクをアクセスできるか確認して ください("dir c:" と入力し、ハードディスクのルートディレクト リが見られるかで確認可能)。もし、 うまくいかない場合は、マ ニュアルを調べたり詳しい人に聞いたりしてみてください。どうし ても駄目な場合は、 通常どおりハードディスクから起動し て、FIPS を使ってください。多少危険ですが、最後の手段です。 FIPS を開始したとき(おっと、今すぐに開始しないで!)、ドライブ A のフロッピーディスクに、ルートセクタとブートセクタのバッ クアップを取ることができます。このバックアップ は、ROOTBOOT.00x (x は 0 から 9 の数字) のファイル名になりま す。 もし、FIPS を利用中にトラブルが発生したら、このディスク から DOS を起動し、RESTORRB を動かすことにより、ハードディス クを元の構成に戻すことができます。ただし、2 回以上 FIPS を動 かしたときには(普通は必要ありませんが、たまに起こる)、2 つ以 上の ROOTBOOT ファイルがフロッピーディスクに作成されま す。RESTORRB は、どの ROOTBOOT ファイルを復帰に使うかを指定 できます。ROOTBOOT.000 が最初のファイルです。ROOTBOOT ファイ ルのバージョンを混同しないようにしてください。 この ROOTBOOT.00x のバックアップファイルは、後でパーティショ ンの分割を元に戻すときに必要になります。 FIPS を動かす前に、*必ず*ハードディスクをデフラグメントし てください。新しいパーティションが利用する領域はすべて空であ る必要があります。ただし、ほとんどのデフラグメントツール は、Windows のスワップファイルを動かすことができないことに注 意してください。 この場合、Windowsの「コントロールパネル」の 中の「エンハンスドモード」の設定を使いスワップファイルを解除 し、 FIPS の利用後に再度設定する必要があります。 【訳注】これは Windows 3.1 の場合です。「エンハンスドモード の設定」の中に「スワップファイルの設定」というのがありま す。Windows95 では「コントロールパネル」-->「システ ム」-->「パフォーマンス」タブ-->「仮想メモリ」です。 もし、IMAGE や MIRROR を使っている場合には、ハードディスクの 最終セクタに隠しシステムファイルがあり、ミラーファイルへのポ インタを持っています。FIPS を使う前に、*必ず*このファイル を削除する必要があります(次にミラーを動かすときにこのファイ ルは再生成されます)。ルートディレクトリで "attrib -r -s -h image.idx" あるいは、 "attrib -r -s -h mirorsav.fil" とやってから、このファイルを削除してください。 もし、新パーティションのためのディスク領域を思ったほど確保で きない場合は、以下のことが考えられます。 a. 現在のパーティションにまだデータがたくさん残っているのか もしれません。新しく作る区画のサイズを小さくするか、現在の区 画にあるデータの一部を消去することを検討してください。 b. 新パーティションの領域に、デフラグメントツールでは移動で きない隠しファイルがあるかもしれません。'dir /a:h /s' (シス テムファイルの場合は どのソフトウェアがその隠しファイルを作っているかを確かめてく ださい。 NDOS のようなプログラムのスワップファイルなら、消去 しても安全です(あとから必要になった場合には自動的に再作成さ れます)。各ソフトウェアのマニュアルを読んでください。 コピープロテクションが隠しファイルを使っている場合は、その隠しファイル を使用しているプログラムをアンインストールする必要があります。そして、 FIPS の使用後、再度インストールします。 これでも解決しない場合は、今のところ何とも言えません。 本当にどう対処 してよいかわからなければ、直接連絡をください。 ★注意★ DOS の隠しファイル(ibmbio.com や ibmdos.com やそれに類する ファイル)を*移動しない*でください。ハードディスクから何も 起動しなくなってしまいます。これらのファイルは、最初からパー ティションの先頭セクタにあるはずなので、動かす必要はないはず です。DOS 5.0 やそれ以降のバージョンでは、少なくともシステム ファイルの 1 つは*動かしても*よいのですが、いずれにせよシ ステムファイルはそのままにしておくのが良策です。 FIPS でパーティションを分割したら、再起動しなければなりません。そのた め、 config.sys や autoexed.bat 中にある、ディスクに書き込みを行なうあ らゆるプログラム、特に MIRROR コマンドや IMAGE コマンドが再起動のとき に実行されないようになっていることを、確認してください。一時的にこれら のファイルの名前を変えると簡単です。 パーティションテーブル内の DOS パーティションの位置が変更される可能性 があります。新しいパーティションを DOS で使い、しかも拡張パーティショ ンを持っているか、ハードディスクが 2 台あった場合は、パーティションの 名前が変わるかもしれません(たとえば、D ドライブが E ドライブに変わるな ど)。 FIPS は、起動に問題が発生しないように、C ドライブは、できるだけ C ドライブのままになるようにしています。 また、CD-ROM ドライブがあると、殆んどの場合、CD-ROM のドライブレターが 変更されます。 従って、autoexec.bat で MSCDEX コマンドに /L オプション をつけてCD-ROM のドライブレターを明示的に指定している場合は、 それを変 更する必要があるかもしれません。 MSCDEX コマンドに /L オプションをつけ ていない場合は、MSCDEX コマンドは自動的に空いているドライブレターの最 初のものを使います。そのため、何も変更する必要はありません。 ドライブレターについて:DOS はドライブレターを次の順序で指定します。 1.各々のドライブの最初の基本DOSパーティション 2.全てのドライブ中の拡張パーティションにある論理パーティショ ン 3.全てのドライブ中の残りの基本DOSパーティション 例: C: 1台目のハードディスクにある最初の基本DOSパーティション D: 2台目のハードディスクにある最初の基本DOSパーティション E: 1台目のハードディスクにある拡張パーティション中の最初の論 理パーティション F: 1台目のハードディスクにある拡張パーティション中の 2 番目 の論理パーティション G: 2台目のハードディスクにある拡張パーティション中の最初の論 理パーティション H: 2台目のハードディスクにある2番目の基本DOSパーティション I: CD-ROMドライブ この指定方法を簡単に変更する方法はわかりません。特に、あるパーティショ ンに対して、任意のドライブレターを割り当てることはできません。しかしな がら、ある基本 DOS パーティションを拡張パーティションに変更して、ドラ イブレターの順番を変更することはできます。 ○ Linux ユーザへ 以上のことは、Linux 環境下において DOS パーティションのデバイス番号が 変更される場合があることも意味します(たとえば、/dev/hda3 が /dev/hda1 になる)。既存の Linux のパーティションは変わらないので、起動に問題が生 じることはありません。起動時に DOS パーティションをマウントしている場 合は、/etc/fstab を変更する必要があります。 2.7. マルチタスク OS での利用 OS/2, Desqview, Windows, Novell タスクマネージャ, Linux のDOS エミュレータなどのマルチタスク環境の下で FIPS を使わな いでください。 これらのシステムでは、 FIPS がハードディスクの構造を変更した あとに、実際にディスクに書き込む可能性があります。この結果ハ ードディスクを破壊してしまうかもしれません。必ずこうなるわけ ではなく、ほとんどの場合は問題なく動くのではないかと思いま す。しかし、安全性は FIPS の最優先の項目です。起動ディスクか ら DOS を起動して、そこで FIPS を動かすのが安全です。 FIPS Version 1.0 からは、Windows と Desqview の環境を自動検 出する機能を追加しました。これに関して Dave McCaldon さんの 協力に感謝します。 OS/2 と Novell タスクマネージャの検出は、まだできていませ ん。Linux DOS エミュレータを検出するコードは削除する必要があ りました。多くのマシンでハングアップしてしまうからです。 2.8. FIPS を使う (訳注:必読) 2.6 項で説明した手順で起動可能なフロッピーディスクが用意でき たら、まず、そのフロッピーディスクから起動します。 ★重要★ Smartdrive のようなディスクキャッシュプログラムが動作してい ないことを確認してください。FIPS の行なった変更内容がディス クの一部にのみ書き込まれ、このために、その後ディスクが壊れて しまった、という報告があります。これは、 Smartdrive を使って いたために起きたものと考えられます。Smartdrive のデフォルト の設定は、ディスクへの書き込みを数秒送らせる、というもので す。あまりにも早く再起動してしまうと、変更内容のいくつかが失 われてしまうかもしれません。 DOS プロンプトで FIPS [Enter] と入力して FIPS を起動します。 FIPS の中では、 によっていつでも FIPS を終了できます。 1. FIPS は、まず最初にどの OS で走らせているのかを判断します。も し、Windows あるいは Desqview 上で動かしている場合は、警告メッセー ジを出し、フロッピーディスクから起動するように促します。強制的に操 作を続行することもできますが、この場合は、あなた自身の責任の下で FIPS を動かすということに留意してください(2.9 項参照)。 その後 FIPS は、ハードディスクを調べます。もし 2 台以上のハード ディスクが接続されている場合は、どのハードディスクを対象にするかを 尋ねてきます。 FIPS の以前のバージョンでは、 ハードディスクの台数を正しく認識でき ませんでした(特に、Gateway社の Pentium マシンで)。現在は正しく認識 できるはずですが、もしうまくいかない場合は、知らせてください。-n オ プションを使えば、明示的にドライブを指定できます(後述)。 2. 次に FIPS は、ハードディスクのルートセクタを読み、パーティションテ ーブルを表示します。 例: | | Start | | End | Start |Number of| Part.|bootable|Head Cyl. Sector|System|Head Cyl. Sector| Sector |Sectors | MB ----- -------- ---------------- ------ ---------------- -------- --------- ---- 1 | yes | 0 148 1| 83h| 15 295 63| 149184| 149184| 72 2 | no | 1 0 1| 06h| 15 139 63| 63| 141057| 68 3 | no | 0 140 1| 06h| 15 147 63| 141120| 8064| 3 4 | no | 0 0 0| 00h| 0 0 0| 0| 0| 0 もし、この表示の意味がわからなくてもかまいません。MB の欄のディスク容 量を見て、分割したいパーティションの番号(Part.)がわかるだけでよいで す。そして FIPS は、ルートセクタにエラーがないか調べます。 3. もしディスク上の 2 つ以上のパーティションがあった場合は、どのパー ティションを分割するのかを聞いてきます。Part の欄にある数字を入力し ます。選択したパーティションのブートセクタが読まれ、いくつかの情報 が表示されます。 例: Bytes per sector: 512 Sectors per cluster: 8 Reserved sectors: 1 Number of FATs: 2 Number of rootdirectory entries: 512 Number of sectors (short): 0 Media descriptor byte: f8h Sectors per FAT: 145 Sectors per track: 63 Drive heads: 16 Hidden sectors: 63 Number of sectors (long): 141057 Physical drive number: 80h Signature: 29h FIPS は、この情報がパーティションテーブルの内容と矛盾していないか を調べます。 FAT の 2 つの複製が完全に一致しているかを調べます。もし一致していな い場合は、FIPS はエラーメッセージを出して終了します。 すべてのチェックが OK になると、FIPS は、パーティションの後ろの空き 領域を探します。新パーティションは、少なくても 1 つのシリンダが必要 です。もし最後のシリンダが空いていないと、パーティションを分割する ことはできません。この場合、FIPS は、エラーメッセージを出して終了し ます。この場合、ミラーファイルかイメージファイルを削除し忘れている 可能性があります(2.6 項参照)。 4. 【訳注】以下の部分は、原文にはありません ========ここか ら============ ルートセクタとブートセクタのバックアップを取るかを聞いてきます Do you want to make a backup copy of your root- and bootsector before proceeding (y/n)? y を入力します。 ブート可能なフロッピーディスクが A: ドライブにセットされているかの 確認です Do you have a bootable floppy disk in drive A: as described in the documentation (y/n)? y を入力します。 =========== ここまで ================================================ 5. ここで、 新パーティションの先頭のシリンダ番号を入力します。左右のカ ーソルキーを使って、シリンダ番号を増減できます。 【訳注】以下のように表示されます。 Old partition Cylinder New Partition ○○.○ MB □□ △△.△ MB 残りのパーティションと新パーティションのサイズがその場で表示されますの で、簡単に正しいシリンダを選べます。上下カーソルで 10 単位でシリンダを 調整できます。設定が終わったら、Enter キーを押します。 FIPS は、ここでもう一度新パーティションが本当に空かどうかをチェックし ます。ただし、このチェックは、ダメ押しの安全チェックであり、空き領域は これよりも前の段階で決定しているので、この段階でエラーを表示することは ありません。 6. この操作のあと、ルートセクタに対する変更を計算・チェックし、 新しい パーティションテーブルの内容を表示します。 パーティションテーブルの 内容を元に戻って変更するか(r)、続行するか(c)を指定します。 Do you want to continue or reedit the partition table (c/r)? 7. c を入力すると FIPS は、ブートセクタの変更の再計算と再チェックを行 い、設定内容をディスクに書き込んでよいかの最終確認を行います。 【訳注】以下のように表示されます。 Ready to write new partition scheme to disk Do you want to proceed (y/n)? y を入力すると FIPS は終了します。 2.9. パーティションを分割したあとに (訳注:必読) 変更がディスクに書き込まれたことを確認します。 (私が使わない ようにと率直にすすめたのにもかかわらず:-)Smartdrive のような ディスクキャッシュを使っているのならば、数秒待って、キャッ シュの内容がディスクにフラッシュされるようにします。 新しいパーティションは、 次に DOS を再起動した後に認識されま す。*再起動する前には何もディスクに書き込んではいけません *。再起動した後に、CHKDSK コマンドや Norton Disk Doctor を 使って古いパーティション(小さくなったパーティション)に問題が ないかどうか確認してください。 FIPS の行なった変更が正しく書き込まれていないケースがありま す。このケースにあてはまるのかどうかを確認するために、再起動 してから、もう一度 -t オプションをつけて FIPS を起動します。 そして、分割したパーティションを選択してください。開始シリン ダーを尋ねる前に FIPS がエラーを表示しなければ、問題はないの で、 で中止してください。問題があったときは、 RESTORRB コマンドで変更をもとにもどして、私宛てに E-mail で 連絡してください(訳注:もちろん英語で)。 エラーが一つもみつからなければ、元の config.sys と autoexec.bat を使ってシステムを再起動してください。何かソフ トウェアを動かして、データが問題なく読めることを確かめてくだ さい。 新パーティションを DOS 用に使いたい場合は、フォーマットする 必要があります。複数のパーティションがハードディスク内にある 場合は、間違いなく正しいパーティションをフォーマットしてくだ さい。ドライブ名が変更されているかもしれませんので、十分注意 してください。 新しいパーティションを Linux 用に使いたい場合は、Linux の fdisk を使ってシステムインジケータのバイトを変更してか ら、mkfs を使います。 新しいパーティションをさらに小さなパーティションに分割したい 場合は、まず最初にそのパーティションを DOS でフォーマットす る必要があります。そうでないと FIPS が警告を出します。 2.10. オプションスイッチ コマンドラインで与える FIPS に対するオプションを説明しま す。もし DOS スタイルの方がよければ、 '-' の代わりに '/' を 使っても指定できます。2 つ以上のオプションを組み合わせること もできます。オプションの一覧は、 FIPS - help と入力すると表 示されます。以下に詳しく説明します。 o -t または -test : テストモード (ディスクへの書き込みを行わない) 説明は特に不要でしょう。 o -d または -debug : デバッグモード このモードでは、 FIPS の操作の過程の完全な履歴を、追加情報とともに カレントディレクトリ内のファイル FIPSINFO.DBG に書き込みす。何か問 題が発生したら、このファイルを送ってください(後述)。 o -h または -help または -? : ヘルプ頁 オプションスイッチの要約 o -n : ドライブ を選択する ドライブ番号を選択します。128 から 255 が有効です。これを指定する と、ディスクドライブの自動検出を行いません。何らかの理由で FIPS が ドライブを正しく検出できないときにも、このスイッチが使えます。 2.11. トラブルシューティング FIPS は、これまで大きな問題もなく多くの人に使われています。 しかし、FIPS は、依然として実験的なソフトウェアの一面を持っ ています。FIPS は、もしシステムの状態に何か疑いがある場合 は、安全になるように配慮しています。そして、そのことをエラー メッセージで表示します。また、いくつかのマイナーなエラーは無 視しています。 まずは、この文書をしっかりと読んでください。また、頻繁に受け る質問をまとめた ``FIPS.FAQ'' も見てください。 それでもなお、 発生した問題を解決できなかったり、FIPS が扱え ないような構成を持っていたり、FIPS のバグの疑いがあるときに は、-d スイッチを使って操作の履歴を取り、FIPSINFO.DBG のファ イルとそれに対する注釈を に送ってください(訳注:もちろん英語で)。もしか したら、その問題は、すでに解決されているかもしれません。 2.12. クレジット o FIPS は、Linux digest132 の中の Drew Eckhardt さんにより書かれたプ ログラムに基づいています。ハードディスクの構造については、ドイツ語 による「Scheibenkleister II」(Claus Brod, Anton Stepper共著)という 素晴しい本から多くのことを学びました。これは Atari ST 用の本です が、多くのことが IBM-PC/AT 互換機にも当てはまります。 o ハードディスクの割り込みに関する情報は、 Ralf Brown さんの割り込み 一覧表から知りました。 o Hamish Coleman さんからの有益な情報と、Paul Smith さんからの提案に 感謝します。 o Gunnar Hilmarsson さんは、複雑なドライブに関する処理方法を提案して くれました。 o Miguel Alvarez さんは、 パーティションの順番付けに関する改良方法を 手助けをしてくれました。 o Chetan Patilさん、Rand Phares さん、Eric Jung さんからは、プログラ ムとドキュメントのバグの指摘がありました。 o Stefan Andreasen さんは OS/2 に関する重要な情報を提供してくれま した。 o Keith Crews さんは、ブートディスクの用意と DOS 6.x の新機能に関し て、ドキュメントへの追加を提案いただきました。 o Dave McCaldon さんは、FIPS が動作している OS の種類を検出するコード を書いてくれました。 o Scott Ellentuch さんと Billy Patton さんは、OnTrack Disk Manager の 情報を提供してくれました。 o 拡張IDEドライバとアドレス変換に関するたいへん有益な情報は Patrick LoPresti さんによる Linux EIDE-Mini-HOWTO から頂きました。 o Gordon Chaffee さんの FAT32 のサポートに関して感謝します。 o そのほかの、私にフィードバックと提案をくれたすべての人に感謝しま す。 FIPSは、私が受け取った数えきれないほどの電子メールなしでは存在 しえませんでした。 Arno Schaefer < > 3. FIPS で頻繁に受ける質問 (FIPS.FAQ) ■ FIPS で頻繁に受ける質問(FAQ) ここには、私が頻繁に受ける質問のいくつかをまとめました。これでよくある トラブルを解決できると思います。私に電子メールを送る前に、このファイル をよく読んでください。FIPS に関するすべてのことを知りたい場合 は、README.1ST を読んでください。 ここには、以下の質問に対する答えがあります。 ``Q01. FIPS を使ってパーティションを分割できるのであれば、複数のパー ティ ションを一つのパーティションに併せることはできますか?'' ``Q02. FIPS がハードディスクに行った変更を元に戻せますか?'' ``Q03. もしルートセクタとブートセクタを保管していなかった場合は、パー ティ ションの分割を元に戻すことはできないのですか?'' ``Q04. クラスタサイズはパーティションのサイズで決まり、 クラスタサイズ が 小さいほうが、ハードディスクの利用効率が上がるそうです。FIPS を使 ってクラスタサイズを小さくすることはできますか?'' ``Q05. 大きなパーティションを 3 つか 4 つのパーティションに分割したい と 思っています。FIPS を何度も使って分割することは可能ですか?'' ``Q06. FIPS により、DOS 基本パーティションを 2 つ存在させることになり ま すが、これは許されているのですか?'' ``Q07. Info: Partition table inconsistency (訳注:パーティションテーブ ルが 矛盾している) というメッセージはどういう意味ですか?'' ``Q08. FIPS からエラーメッセージが出て、その先に進まなくなってしまいま し た。どうすればいいですか?'' ``Q09. FIPS が私の SCSI ハードディスクを認識しません。'' ``Q10. FIPS が パーティションのタイプが 56h のパーティションだけを認識 し、 DOS パーティションを認識しません。'' ``Q11. FIPS は問題なく動作して、DOS から新しいパーティションが見えるの に、 Linux の fdisk コマンドでは新しいパーティションが見えませ ん。'' ``Q12. FIPS は Windows95 でも動きますか?'' ------------------------------------------------------------------ ●Q01. FIPS を使ってパーティションを分割できるのであれば、複数のパー ティションを一つのパーティションに併せることはできますか? ○A01.a 一般にはできません。技術的な詳細には立ち入りませんが、DOS で フォーマットされたパーティションには、 ファイルアロケーショ ンテーブル(FAT)があり、そこにはそのパーティションのすべてク ラスタのエントリが格納されています。たいていは、1 つの FAT は 2 つのパーティションの情報を持つほどには大きくなく、簡単 には 2 つのパーティションを併せることはできません。 可能性がないわけではありませんが、私はこのことを FIPS ででき るようにするつもりはありません。 今までのところ、私はパーティションを拡張するというソフトウェ アを 2 つ知っています。1 つは "Partition Resizer" という無料 のプログラムです (presz???.zip というファイル名で、よく行く BBS や FTP サーバで捜してください)。もう 1 つは、Powerquest 社の PartitionMagic という商業製品です。わたしはこれらをまだ 使っていません。 ○A01.b もしそれらのパーティションが FIPS を使って分割されたものであ れば、可能です。 元は十分に大容量でフォーマットされているため、FAT に関する問 題は生じません。操作としては、元のルートセクタとブートセクタ を復帰するだけです(分割されている間、パーティションの内容が どう変更されたかは問題にはなりません)。この操作は、FIPS につ いてくる RESTORRB を使って行います。 ただし、以下の条件を満たしている必要があります。 - 元のルートセクタとブートセクタのイメージが保管されているこ とが必要です。そのイメージはフロッピーディスクに入っている必 要があります。 - パーティションを分割してから併せるまでの間に、2 つの内の最 初のパーティションがフォーマットされていない必要がありま す。(もしフォーマットされてしまうと、新しい FAT は小さくなっ てしまうからです) - 2 番目のパーティション(FIPS によって作成されたパーティショ ン)の内容は、当然失われます。最初のパーティションの内容はそ のままになります。 ------------------------------------------------------------------ ●Q02. FIPS がハードディスクに行った変更を元に戻せますか? ○A02. 戻せます。A01.b の回答をみてください。元のルートセクタとブー トセクタが保管されていることが条件になります。 ------------------------------------------------------------------ ●Q03. もしルートセクタとブートセクタを保管していなかった場合は、 パー ティションの分割を元に戻すことはできないのですか? ○A03. 元に戻すことは難しいです。唯一の選択は、ファイル TECH- INFO.TXT を読んでハードディスクの構造について勉強し、元のパ ーティションの情報とフォーマット情報を手計算して、ディスクエ ディタを使ってそれを書き込むことです。 操作の概要は以下のようになります。ここでは、元のパーティショ ンから切り離されたパーティションを 2 番目のパーティションと 呼びます。元のパーティションの残りの部分を 1 番目のパーティ ションと呼びます。 1. 2 番目のパーティションには重要なデータがないことを確かめ てください。このパーティションのデータは削除されてしまい ます。誤操作に備えて、すべてのルートセクタとブートセクタ のバックアップをフロッピーディスクに(!)作ってください。そ して、DOS の起動ディスクを作り、その中にディスクエディタ を入れてください。 2. ディスクエディタの中で、"物理ドライブの編集"と"パーティ ションテーブルの編集"の機能を選んでください。ディスクエ ディタには、この機能があることを前提とします。 3. どの 2 つのパーティションを併せたいのかを確認するために、 パーティションテーブルを調べます。 4. 2 番目のパーティションの最終のヘッド値、シリンダ値、セク タ値を調べ、その値を最初のパーティションの該当するフィー ルドに書き込んでください。 5. 最初のパーティションのセクタ数と 2 番目のパーティションの セクタ数を足して、その値を最初のパーティションのセクタ数 のフィールドに書き込んでください。 6. 2 番目のパーティションのエントリを 0 で埋めて完全に削除し てください。 7. 最初のパーティションのブートセクタを探し、 その中のセクタ 数のフィールドに新しいセクタ数を書き込んでください。 自分が何の作業をしているのかを理解していることを確認してくだ さい。もし、ハードディスクの状態が混乱してしまったとしても、 私は責任を持てません。ファイル TECHINFO.TXT をよく読んでくだ さい。 ------------------------------------------------------------------ ●Q04. クラスタサイズはパーティションのサイズで決まり、 クラスタサイズ が小さいほうが、ハードディスクの利用効率が上がると聞きました。 FIPS を 使ってクラスタサイズを小さくすることはできますか? ○A04. 元のパーティションから切り離されたパーティションのクラスタサ イズは、フォーマットされる時にそのパーティションのサイズにあ わせて自動的に決まります。残った方のパーティションは、再フォ ーマット(つまり全データを削除)しない限り、クラスタサイズを変 更することはできません。 もし、新しいパーティションが十分に大きければ、残ったパーティ ションから新しいパーティションにデータをすべてコピーし、残っ たパーティションを再フォーマットすればいいでしょう。しかし、 以下の 2 点に気をつけてください。 1. 再フォーマット後は、パーティションを元に戻すことはできま せん (A1.a 参照)。 2. 新しい FORMAT コマンドは、すでにパーティションがフォー マット済みかどうかを調べ、もしそうであればフォーマット情 報を保存します。(間違ってフォーマットしまった場合に備え、 ディスクを簡単に元に戻せるようにするためです) FORMAT コマ ンドにそのパーティションが新しいと思わせる必要がありま す。多分、/U スイッチが使えると思います(私はこれをチェッ クする機会がありません。もしうまく行ったら知らせてくださ い)。もし、これでもうまく行かない場合、ディスクエディタを 使い、無効化するためにそのパーティションのブートセクタを 0 で埋めればいいはずです。 注: ブートセクタを 0 で埋めただけでは十分でないという報告 をもらっています。古いフォーマットに関する情報が、BIOS テ ーブルに残っているのではないかと想像しています。ブートセ クタに書き込んだ後、 そのテーブルをすべてクリアするために システム再起動してみてください。DOS のツールは、ときどき インテリジェントすぎることがあるのです :-(。 ここでなにか問題がおきたら、知らせてください。 パーティションのクラスタサイズは、おおむね以下のようになって います。 パーティションの容量 クラスタサイズ -------------------------------- 0 - 32MB 512 Bytes 32 - 64MB 1024 Bytes 64 - 128MB 2048 Bytes 128 - 256MB 4096 Bytes 256 - 512MB 8192 Bytes 512 -1024MB 16384 Bytes ------------------------------------------------------------------ ●Q05. 大きなパーティションを 3 つか 4 つのパーティションに分割したい と思っています。FIPS を繰り返して何度も使い、分割可能ですか? ○A05. 可能です。ただし、FIPS の利用ごとに新しく作成されたパーティ ションをフォーマットする必要があります。クラスタのサイズに関 しては、以下を参考にしてください。 - 1GB のハードディスクを 4 つに分割すると仮定します。各 256 MB とします。 - 元のパーティションは、クラスタサイズが 16KB でフォーマット されているとします。 - 元のパーティションを 256MB / 768 MB に分割します。最初の パーティションのクラスタサイズは 16KB のままです。4KB で十分 ですが、再フォーマットしない限り、 これを変更することはでき ません(A04 参照)。 - 新しい 768MB のパーティションをフォーマットします。クラス タサイズは 16KB のままです。 - 2 番目のパーティションが分割され、256MB / 256MB / 512MB に なります。 - 3 番目のパーティションは、クラスタサイズが 8KB でフォー マットされます。 - 3 番目のパーティションが分割され、256MB / 256MB / 256MB / 256MB になります。 - 4 番目のパーティションは、クラスタサイズが 4KB でフォー マットされます。 - ここまでで、クラスタサイズは 16KB - 16KB - 8KB - 4KB とな ります。 - 2 番目と 3 番目のパーティションはまだ空なので、 再フォー マットしてクラスタサイズを 4KB にすることができます。再フォ ーマットに関する詳細はA04 を見てください。 (訳注:原文では上述の MB の部分が KB になっているが、誤りだと 思われる) ------------------------------------------------------------------ ●Q06. FIPS により、DOS 基本パーティションを 2 つ存在させることになり ますが、これは許されているのですか? ○A06. この点に関する議論は、 FIPS.DOC の中の"What FIPS does" (訳 注:日本語訳では "FIPS とは?") の章を見てください。 ------------------------------------------------------------------ ●Q07. "Info: Partition table inconsistency" (訳注:パーティションテ ーブルが矛盾している) というメッセージはどういう意味ですか。 ○A07. マスターブートレコード(ルートセクタ)にあるパーティションテー ブルは、4 つのエントリからなっており、それぞれ数個のフィール ドがあります。 このパーティションテーブルでは、おかしなことに、いくつかの フィールドが冗長な値になっています。 | | Start | | End | Start |Number of| Part.|bootable|Head Cyl. Sector|System|Head Cyl. Sector| Sector |Sectors | MB ----- -------- ---------------- ------ ---------------- -------- --------- ---- 1 | yes | 0 148 1| 83h| 15 295 63| 149184| 149184| 72 2 | no | 1 0 1| 06h| 15 139 63| 63| 141057| 68 3 | no | 0 140 1| 06h| 15 147 63| 141120| 8064| 3 4 | no | 0 0 0| 00h| 0 0 0| 0| 0| 0 開始点の値(ヘッド/シリンダ/セクタ)と終了点の値は、(ヘッド数 と1トラックあたりのセクタ数を BIOS に問い合わせたあとで)開 始セクタとセクタ数から計算されます。実際に、DOS はそうしてい ます。これらのフィールドは DOS (と、私の知る限りのあらゆる他 のOS)では全く使われていません。そのために、 それらのフィール ドの値は全てゼロになっていても当然です。しかしながら、そのこ とは、フィールドを一貫した状態に保つことを妨げるものではあり ません。 fdisk コマンドがパーティションテーブルエントリを作成するとき は、これらのフィールドに正しい値を入力するはずです。では、ど うやって矛盾がおきるのでしょうか。少なくとも 2 つの可能性が あります。 1. fdisk プログラムの中には、不正な値を書き込むものがありま す。特にシリンダ数を 1 ないし 2 ずらします。 2. アドレス変換を行なう拡張 IDE (EIDE)ドライブを使っていると きに起こります。最近のハードディスクは 1024 個を超すシリ ンダを持っていますが、DOS は、 1024 個を超すシリンダは扱 えません。そこで、ハードディスクコントローラの製造にあ たっては、ある仕掛けを組み込みます。ドライブの構 成(Geometry) の問い合わせがあったときは、シリンダの総数を 減らし、その分ヘッドの総数を増やします。したがって、たと えば DOS は、63 セクタ、32 ヘッド、1000 シリンダあると 思っていても、実際のハードディスクには、63 セクタ、16 ヘッド、 2000 シリンダあるといったことがあります。 ここで、もし DOS が 500 番シリンダの最初のセクタを要求し たとしても、実際は、1000 番シリンダの最初のセクタを読んで いるのです。この仕掛けは、「アドレス変換」と呼ばれていま す。 最近の拡張 IDE ドライブでは、BIOS の中でアドレス変換の有 効/無効を切り替えることができます。場合によっては、ディスク がフォーマットされた後に、切り替えが起こることがあります。つ まり、DOS がディスクコントローラに要求を出した時のディスク構 成(Geometry)とディスクがフォーマットされた後の、パーティショ ンテーブルに反映されているディスク構成が異なってしまう、とい うことです。DOS ではこのことは問題になりませんが、FIPS では version 1.4 より前のバージョンでは問題がありました。 現在のリリースでは、FIPS はこの種の問題を検出して、 パーティ ションテーブルを、変更されたディスク構成に対応させます。 本当のことをいうと、このメッセージについては心配する必要はあ りません。全くもって異常はないのです。 ------------------------------------------------------------------ ●Q08. FIPS からエラーメッセージが出て、その先に進まなくなってしまいま した。どうすればいいですか? ○A08. ファイル FIPS.DOC で述べましたが、これだけでは何ともいえませ ん。もし私に電子メールを送る場合は、-d スイッチで作成される デバッグスクリプトのファイル (FIPSINFO.DBG) を一緒に送ってく ださい。もしこのファイルが送られていないと、それを送ってくれ るようお願いすることになり、解決までに時間がかかってしまいま す。 ------------------------------------------------------------------ ●Q09. FIPS が私の SCSI ハードディスクを認識しません。 ○A09. 古い SCSI アダプタの中には( Adaptec 1524 には、ここで述べて いる'特徴' があると報告されています)、config.sys でデバイス ドライバをロードする必要があり、そうしてはじめてディスクがア クセスできるようになるものがあります (つまり、システムは2台 目のハードディスクやフロッピーディスクから起動する必要があり ます)。このデバイスドライバは、ハードディスクに対して、'BIOS レベル' のインタフェースは提供しませんが、'DOS レベル'のイン タフェースは提供します(技術者の方へ: BIOS 割り込み 13h のか わりに DOS 割り込み 21h をフックします)。 これにより、パー ティションテーブルは、その SCSI アダプタの内部構造を知ってい る、特別な fdisk プログラムによってのみアクセスできま す。FIPS はこれらのドライブでは動作しないでしょう(実際のとこ ろ、 DOS の fdisk も動かないでしょう)。おそらく、その SCSI アダプタに対しては、新しいドライバが存在して、BIOS レベルの インタフェースを提供するでしょう。製造元にお問い合わせくださ い。 ------------------------------------------------------------------ ●Q10. FIPS が パーティションのタイプが 56h のパーティションだけを認識 し、 DOS パーティションを認識しません。 ○A10. OnTrack Disk Manager がインストールされています。SPECIAL.DOC 中の対応する章を読んでください。 ------------------------------------------------------------------ ●Q11. FIPS は問題なく動作して、DOS から新しいパーティションが見えるの に、 Linux の fdisk コマンドでは新しいパーティションが見えません。 ○A11. どういうわけか DOS が、マスターブートレコードにあるパーティ ションテーブルとは異なるパーティションテーブルをロードしてい ます。 2つの原因が考えられます。 1. OnTrack Disk Manager のようなデバイスドライバがロードさ れています。SPECIAL.DOC 中の対応する章を参照してくださ い。 2. マスターブートレコードにウィルスがいます。これはしばしば 起きるものではありませんが、まさにその可能性があります。 ウィルスの中には、自分自身をマスターブートレコードに書き 込み、オリジナルのマスターブートレコードを別の場所にコピ ーするものがあります。DOS がパーティションテーブルをアク セスしようとすると、ウィルスは BIOS コールに割り込んで、 バックアップしてあったコピーを返し、考えられる限りのウィ ルス検査から逃れます。ウィルスに感染していない DOS 起動 ディスクから起動し、ウィルス検査ソフトウェアでこのことを 確認してください。ウィルスは、DOS の fdisk コマンドに /mbr オプションをつけることで、マスターブートレコードから 除去できます。しかし、この場合、バックアップしてあったパ ーティションテーブルはリストアされません。そのために、ブ ートセクタには FIPS によって変更された新しい情報がありま すが、パーティションテーブルはもともとの(1パーティション の)状態のままです。この不一致は修正する必要があります(た とえば、ディスクエディタを使う)。 ------------------------------------------------------------------ ●Q12. FIPS は Windows95 でも動きますか。 ○A12. 動きます。Windows95 のファイルシステムは、DOS のファイルシス テムと同じものです。唯一の違いは、長いファイル名をつかえるこ とですが、FIPS はディレクトリのレベルよりも低いレベルで動作 しますので、問題ありません。Windows 95 のパーティションで FIPS は全く問題なく動いた、と報告してきた人もいます。