HOWTO:Jaz-drive

作者:Herbert S. DaSilva

最新版本:v1.8, 12 January

轉為 Wiki: Ping (ping 'at' pingyeh 'dot' net), 2003 年 11 月 27 日


這份 HOWTO 的內容是說明在 Linux 系統中設置和使用 1GB 和 2GB 兩種容量磁片的 Iomega Jaz 磁碟機的方法



  1. 導言
    1. 緒論
    2. 最新版本
      1. 版本內容的演變
    3. 版權和商標
    4. 致謝
  2. Jaz 磁碟機的硬件
    1. Jaz 磁碟機
    2. Jaz “磁片”
    3. Jaz Jet 接口插卡
    4. 其他 SCSI 插卡
    5. 內核驅動程序的問題
  3. 電腦確認已安裝 Jaz 磁碟機
    1. Power-On 測試
    2. 啟動
    3. 磁碟機名稱
  4. Jaz 磁片的用法
    1. DOS 格式化的磁片
    2. DOS Jaz 磁片重新格式化
    3. Linux 系統 Jaz 磁片
    4. 檢查 Linux Jaz 磁片
    5. 利用 fstab 簡化用法
      1. DOS 格式化的磁片
      2. Linux 格式化磁片
      3. 在啟動時自動加載 Jaz 磁碟機
    6. Jaz 的“工具”磁片(Jaz tools)
  5. Linux 上的 Jaz 工具軟件
    1. jaztool
      1. 彈出磁片工具軟件
      2. 密碼保護
    2. jaZip
  6. 從 Jaz 磁片啟動系統
    1. BIOS 問題
    2. 安裝 Linux 在 Jaz 磁片

1. 導言

Iomega 公司生產的 Jaz 磁碟機是一種使用時可隨時加裝到電腦的磁碟機,其磁片容量分 1Gb 或 2Gb 兩種。Jaz 磁碟機與 Zip 磁碟機不同,不論是內置或外掛兩種機型都使用 SCSI 接口, 因此要使用這種磁碟機就得使用 SCSI 插卡和相應的驅動程序。

1.1. 緒論

這份 HOWTO 文件中的大部分內容是原作者 Bob Willmot( [WWW] [email protected])的作品。他收集材料,不斷充實內容,並一直增訂到1.6版。此外,為這份 HOWTO 提供意見和資料的還有以下人員:

1.2. 最新版本

在我的網頁 [WWW] http://www.ultranet.com/~hsd/HOWTO/ 上存放了這份文件的最新版本,存有三種格式, 分別為適於從瀏覽器閱讀的 HTML 格式、適於打印的 PostScript 格式和 SGML 的原始文本格式。在 LDP 的主頁上還可找到這份 HOWTO 的其他各種格式文本 [WWW] http://www.linuxdoc.org/

1.2.1. 版本內容的演變

2000年1月12日第1.8版

1999年11月18日第1.7版

請將您的評論/建議/指正寄交: Herb DaSilva [WWW] at Home或( 如果真的必須迅速得到答覆) [WWW] at Work.

1.3. 版權和商標

版權聲明;2000,1999 Herbert S. DaSilva

這份說明可全文或部分轉載,但不得收費,并需遵守下列規定:

學術界不受此限:請向作者查詢細節。這些限制是為了保護我們作者,而不是要限制大家使用 。所有代碼均根據GNU的一般許可証的規定可以匿名FTP的方式從 [WWW] GNU 文檔庫下載。

1.4. 致謝

感謝 Stephan Burlot,[MAILTO] [email protected] 指出用于 2Gb 磁碟機 jaztool 修補軟件的錯誤之處(或說明不清之處)。在此 1.8 版中對此作了更正。

感謝Mark F. Komarinski先生編寫的HOWTO-HOWTO

2. Jaz 磁碟機的硬件

2.1. Jaz 磁碟機

Jaz 磁碟機是一種使用 SCSI 接口的裝置。外掛式的 Jaz 磁碟機使用 50-針 SCSI-2 型 接口。內置式 Jaz 磁碟機使用 3-1/2 吋 50-針的接口。

