# Zip® ドライブ

### Jason Bacon

`<acadix@execpc.com>`

FreeBSD は The FreeBSD Foundation の登録商標です。

Adaptec は Adaptec, Inc. の登録商標です。

Iomega, Zip および Jaz は アメリカ合衆国および/またはその他の国における Iomega Corporation の登録商標または商標です。

Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media および Windows NT は アメリカ合衆国および/またはその他の国における Microsoft Corporation の登録商標または商標です。

Motif, OSF/1 および UNIX は アメリカ合衆国およびその他の国における The Open Group の登録商標で、 IT DialTone および The Open Group は同じく商標です。

製造者および販売者が製品を区別するのに 用いている表示の多くは、商標とされています。 この文書に登場する表示のうち FreeBSD Project がその商標を確認しているものには、その表示に続いて “™” または “®” 記号がおかれています。

[ 分割版 / 単一版 ]

## 1. Zip ドライブの基礎

Zip® ディスクは、アイオメガ社から発売されている ZIP ディスクドライブで読み書き可能な大容量のリムーバブル磁気ディスクです。 ZIP ディスクはフロッピーディスクと似ていますが、 ZIP ディスクの方が非常に高速で比較にならないほど大容量です。 というのはフロッピーディスクの容量が大抵 1.44M バイトであるのに対し、ZIP ディスクの容量は、100M バイトか 250M バイトの二種類あります。 120M バイトの容量を持ち、 従来の 1.44M バイトのディスクも使用できる SuperDisk というフロッピーがありますが、ZIP ディスクとは混同しないでください。

アイオメガ社は、Jaz®/JAZZ ドライブというさらに大容量で優れた性能を持ったディスクドライブも発売しています。 JAZZ ドライブの容量は 1G バイトか 2G バイトの二種類です。

ZIP ドライブには、以下の 3 種類のインタフェースが用意されており、 内蔵も外付けも可能です。

1. SCSI (Small Computer Standard Interface) は最も高速・精巧で拡張性も高く、 そして最も高価なインタフェースです。 SCSI インタフェースは、 ディスクドライブ、テープドライブ、 スキャナーなどといったすべてのタイプの周辺機器と接続するために、 PC から RISC ワークステーション、 ミニコンに至るまで、ほとんどのコンピュータで使用されてきました。 SCSI 対応 ZIP ドライブは、 内蔵も (もし SCSI ホストアダプタに外付けコネクタがあれば) 外付けも可能です。

   > Note: SCSI で接続された外付けの装置を使用する際、 動作中に SCSI バスからケーブルを抜き差ししないでください。 さもないと、挿入されていたディスクのファイルシステムを損傷 する恐れがあります。

   最高のパフォーマンスとセットアップの手軽さを望むなら、 SCSI はベストチョイスです。 一部のハイエンドサーバを除き、多くの PC はビルトインの SCSI をサポートしていないため、 SCSI ホストアダプタを追加で購入する必要があります。 種類にもよりますが、SCSI ホストアダプタは 7 台か 15 台の SCSI デバイスを接続することができます。

   それぞれの SCSI デバイスはそれ自身のコントローラを持っており、 そしてそれらは非常に賢く、よく標準化されているので (SCSI の 2 番目の "S" は "標準" を表します)、 OS は SCSI のディスクドライブをすべて同じように扱うことができ、 またそれは SCSI のテープドライブなども同様です。 SCSI デバイスを使用するためには、ホストアダプタ用のドライバと SCSI ディスクドライブ用ドライバ、 SCSI テープドライブ用ドライバといった装置に対応する標準のドライバを用意するだけで良いのです。 さらに機種に特化したドライバ (たとえば DAT ドライブなど) も存在しますが、 大抵標準のドライバを使用しても動作します。 そういった特別なドライバは、 機種特有の機能を利用するために書かれたものです。

   ZIP ドライブを使用するためには、 単に `/dev` の中から ZIP ドライブのデバイスファイルを見つけるだけで良いのです。 ZIP ドライブのデバイスファイルは起動時に表示されるブートメッセージか、 `/var/log/messages` の中から

       da1: <IOMEGA ZIP 100 D.13> Removable Direct Access
       SCSI-2 Device

   というメッセージを見つけることで特定できます。 上の例の場合、 ZIP ドライブのデバイスファイルは `/dev/da1` であるということを表しています。

