1. 簡 介
Linux 內 核 支 持 眾 多 的 文 件 系 統 類 型, 目 前 它 可 以 讀 寫( 至 少 是 讀) 大 部 分 的 文 件 系 統.Linux 經 常 與Microsoft Windows 共 存 於 一 個 系 統 或 者 硬 盤 中.Linux 對windows9x/NT 的 文 件 系 統 支 持 的 很 好, 反 之 你 想 在windows 下 用Visual C++ 編 程 的 同 時 能 看 一 看Linux 的GCC-HOWTO 則 必 須 得 費 點 勁. 本 文 試 圖 給 你 一 個 簡 單 的 幫 助.
這 份 HOWTO 是 免 費 文 件(free documentation); 你 可 以 在FSF 出 版 的 GNU GPL 之 規 定 下 重 新 散 播 及/ 或 修 改 它; 您 可 以 自 由 決 定 適 用 GPL 2.0 或 之 後 的 任 何 版 本.
希 望 這 份 文 件 的 發 布 能 對 您 有 幫 助, 但 我 們 不 提 供 任 何 保 證, 即 使 是 商 業 上 或 某 特 殊 用 途 的 隱 含 保 證 亦 然. 詳 情 請 參 見 GNU 一 般 公 開 授 權 書.
本 文 在 不 影 響 理 解 的 前 提 下, 不 區 分 文 件 系 統 和 分 區 的 概 念.
1. Linux 存 取 FAT/FAT32/NTFS 分 區.
Linux 內 核 應 至 少 支 持 fat/msdos 文 件 系 統( 安 裝 後). vfat 文 件 系 統 一 般 編 譯 為 Module , 可 以 用 modprobe vfat 裝 入. ntfs 在 版 本 較 高 的 內 核 裡 可 以 支 持. 如 果 你 用 的 是2.0.3?, 就 需 要 下 載 一 份 回 來, 然 後 patch 到 內 核 中 再 編 譯.
fat/vfat 分 區 可 以 mount 成 可 讀 寫 的 文 件 系 統(rw). ntfs 分 區 目 前 只 能mount 成 只 讀(ro) 的 文 件 系 統.
2. Microsoft 存 取 ext2 分 區.
2.1. EXT2 TOOLS v1.1
EXT2 TOOLS 是 一 組 在 DOS 下 可 以 讓 你 讀 LINUX EXT2 文 件 系 統 的 工 具 包. 它 由 以 下 程 序 組 成:
E2CAT 類似於 Linux的 cat命令
E2CD 類似於 Linux的 cd 命令
E2CP 類似於 Linux的 cp命令
E2LS 類似於 Linux的 ls命令
E2PART 列出硬碟的分區資訊
E2PWD 類似於 Linux的 pwd命令
EXT2 TO 是 GNU General Public License軟體
現 在 所 有 的 程 序 已 在 GCC 下 編 譯, (DOS 下) 運 行 時 需 要 GO32 DOS 擴 展 程 序GO32.EXE. GO32.EXE 包 含 在 EXT2TOOLS 的 發 布 中,做 為DJGPP 的 一 部 分
2.1.1. 安裝 EXT2 TOOLS
[MSDOS]
>mkdir c:\ext2l
>pkunzip -d ext2tool_1_1.zip
>dir
2.1.2. 運行 EXT2 TOOLS
在運行前設定環境變數:
> SET E2CWD=129:5
或
> SET E2CWD=129:5:234
| | | |__目錄的i節點號,預設為根i節點號2.
| | |_____ EXT2檔案系統的LINUX分區.
| |________物理硬碟的代號:
| 0: A軟碟機
| 1: B軟碟機
| 128:第一塊硬碟
| 129:第二塊硬碟
|_____________環境變數
保 證 GO32.EXE 在 系 統 PATH 中.
運 行 e2ls 命 令 就 能 列 出 第 二 塊 硬 盤 的 第 五 分 區 的 文 件 系 統.
運 行 e2part 129 命 令 能 列 出 第 二 塊 硬 盤 的 分 區 情 況.
2.1.3. EXT2 TOOLS 可 以 在 Microsoft Windows3x/9x 下 運 行,
Peeter Joot 把 EXT2 TOOLS移植到 NT上. EXT2 TOOLS之 NT版
ext2nt-1.06.tar.gz可以從
2.1.4 存 在 的 問 題
第 三 塊 硬 盤 (IDE) 和 SCSI 硬 盤 支 持 否 因 機 器 而 異. 可 用 與 否 取 決 於 系 統 是 否 依 賴 中 斷13 訪 問 硬 盤.
2.1.5 命 令 用 法 # Will translate into chinese soon.
# Sorry for my laziness.
E2CAT
-
SYNOPSIS
E2CAT [-bt] pathname
DESCTIPTION
The E2CAT program will copy the contents of the file
identified by ext2 pathname to the standard output.
The following options are available:
-b Binary mode. No translation performed.
-t Text mode (default). LF translated to CR/LF.
E2CD
SYNOPSIS
E2CD pathname
DESCRIPTION
The pathname must identify an ext2 directory. That
directory is made the current working directory.
NOTE
E2CD is a .BAT file that creates another .BAT file
(called ___E2CD.BAT) that modifies the E2CWD envir-
onment variable. It then executes ___E2CD.BAT and
deletes it. (So beware if you already have a file
called ___E2CD.BAT.)
For use with 4DOS, an E2CD.BTM file is also included.
4DOS will use that instead of E2CD.BAT.
E2CP
SYNOPSIS
E2CP [-bt] file1 file2
DESCTIPTION
The E2CP program will copy the contents of the file
identified by ext2 pathname file1 to the MSDOS file
file2.
The following options are available:
-b Binary mode (default). No translation performed.
-t Text mode. LF translated to CR/LF.
E2LS
SYNOPSIS
E2LS [-adiltr] pathname ...
DESCRIPTION
The pathnames may identify ext2 directories or files.
Wildcard characters (*, [], ?, etc.) may be used in a
manner similar to what the Linux shell allows.
The E2LS program provides a directory listing of the
specified pathnames in a manner similar to the Linux
ls program.
The following options are supported:
-a Include file names starting with . in listing.
-d List only pathname, even if it is a directory.
-i Include inode number in listing.
-l Produce a long listing.
-t Sort by modification time.
-r Reverse the sort order.
E2PART
--
SYNOPSIS
E2PART diskno
DESCRIPTION
The E2PART program lists the partitions that are
available on a particular physical disk. This program
does not use the E2CWD environment variable, instead
the disk number is given as an argument to the E2PART
program.
BUGS
The program is not very good at identifying MSDOS file
systems.
E2PWD
-
SYNOPSIS
E2PWD
DESCRIPTION
The E2PWD program prints the current directory.
2.2. LREAD 2.3
另 一 個 DOS 下 讀 LINUX EXT2 文 件 系 統 的 軟 件. LREAD 是 GPL 自 由 軟 件. v1.0 由 Jason Hunter and David Lutz 開 發. V2.X 由 Werner Zimmermann
2.2.1. 安 裝 LREAD
十 分 簡 單, 只 要 在 DOS 下 把 LREAD-2.3.zip 解 開 到 相 應 目 錄, 就 會 發 現 原 碼 和 二 進 制 程 序 ldir 和 lread, 一 般 無 須 編 譯 和 配 置 就 能 運 行.
LREAD 在windows 3x/9x 能 運 行.
2.2.3. 命 令 用 法
命令 ldir [-h | -v] [-s/dev/hd..] [Linux_Directory]
列出 ext2 (檔案系統)目錄
選 項:
-h 幫 助 信 息
-v 版 本 信 息
-s 指 定 目 錄 所 在 的 硬 盤 分 區, 例 如/dev/hda5. 缺 省 值 在 ldir.h 中 指 定. 支 持 軟 驅:/dev/fd?. 如 果 僅 指 定/dev/hda 或 /dev/hdb, 不 給 出 路 經,ldir 將 要 搜 索 此 驅 動 器 上 的 第 一 個LINUX 分 區. 須 指 出, 若 省 缺 選 項 -s/dev/...,ldir 會 用 它 在 編 譯 時 預 先 指 定 的 硬 盤( 通 常 為/dev/hda).ldir 支 持SCSI 硬 盤 分 區. 相 應 上 述 選 項 可 用/dev/sda 和/dev/sda3.Linux_Directory 要 列 出 的 目 錄 名. 省 略 的 話, 則 用/. 全LINUX 路 經 名 定 界 符 用/( NOT \), 支 持 匹 配 符, 大 小 寫 敏 感.
命令 lread [-h | v] [-s/dev/hd..] Linux_File [DOS_File]
列出Linux檔案或複製到DOS中.
選項
-h協助資訊
-v版本資訊
-s參見ldir
Linux_File 合法的 UNIX源檔案名稱.
DOS_File 合法的 DOS目的檔案名稱.省略的話,輸出到
標準輸出(STDOUT)上.
2.3 目 前 最 實 用 的 GPL 軟 件 是 FSDEXT2
Copyright (C) 1997 by Peter van Sebille.
此 軟 件 只 能 在 win32 下 運 行, 可 以 把 相 應 的 linux ext2 分 區 mount 成 在windows 下 只 讀 的 盤, 使 用 極 為 方 便.
2.3.1 安 裝 FSDEXT2
展 開 95ext2fs.zip 到 一 個 目 錄 比 如 c:\fsdext, 運 行
install.bat 或 直 接 拷 貝 相 關 驅 動 程 序 到 相 應 目 錄:
vext2d.vxd - > c:\windows\system
tsdext2.vxd - > c:\windows\system\iosubsys
添加 c:\fsdext到系統 PATH後重啟動.
2.3.2 Mount/Umount Linux Ext2 文 件 系 統
運行c:\fsdext\mount.exe命令就可以把 Linux ext2分區
mount成邏輯分區.
mount /dev/hdb1 g 安上相應分區
| |__ DOS邏輯盤符 d , e, f ...
|_________ Linux下相應裝置名稱*
mount /u g 卸掉相應分區
2.3.3. * 存 在 的 問 題
假 如 你 的PC 有 兩 塊IDE 硬 盤 和 一 個IDE 光 驅.
硬體 | 插槽 | M/S | Linux裝置名稱
第一塊硬碟 IDE0 Master /dev/hda
第二塊硬碟 IDE1 Master /dev/hdc
光碟機 IDE1 Slave /dev/hdd
想把 Linux ext2分區 /dev/hdc1 mount到 windows 9X下時必須用
mount /dev/hdb1 g
而不是
mount /dev/hdc1 g !!
2.3.4. 命 令 用 法(mount /?) :
Ext2 file system mount for Windows 95
Version 0.17 by Peter van Sebille
Usage: MOUNT [[devicename] driverletter] [options]
options:
/r: relax partition ID check when mounting
/u: unload drive (drive letter required)
/d: get current debug level
/d=value: set current debug level
/?: show usage
3. 比 較
軟體 Microsoft平台 易用性 GPL
ext2 tool DOS/windows9x/NT ++ 是
lread DOS/windows9x ++ 是
95ext2fs windows9x +++ 是