內置式和外掛式兩種 Jaz 磁碟機還分別有兩種機型,分別使用容量為 1Gb 或 2Gb 的兩種磁片。因此, 從產品的立場劃分,市場上共有四種不同的 Jaz 磁碟機可供選用。

2.2. Jaz “磁片”

Jaz磁片是一種扁形盒式裝置,盒內存有三片 3.5 吋上下重疊的磁片作為存儲數據的媒介。 后文提到盒式裝置或磁片時均指用于 Jaz 磁碟機的這種存儲媒介。

容量分別為 1Gb 和 2Gb 的這兩種盒式 Jaz 磁片的外型非常相似,但實際上這兩種磁片卻有些差別, 使容量 2Gb 的磁片不能完全插入使用 1Gb 磁片的 Jaz 磁碟機。 顯而易見,容量 2Gb 的磁片不能用于讀存 1Gb 磁片的磁碟機。

但是使用 2Gb 磁片的 Jaz 磁碟機可以讀存和格式化 1Gb 和 2Gb 兩種 Jaz 磁片。

2.3. Jaz Jet 接口插卡

Iomega 公司出售的 SCSI 接口插卡稱為 Jaz Jet。不過這種接口插卡使用的 SCSI 晶片組至少有兩種。 因此,Jaz Jet 不見得是接裝 Jaz 磁碟機最理想的插卡。要使用 Jaz 磁碟機倒不如選用已經確知得到 Linux 支持的 SCSI 插卡(見下節)。

在 Jaz Jet 插卡中,有一種插卡使用 Adaptec 7800 系列的產品。Linux 2.0 系統的 aic7xxx 驅動程序對這系列的產品提供支持。目前多數 Linux 提供的內核都已支持 2.x SCSI 插卡。

其他插卡使用 Advanced Systems 生產的晶片組。這種插卡在 Linux 啟動時提供下列信息:

根據使用的 Linux 版本的不同,可能必需重建內核(使用 CONFIG_SCSI_ADVANSYS 設定參數)才能使用這種插卡。

我不喜歡冒然購買不一定得到 Linux 系統支持的產品,以免事後後悔。因此,如果我買 SCSI 插卡,必會選購信譽可靠的公司生產的 50-針的 SCSI 插卡,確知這個產品必會得到 Linux 的支持。

2.4. 其他 SCSI 插卡

市場上還有一種 68-針接口的 Ultra-Wide SCSI 插卡。這種插卡可用于 Jaz 磁碟機,但價格昂貴, 同時還需另購插座和排線。因此,如果只是為了使用 Jaz 磁碟機購買 SCSI 插卡, 最好還是購買卡上有 50-針接頭的 SCSI 卡比較省事。

在各種 SCSI 插卡中,我比較喜歡 AHA-2930U - 它價格便宜、速度快,Jaz 磁碟機可直接接上所附的排線使用,不發生插頭不符的問題。不過,Linux 最近才對這種 SCSI 卡提供支持,所以,除非使用 2.2.x 內核,否則也無法使用這種插卡。目前已有 patch 修補 2.0.36 內核,使這種內核支持這型插卡。 AHA-2940U 型插卡也可用于 Jaz 磁碟機,Linux 支持這類插卡的時間也比較長,只是它的價格比較昂貴。

2.5. 內核驅動程序的問題

有一條法則必需遵守:在購買任何插卡之前,必需確知電腦內運行的 Linux 內核支持這種插卡。許多生產商(Adaptec 公司就是其中只一)生產許多型號非常類似的插卡, 但這些插卡卻使用完全不同晶片組,因此, 要使用這些插卡就需運行完全不同的驅動程序。

設置 Linux 內核使其能夠運行 SCSI 卡涉及各種問題。 這些問題本身就能獨立成文,因此不在此處討論。

關於重建內核的資料可查詢/usr/src/linux/README 或說明 2.x 內核結構的 /usr/src/linux/Documentation/ 目錄。如果找不到這些文檔,看看在安裝 Linux 時是否已經加裝了關於內核組件的原始文件。