2. IDE (Integrated Drive Electronics) インタフェースは、 多くのデスクトップ PC で使用されている低価格なインタフェースです。 ほとんどの IDE デバイスは必ず内蔵になっています。

   IDE 接続の ZIP ドライブの性能は SCSI 接続の ZIP ドライブに匹敵します。 (IDE インタフェースは SCSI より高速ではないのですが、 ZIP ドライブの性能は、接続されているバスインタフェースよりも むしろ ZIP ドライブそのものの性能に大きく依存するためです)。

   IDE インタフェースの欠点は、 その規格が定めた制限事項そのものです。 ほとんどの IDE アダプタは 2 つのデバイスしかサポートしておらず、 大抵長い期間を経て設計されたものではありません。 たとえば元来の IDE インタフェースは、 多くの人々にアップグレードを強いた 1024 シリンダ以上のハードディスクをサポートしていません。 もし ZIP ドライブの他のディスクドライブやテープドライブ、 スキャナーなどといった装置を PC に追加することを計画しているなら、 将来起こるであろう問題を回避するためにも、 SCSI ホストアダプタと SCSI 接続用 ZIP ドライブに投資した方がよいかも知れません。

   FreeBSDにおいて、IDEデバイスの先頭文字は `a` です。 たとえば、IDEのハードディスクドライブは `/dev/ad0` で、IDE (ATAPI) のCD-ROMドライブは `/dev/acd1` といった具合です。

3. パラレルポートインタフェースは、 実際に多くのコンピューターが標準パラレルポートを備えているため (普段はプリンタ接続に使われます) ZIP ドライブやスキャナといった、 ポータブルな外付けデバイスの接続においてポピュラーなインタフェイスです。 そのため ZIP ドライブを持ち運んで、 簡単にコンピュータ間のファイルのやりとりすることができます。

   一般に、パラレルポート接続の ZIP ドライブはパラレルポートの速度によって転送速度が制限されるため、 SCSI や IDE で接続された場合より低速です。 パラレルポートの速度はコンピュータによって非常にまちまちで、 また BIOS から設定することもできます。 また双方向通信を使用可能にするために BIOS の設定が必要となるマシンもあります (パラレルポートは元来、 プリンタへの出力のみを目的に設計されたものです)。

## 2. パラレルポートに接続する: `vpo` ドライバ

ZIP ドライブをパラレルポートに接続して使用するには、 カーネルに `vpo` ドライバが設定されている必要があります。 パラレルポート接続の ZIP ドライブはビルトインの SCSI コントローラを持っており、 vpoドライバを使用するとパラレルポートを通じて ZIP ドライブの SCSI コントローラを読み込むことができます。

vpo は標準のカーネルオプションではないため (FreeBSD 3.2 現在) デバイスを使用可能にするためにカーネルを再構築する必要があります。 カーネル再構築の詳細な手順については FreeBSD ハンドブックをご覧ください。 以下は、vpo ドライバを使用可能にするための大まかな手順です。

1. まず、`/stand/sysinstall` を実行し、システムにカーネルのソースコードをインストールしてください。

