Linux与分区
发布时间:2006-10-14 8:57:54   收集提供:gaoqian
1. 简介  

Linux内核支持众多的文件系统类型,目前它可以读写(至少是读)大部分的文件  
系统.Linux经常与Microsoft Windows共存于一个系统或者硬盘中.Linux对  
windows9x/NT的文件系统支持的很好,反之你想在windows下用Visual C++  
编程的同时能看一看Linux的GCC-HOWTO则必须得费点劲.本文试图给你一个简  
单的帮助.  

这份文件的作者是:  
Liu Jingwen  
liujw@ihepa.ac.cn  

最新的版本v0.1及相应软件:  

Web Site :  
http://www.ihepa.ac.cn/~liujw/  
目前只有中文版可以下载.  

这份 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?,就需要到这  

ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ntfs.tar.gz  

下载一份回来, 然后 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 ? ?nbsp; 
E2CD 类似于 Linux 的 cd 命令  
E2CP 类似于 Linux 的 cp 命令  
E2LS 类似于 Linux 的 ls 命令  
E2PART 列出硬盘的分区信息  
E2PWD 类似于 Linux 的 pwd 命令  

EXT2 TOOLS 是 GNU General Public License 软件, 版权所有  
(C) 1995 Claus Tondering (ct@login.dknet.dk),  
ext2tool_1_1.zip 可以从  

ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ext2/  

处匿名下载.  

现在所有的程序已在 GCC 下编译, (DOS下)运行时需要 GO32  
DOS 扩展程序GO32.EXE. GO32.EXE 包含在 EXT2TOOLS 的发布中,  
做为DJGPP 的一部分,  
GO32.EXE 还可以从  

ftp://oak.oakland.edu/SimTel/venders/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&! nbsp;Windows3x/9x 下运行,  
Peeter Joot (peeter @accessv.com,  
peeter_joot@vnet.ibm.com)  
把 EXT2 TOOLS 移植到 NT 上. EXT2 TOOLS 之 NT 版  
ext2nt-1.06.tar.gz 可以从  

ftp://sunsite.unc.edu/pub/Linux/utils/dos/  

处下载,安装和使用方法类似.  

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&! nbsp;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& nbsp;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.&nb! sp; 
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  
E 2PART 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 修改.  
Lread-2.23.zip 可以从  

ftp://sunsite.unc.edu/pub/Linux/utils/dos/  

处匿名下载.  

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/had 或  
/dev/hdb, 不给出路经,ldir将要搜索? 饲魃系牡谝桓?nbsp; 
LINUX分区.须指出,若省缺选项 -s/dev/.. ,ldir会用它在  
编译时预先指定的硬盘(通常为/dev/had).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:windowssystem  
tsdext2.vxd -> c:windowssystemiosubsys  

添加 c:fsdext 到系统 PATH 后重启动.  

2.3.2 Mount/Umount Linux Ext2 文件系统  

运行c:fsdextmount.exe 命令就可以把 Linux ext2 分区  
mount 成逻辑分区.  

Mount /dev/hdb1 g 安上相应分区  
| |__ DOS 逻辑盘符 d , e, f ...  
|  
|_________ Linux 下相应设备名*  


mount /u g 卸掉相应分区  


2.3.3. *存在的问题  

假如你的PC有两块IDE硬盘和一个IDE光驱.  

硬? ?nbsp;| 插槽 | M/S | Linux 设备名  
----------------------------------------------------------------  
第一块硬盘 IDE0 Master /dev/had  
第二块硬盘 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&nb! sp;debug level  
/d=value: set current debug level  
/?: show usage  


3. 比较  

软件 Microsoft 平台 易用性 GPL  
------------------------------------------------------------------  
ext2 tool DOS/windows9x/NT ++ 是  

lread DOS/windows9x ++ 是  

95ext2fs windows9x +++ 是 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50