否則還可查詢 [WWW] Brian Ward 的 Kernel-HOWTO

3. 電腦確認已安裝 Jaz 磁碟機

3.1. Power-On 測試

安裝 SCSI 控制軟件后,電腦在啟動運行操作系統前會首先讓 SCSI 控制器檢查 SCSI 總線, 查驗電腦加裝了何種 SCSI 設備。

如果 SCSI 插卡安裝正確,並且 Jaz 磁碟機也與插卡連接,則開機后應在電腦屏幕上看到裝有 Iomega Jaz 1GB 或 Iomega Jaz 2GB 的信息。

如果屏幕上沒有這項信息,那就沒有理由繼續運行操作系統。關掉電腦和 Jaz 磁碟機的電源,逐步進行檢查。千萬不要放過排線,拔出每條排線, 檢查插頭內的插針有否彎曲。 把插頭重新插回插座,檢查插頭和插座是否密合。如果電腦內有多個SCSI 配件,務必設定每個配件的 SCSI 標號,使其各不相同,並在 SCSI 鏈的最後一個設備上作出結束 SCSI 鏈的設定。

如果在 Power-on 檢驗時顯示電腦內裝有 Jaz 磁碟機,則安裝磁碟機的工作已經完成了一半。

3.2. 啟動

Linux 啟動時,SCSI 驅動程序應顯示電腦內 SCSI 插卡的信息,並標示 SCSI 總線上安裝了何種設備。

隨著安裝的驅動程序和 SCSI 插卡的不同,啟動信息也各不相同。在啟動時,所有信息都紀錄在 /var/log/messages (或/var/adm/messages)文檔內,同時也顯示在屏幕上。此外, 使用 dmesg 指令也可復查上次啟動時顯示的信息。

下面列出使用 Adaptec 2940 SCSI 插卡時 2.0.36 內核顯示的信息(使用 aic7xxx 驅動程序):

(譯註:主要說明插卡型號、磁碟機名稱、型號和磁片容量和數據傳輸速度)

如果同這些內容類似的信息沒有顯示在屏幕上, 則內核的設置可能有誤(或選用的內核可能不對)。

如果“scsi0 :”的內容沒有出現,表示驅動器的設置不正確。 有些驅動器會顯示何處設置不對。如果磁碟機的名稱沒有標示,可能是在重建內核時忘了把支持 SCSI 磁碟的功能列入內核。

注意READ CAPACITY failed這一行。 多數 SCSI 驅動程序(如上例)會測得磁碟機使用可裝卸媒介, 因此不會對讀不到分割區的設定而不知所措。但有些 SCSI 插卡卻沒有這項功能, 所以如果啟動時電腦停機不動,不妨把 Jaz 磁片插入 Jaz 磁碟機後再次啟動。

如欲解決與內核有關的 SCSI 方面的問題,不妨查閱/usr/src/linux/drivers/scsi 內的 README 文檔和 Kernel HOWTO。

3.3. 磁碟機名稱

在上節顯示的啟動屏幕信息中注意 SCSI 磁碟機的名稱,此處是“sda”, 全稱應為“/dev/sda”。如果 Jaz 磁碟機是系統中的唯一 SCSI 設備,則一般就稱為/dev/sda。 如果系統中主硬盤是 SCSI 設備,或光碟是 SCSI 驅動的光碟,則 Jaz 磁碟機的名稱可能為 sdb、sdc 等,視電腦硬件情況而定。

不論磁碟機的名稱為何,在存儲數據時都需要這個名稱,詳情見以後數節。

4. Jaz 磁片的用法

4.1. DOS 格式化的磁片

Jaz 磁片從 Iomega 公司出廠時就已經格式化,其格式化形式為單一分割,採用 DOS FAT16 的文檔系統格式。單一分割通常是磁盤的第 4 分割區(以便與麥金塔電腦相容 - 麥金塔電腦規定數據存放在第 4 分割區,但個人電腦通常不加限制, 數據可存放在任何一個分割區)。