2. 次に、 vpo ドライバを含むカーネルコンフィグファイルを作ります:

       # cd /sys/i386/conf
       # cp GENERIC MYKERNEL

   この `MYKERNEL` を編集し、 `ident` の行を `MYKERNEL` に変更します。 そして vpo ドライバについて書かれた行のコメントを解除してください。

   もしパラレルポートが二つある場合、それに用いる `ppc1` デバイスファイルを作るために `ppc0` をコピーする必要がある場合があります。 二つ目のパラレルポートは普通 IRQ5 と I/O ポートアドレス 378 番を使用します。 カーネルコンフィグファイルに記述する必要があるのは IRQ だけです。

   もしルートのハードディスクドライブが SCSI 接続であった場合、起動ディスクの読み込み順序に誤りが生じ、 システムが ZIP ドライブから起動しようとしてしまう場合があります。 こうなったら、あなたが ZIP ディスクに FreeBSD のルートファイルシステムでも書き込まない限り、 起動には失敗するでしょう! そうした場合は、ルートのディスクを“「つなぎかえ (wire down)」”、 すなわち、カーネルに特定のデバイスを SCSI ハードディスク `/dev/da0` に強制的にバインドさせる必要があります。 そうすれば、ZIP ディスクドライブは二番目の SCSI デバイス、つまり `/dev/da1` としてきちんと認識されます。 SCSI ハードディスクを `da0` に「つなぎかえ」するには、

       device da0

   の行を

       disk da0 at scbus0 target 0 unit 0

   に変更してください。

   その際、ハードディスクの SCSI ID に合うように 上記の行を変更する必要があるかも知れません。 たとえば、Adaptec® 15xx コントローラの載った SCSI ホストアダプタをお持ちなら、下のように scbus0 を SCSI コントローラにつなぎかえてください。

       controller scbus0

   を

       controller scbus0 at aha0

   に変更します。

   最後に、カーネルコンフィグファイルを作成したら、 不要なドライバをすべて削除することができます。 その際には細心の注意を払う必要がありますが、 あとはコンフィグファイルの更新が成功することを信用するしかありません。 不要なドライバを削除することでカーネルのサイズを小さくすることができ、 アプリケーションに割り当てられるメモリの領域を拡大することができます。 不要なドライバを特定するために、 `/var/log/messages` の最後の方の行で「not found」と書かれている部分を見つけ、 それらのデバイスをコメントアウトします。 カーネルのサイズを縮小し、 読み込みを早くするために他のオプションを削ることも考えられます。 カーネル再構築の際に表示されるメッセージから、 不要なオプションに関してのさらに詳しい情報が得られます。

3. ではカーネルを完成させましょう。

       # /usr/sbin/config MYKERNEL
       # cd ../../compile/MYKERNEL
       # make clean depend && make all
       install

カーネルが再構築されたら、再起動します。 起動が開始する前に、ZIP ドライブがパラレルポートに接続されているかどうか確認してください。 ブートメッセージの中で ZIP ドライブが vpo0 や vpo1 (これらは接続されているパラレルポートに依存する) として認識されているか確認してください。 これが ZIP ドライブのデバイスファイルです。 ここで表示される ZIP のデバイスファイルは、 もしシステムに他の SCSI ディスクがない場合は `/dev/da0` となり、 SCSI ハードディスクドライブがルートデバイスとしてつなぎかえられているならば `/dev/da1` となります。

## 3. ZIP ディスクをマウントする

ZIP ディスクにアクセスするには、 他の種類のディスクと同じようにマウントするだけです。 デバイス上のファイルシステムがスライス 4 となっていて、 SCSI もしくはパラレル接続の ZIP ディスクなら、

    # mount_msdos /dev/da1s4 /mnt

IDE 接続の ZIP ドライブなら、

    # mount_msdos /dev/ad1s4 /mnt

`/etc/fstab` を更新すれば、 マウントはさらに簡単になります。 自分のシステムに合うように編集して、以下のような行を加えましょう。

    /dev/da1s4  /zip msdos rw,noauto  0 0

そしてディレクトリ `/zip` を作成します。

マウントするには、

    # mount /zip

マウントを解除するには、

    # umount /zip

`/etc/fstab` のフォーマットに関する詳細は、fstab(5) を参照してください。

また、ZIP ディスク上に FreeBSD のファイルシステムを作成するには newfs(8) を参照してください。 ただし、このディスクは FreeBSD か、FreeBSD を認識するごく少数の UNIX® クローンのみにおいて使用することができます (MS-DOS® や Windows® 上では使用できません)。