Linux 對于讀取根據 FAT16 格式化的磁盤上的數據和將數據存放在這種磁盤上都毫無困難,因此, 這種磁盤可直接插入 Jaz 磁碟機使用,無需作出任何修改。在使用這種磁盤時, 只需將磁碟機加載在 Linux 系統上即可,因此,首先必需在系統上設定加載點。 在這份文件中,DOS Jaz 磁碟機都加載在稱為 /dos_jaz 的加載點上,因此,首先在 Linux 系統上利用下列指令設定加載點:

上節提到必需知道加載的 Jaz 磁碟機的名稱。如果 Jaz 磁碟機的名稱為 /dev/sda, 則以下的例子無需做任何修改,否則將各個例子中 Jaz 磁碟機的名稱改為與系統設定的名稱相符的情況。由于必需以 root 身份加載 Jaz 磁碟機,所以必需事先確知磁碟機的名稱。

如果系統使用 2.0 內核或可運行 VFAT 文檔系統,則可用下列指令加載 Jaz 磁碟機并使用 FAT16 系統的長文檔名:

此處必需指出:雖然 VFAT 允許使用長文檔名,但這些文檔名仍然不分大小寫, 並且雖然‘ls’列出各個文檔的使用權限,但實際上並不能改變這些文檔的使用權限。

如果系統的加載指令不能用于“VFAT”格式,則使用下列指令加載 Jaz 磁碟機:

利用上述兩個指令中的任何一個指令加載Jaz磁碟機後, 磁片上的內容就顯示在 /dos_jaz 目錄中。磁碟機加載系統後, 彈出按鈕失效,磁片無法從磁碟機彈出。

完成存儲後,可用下列指令卸載 Jaz 磁碟機:

利用上述指令卸載磁碟機後,彈出按鈕恢復效用,可按磁碟機面前的按鈕彈出磁片。

4.2. DOS Jaz 磁片重新格式化

Jaz 磁片只是一張磁片,它像硬盤磁片一樣可以重新分割和重新格式化。如把 Jaz 磁片重新分割和格式化,就必需知道重新分割時分割區的號碼,以便磁片能加載到 Linux 系統。

例如,如果把整個分割區清除,進行重新分割,同時將唯一的分割區設定位第1分割區, 則上文兩個加載指令就分別改為:

4.3. Linux 系統 Jaz 磁片

Linux 系統 Jaz 磁片可根據 Unix 規定的標準權限存儲文檔,並區分文檔名的大小寫, 但這種磁片的唯一問題是不能用于 DOS/Windows 的電腦。

Jaz磁片的特性與硬盤一樣,因此對熟悉 Linux 磁盤管理工具的使用者而言, 不會對以下的用法感到驚異。

如要清除整個 Jaz 磁片上的內容並將其製作成 Linux 文檔系統的磁片,只要使用 fdisk 指令即可。但在使用 fdisk 時務必十分小心,尤其是硬盤也屬于 SCSI 形式的設備時, 更要處處謹慎 - 不要造成無可挽救的錯誤。務必確定要分割或格式化的 SCSI 設備是 Jaz 磁片, 而不是系統硬盤。在多數情況下,可用下列指令重新分割 Jaz 磁片:

刪除磁片上的現有分割區(使用 d 指令)。然後用 n 指令建立新分割區, 並將其定為主分割區 1(使用所有磁軌),用 w 指令將分割表寫到磁片,然後用 q 指令退出。

分割區一旦建立後,用下列指令將磁片格式化:

(sda1 中的編號 1 是在 fdisk 時給這個分割區的編號)。對 Linux Jaz 磁片最好建立專用的加載點,稍後在討論 fstab 時就可知道原因為何。因此,首先建立加載點,並且加載磁片:

我們已經知道,Jaz 磁片一旦加載後就無法用彈出按鈕使其彈出。因此,磁片使用後, 用下列指令卸載磁片:

卸載後即可按磁碟機面前的按鈕彈出磁片。

4.4. 檢查 Linux Jaz 磁片

像其他磁碟機一樣,一旦 Linux Jaz 磁片加載和卸載多次後, 系統會認為磁片已“髒”。發生這種問題時,屏幕會提示下列信息:

一旦看到這種信息,就應該考慮檢查磁片。在檢查磁片之前應首先卸載磁片。 磁片加載在系統上時,系統只顯示磁片已“髒”的信息,因此,只有在用完磁片後, 檢查磁片,或卸載磁片後進行檢查,然後再加載磁片。以下列指令檢查磁片 (假定有待檢查的分割區為第1分割區):

4.5. 利用 fstab 簡化用法

加載和卸載 Jaz 磁碟機都得以 root 身份進行,並且需要鍵入相當多的指令。 但是在 /etc/fstab 中加入几行內容就可以大大簡化 Jaz 磁碟機的使用。

4.5.1. DOS 格式化的磁片

如果 DOS 磁片已經格式化並且 /dos_jaz 加載點也已建立,在 /etc/fstab 檔中可加入下列內容:

fstab 增加這行內容後,任何使用者均可通過下列指令加載和卸載 DOS 格式化的 Jaz 磁片:

任何使用者均可加載和卸載磁片的原因是在 fstab 中已經載列 Jaz 磁碟機的編號和存儲媒介的類別以及在 user 選項中也已允許任何使用者加載和卸載磁片的緣故。如果 Jaz 磁碟機的名稱不是 sda,就需改變名稱, 不過這不適用于 DOS 重新分割而在 fstab 中沒有使用另一個加載點(/dos_jaz2)的 Jaz 磁片。

4.5.2. Linux 格式化磁片

如果使用 Linux 格式化的磁片並且加載點 /jaz 也已建立,就可在 fstab 中加入下列內容:

fstab內增加這行內容後,任何使用者均可通過下列指令加載和卸載 Linux 格式化的 Jaz 磁片:

同 DOS 的情況相同,任何使用者均可加載和卸載磁片的原因是在 fstab 中已經載列 Jaz 磁碟機的編號和存儲媒介的類別以及在 user 選項中也已允許任何使用者加載和卸載磁片的緣故。有些系統管理員可能不願意在 fstab 中提供 exec 選項, 認為讓任何使用者可通過磁片運行來源不明的可執行文檔是件相當危險的事, 不過在這行中還有 nosuid 選項,因此可能產生危險的程度並不高。

4.5.3. 在啟動時自動加載 Jaz 磁碟機

上述兩個fstab的例子中都有noauto的選項, 防止電腦啟動時自動加載磁片。一般而言,這是不錯的作法,因為電腦啟動時如果磁碟機中沒有磁片, 或磁碟機根本沒有開機,啟動時就會產生各種錯誤,其程度取決于所用的 SCSI 驅動程序而異。

如果在啟動時一定要加載 Jaz 磁碟機,那就只要刪除 fstab 中的 noauto 選項,同時肯定磁碟機已經開機和啟動前磁碟機中已有 Jaz 磁片即可。注意:在 fstab 中只可以有一個 Jaz 磁碟機允許自動加載,否則就會顯示如同磁碟機中根本沒有磁片相同的錯誤。

4.6. Jaz 的“工具”磁片(Jaz tools)

有些運行 Jaz 磁碟機的軟件放在 Jaz 磁片而不是光碟上。 這種磁片的“問題”是磁片上已加附軟件控制的寫保護,因此在使用者至少安裝一次工具軟件之前, 無法刪除磁片上的內容。

以下提供几種重新使用 Jaz 磁碟機附贈的“Jaz tools”磁片的方法:

在使用刪除密碼的軟件時,只要知道 Iomega 使用的密碼即可。Iomega 使用的密碼是:

注意這串密碼中的大小寫。

5. Linux 上的 Jaz 工具軟件

5.1. jaztool

jaztool 是 Bob Willmot 編寫的 Linux 工具軟件,用于支持一些 Jaz 磁碟機的特性(包括由軟件控制的彈出功能和寫保護)。這套工具軟件相當好用,其指令可以編入 alias 指令和文本指令,同時也很容易編輯和安裝。

jaztool 的源代碼存放在網址 [WWW] jaztool/ http://www.willmot.com/jaztool/ ,其鏡像也存放在我的網址 [WWW] http://www.ultranet.com/~hsd/HOWTO/jaztool.html

注意:在2Gb磁碟機上使用jaztool時,必需更改一行代碼。將第188行的內容:

改為:

注意:在 IOMEGA 和 JAZ 之間有兩個空格。SGML 格式文本(或 HTML 格式文本)顯然少了一個空格。

編輯和安裝 jaztool 之後必需以 suid root 或 root 的身份運行,否則這個工具軟件無法使用。

我對這個軟件相當熟悉,如有問題,我極願回答。

5.1.1. 彈出磁片工具軟件

利用下列指令彈出磁片:

用上述指令要打不少字,因此不妨用一個短小精悍的 alias 指令替代:

5.1.2. 密碼保護

對 Jaz 磁片有兩種密碼保護方式,這兩種方式均以軟件控制。一種是寫保護,另一種是讀/寫保護。 jaztool 可打開寫保護的磁片,但在 Linux 系統內,不具有“能讀”功能的設備就無法加載,因此 Linux 不支持讀/寫保護的磁片。

如果磁片有寫保護(例如 Jaz 工具磁片),利用下列指令解除保護(此時磁片不得加載):

jaztool 要求輸入密碼,如鍵入的密碼正確,磁片的寫保護就被解除並被彈出。 磁片再次插入時 SCSI 驅動程序再度確定這片磁片屬何種保密模式。

利用下列指令使磁片再度具有寫保護:

jaztool 再次要求輸入密碼,鍵入密碼後磁片即加密並彈出。

注意:jaztool 不支持 Windows 內常用的“在彈出前不加密”的特性。因此, 一旦去除密碼保護之後,在重加密碼之前 Jaz 磁片就沒有密碼保護。

5.2. jaZip

另有一種好用、短小精悍和圖形介面的工具可用來控制 Jaz 磁碟機(和 Zip 磁碟機!), 其名稱為 jaZip。這個工具可從下列網址下載: [WWW] http://www.scripps.edu/~jsmith/jazip/

我沒有用過 jaZip,因此有關這個工具軟件的問題請直接向該網站查詢。聯絡方式同上。

6. 從 Jaz 磁片啟動系統

6.1. BIOS 問題

如果系統中同時存在 Jaz 磁碟機和其他 SCSI 硬盤,多數系統從 SCSI 編號最低的設備啟動 Linux 系統。 Jaz 磁碟機的 SCSI 編號可從 0 到 6,一般磁碟機出廠時均設為 5。有些 BIOS 會跳過 Jaz 等這類可加卸的設備,不讓 Jaz 啟動系統。但如 BIOS 允許從 Jaz 啟動,則可將 SCSI 主硬盤的 SCSI 編號改為 1,將 Jaz 的 SCSI 編號從 5 改為 0,然後啟動系統。

通常一般系統是 Jaz 磁碟機與 IDE 硬盤並存。幾乎所有 BIOS 都會從第一個 IDE 硬盤啟動。 有些 BIOS 允許改變 BIOS 內的設定,使系統可從 SCSI 磁碟機啟動。另一些 BIOS 可能要在 IDE 設備失去作用的情況下才允許 SCSI 設備啟動。甚至有一些 BIOS 還要系統卸除 IDE 設備後才可使用 SCSI 設備啟動。

6.2. 安裝 Linux 在 Jaz 磁片

雖然從 Jaz 磁片運行 Linux 遠比從硬盤運行慢得多,但 Jaz 磁碟機是一個極好的 ERD (緊急維修磁片)。此外,能很快試用一種新 Linux 系統或在他人的電腦試用 Linux 系統也是一件好玩的事。

在 Jaz 磁片上安裝 Linux 的最簡單方法就是把 Jaz 磁碟機作為系統的唯一磁碟機安裝 Linux 系統。 用這種方法安裝 RedHat 5.2,完全成功。如果對更改 LILO 沒有信心,那這是唯一的辦法。

如果要從運行的系統“安裝”,則時常可在 Jaz 磁片上“建立”一個可啟動的系統。

last edited 2004-12-25 08:45:56 by PingYeh