1.简介
Linux内核支持众多的文件系统类型,目前它可以读写(至少是读)大部分的文件系统.Linux经常与MicrosoftWindows共存于一个系统或者硬盘中.Linux对windows9x/NT的文件系统支持的很好,反之你想在windows下用VisualC++编程的同时能看一看Linux的GCC-HOWTO则必须得费点劲.本文试图给你一个简单的帮助.
这份HOWTO是免费文件(free document.tion);你可以在FSF出版的GNUGPL之规定下重新散播及/或修改它;您可以自由决定适用GPL2.0或之後的任何版本.
希望这份文件的发布能对您有帮助,但我们不提供任何保证,即使是商业上或某特殊用途的隐含保证亦然.详情请参见GNU一般公开授权书.
本文在不影响理解的前提下,不区分文件系统和分区的概念.
1.Linux存取FAT/FAT32/NTFS分区.
Linux内核应至少支持fat/msdos文件系统(安装后).vfat文件系统一般编译为Module,可以用modprobevfat装入.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.EXT2TOOLSv1.1
EXT2TOOLS是一组在DOS下可以让你读LINUXEXT2文件系统的工具包.它由以下程序组成:
E2CAT类似于Linux的cat命令
E2CD类似于Linux的cd命令
E2CP类似于Linux的cp命令
E2LS类似于Linux的ls命令
E2PART列出硬盘的分区信息
E2PWD类似于Linux的pwd命令
EXT2TOOLS是GNUGeneralPublicLicense软件,版权所有
(C)1995ClausTondering(ct@login.dknet.dk),
ext2tool_1_1.zip可以从
ftp://sunsite.unc.edu/pub/Linux/system/filesystems/ext2/
处匿名下载.
现在所有的程序已在GCC下编译,(DOS下)运行时需要GO32DOS扩展程序GO32.EXE.GO32.EXE包含在EXT2TOOLS的发布中,做为DJGPP的一部分,GO32.EXE还可以从
ftp://oak.oakland.edu/SimTel/venders/djgpp
匿名下载.
2.1.1.安装EXT2TOOLS [MSDOS]
>mkdirc:ext2l
>pkunzip-dext2tool_1_1.zip
>dir
2.1.2.运行EXT2TOOLS
在运行前设置环境变量:
>SETE2CWD=129:5
或
>SETE2CWD=129:5:234
||||__目录的i节点号,缺省为根i节点号2.
|||_____EXT2文件系统的LINUX分区.
||________物理硬盘的代号:
|0:A软驱
|1:B软驱
|128:第一块硬盘
|129:第二块硬盘
|_____________环境变量
保证GO32.EXE在系统PATH中.
运行e2ls命令就能列出第二块硬盘的第五分区的文件系统.
运行e2part129命令能列出第二块硬盘的分区情况.
2.1.3.EXT2TOOLS可以在MicrosoftWindows3x/9x下运行,
PeeterJoot(peeter@accessv.com,
peeter_joot@vnet.ibm.com)
把EXT2TOOLS移植到NT上.EXT2TOOLS之NT版
ext2nt-1.06.tar.gz可以从
ftp://sunsite.unc.edu/pub/Linux/utils/dos/
处下载,安装和使用方法类似.
2.1.4存在的问题
第三块硬盘(IDE)和SCSI硬盘支持否因机器而异.可用与否取决于系统是否依赖中断13访问硬盘.
2.1.5命令用法#Willtranslateintochinesesoon.
#Sorryformylaziness.
E2CAT
-
SYNOPSIS
E2CAT[-bt]pathname
DESCTIPTION
TheE2CATprogramwillcopythecontentsofthefile
identifiedbyext2pathnametothestandardoutput.
Thefollowingoptionsareavailable:
-bBinarymode.Notranslationperformed.
-tTextmode(default).LFtranslatedtoCR/LF.
E2CD
SYNOPSIS
E2CDpathname
DESCRIPTION
Thepathnamemustidentifyanext2directory.That
directoryismadethecurrentworkingdirectory.
NOTE
E2CDisa.BATfilethatcreatesanother.BATfile
(called___E2CD.BAT)thatmodifiestheE2CWDenvir-
onmentvariable.Itthenexecutes___E2CD.BATand
deletesit.(Sobewareifyoualreadyhaveafile
called___E2CD.BAT.)
Forusewith4DOS,anE2CD.BTMfileisalsoincluded.
4DOSwillusethatinsteadofE2CD.BAT.
E2CP
SYNOPSIS
E2CP[-bt]file1file2
DESCTIPTION
TheE2CPprogramwillcopythecontentsofthefile
identifiedbyext2pathname'file1'totheMSDOSfile
'file2'.
Thefollowingoptionsareavailable:
-bBinarymode(default).Notranslationperformed.
-tTextmode.LFtranslatedtoCR/LF.
E2LS
SYNOPSIS
E2LS[-adiltr]pathname...
DESCRIPTION
Thepathnamesmayidentifyext2directoriesorfiles.
Wildcardcharacters(*,[],?,etc.)maybeusedina
mannersimilartowhattheLinuxshellallows.
TheE2LSprogramprovidesadirectorylistingofthe
specifiedpathnamesinamannersimilartotheLinux
lsprogram.
Thefollowingoptionsaresupported:
-aIncludefilenamesstartingwith.inlisting.
-dListonlypathname,evenifitisadirectory.
-iIncludeinodenumberinlisting.
-lProducealonglisting.
-tSortbymodificationtime.
-rReversethesortorder.
E2PART
--
SYNOPSIS
E2PARTdiskno
DESCRIPTION
TheE2PARTprogramliststhepartitionsthatare
availableonaparticularphysicaldisk.Thisprogram
doesnotusetheE2CWDenvironmentvariable,instead
thedisknumberisgivenasanargumenttotheE2PART
program.
BUGS
TheprogramisnotverygoodatidentifyingMSDOSfile
systems.
E2PWD
-
SYNOPSIS
E2PWD
DESCRIPTION
TheE2PWDprogramprintsthecurrentdirectory.
2.2.LREAD2.3
另一个DOS下读LINUXEXT2文件系统的软件.LREAD是GPL自由软件.v1.0由JasonHunterandDavidLutz开发.V2.X由WernerZimmermann修改.lread-2.23.zip可以从
ftp://sunsite.unc.edu/pub/Linux/utils/dos/
处匿名下载.
2.2.1.安装LREAD
十分简单,只要在DOS下把LREAD-2.3.zip解开到相应目录,就会发现原码和二进制程序ldir和lread,一般无须编译和配置就能运行.
LREAD在windows3x/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)1997byPetervanSebille.
此软件只能在win32下运行,可以把相应的linuxext2分区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.2Mount/UmountLinuxExt2文件系统
运行c:fsdextmount.exe命令就可以把Linuxext2分区
mount成逻辑分区.
mount/dev/hdb1g安上相应分区
||__DOS逻辑盘符d,e,f...
|
|_________Linux下相应设备名*
mount/ug卸掉相应分区
2.3.3.*存在的问题
假如你的PC有两块IDE硬盘和一个IDE光驱.
硬件|插槽|M/S|Linux设备名
第一块硬盘IDE0Master/dev/hda
第二块硬盘IDE1Master/dev/hdc
光驱IDE1Slave/dev/hdd
想把Linuxext2分区/dev/hdc1mount到windows9X下时必须用
mount/dev/hdb1g
而不是
mount/dev/hdc1g!!
2.3.4.命令用法(mount/?):
Ext2filesystemmountforWindows95
Version0.17byPetervanSebille
Usage:MOUNT[devicename]driverletter][options]
options:
/r:relaxpartitionIDcheckwhenmounting
/u:unloaddrive(driveletterrequired)
/d:getcurrentdebuglevel
/d= value:setcurrentdebuglevel
/?:showusage
Linux内核支持众多的文件系统类型,目前它可以读写(至少是读)大部分的文件系统.Linux经常与MicrosoftWindows共存于一个系统或者硬盘中.Linux对windows9x/NT的文件系统支持的很好,反之你想在windows下用VisualC++编程的同时能看一看Linux的GCC-HOWTO则必须得费点劲.本文试图给你一个简单的帮助.
这份HOWTO是免费文件(free document.tion);你可以在FSF出版的GNUGPL之规定下重新散播及/或修改它;您可以自由决定适用GPL2.0或之後的任何版本.
希望这份文件的发布能对您有帮助,但我们不提供任何保证,即使是商业上或某特殊用途的隐含保证亦然.详情请参见GNU一般公开授权书.
本文在不影响理解的前提下,不区分文件系统和分区的概念.
1.Linux存取FAT/FAT32/NTFS分区.
Linux内核应至少支持fat/msdos文件系统(安装后).vfat文件系统一般编译为Module,可以用modprobevfat装入.ntfs在版本较高的内核里可以支持.如果你用的是2.0.3?,就需要到这
![](http://www.linuxext.com/images/small/url.gif)
/system/filesystems/ntfs.tar.gz
下载一份回来,然后patch到内核中再编译.
fat/vfat分区可以mount成可读写的文件系统(rw).ntfs分区目前只能mount成只读(ro)的文件系统.
2.Microsoft存取ext2分区.
2.1.EXT2TOOLSv1.1
EXT2TOOLS是一组在DOS下可以让你读LINUXEXT2文件系统的工具包.它由以下程序组成:
E2CAT类似于Linux的cat命令
E2CD类似于Linux的cd命令
E2CP类似于Linux的cp命令
E2LS类似于Linux的ls命令
E2PART列出硬盘的分区信息
E2PWD类似于Linux的pwd命令
EXT2TOOLS是GNUGeneralPublicLicense软件,版权所有
(C)1995ClausTondering(ct@login.dknet.dk),
ext2tool_1_1.zip可以从
![](http://www.linuxext.com/images/small/url.gif)
处匿名下载.
现在所有的程序已在GCC下编译,(DOS下)运行时需要GO32DOS扩展程序GO32.EXE.GO32.EXE包含在EXT2TOOLS的发布中,做为DJGPP的一部分,GO32.EXE还可以从
![](http://www.linuxext.com/images/small/url.gif)
匿名下载.
2.1.1.安装EXT2TOOLS [MSDOS]
>mkdirc:ext2l
>pkunzip-dext2tool_1_1.zip
>dir
2.1.2.运行EXT2TOOLS
在运行前设置环境变量:
>SETE2CWD=129:5
或
>SETE2CWD=129:5:234
||||__目录的i节点号,缺省为根i节点号2.
|||_____EXT2文件系统的LINUX分区.
||________物理硬盘的代号:
|0:A软驱
|1:B软驱
|128:第一块硬盘
|129:第二块硬盘
|_____________环境变量
保证GO32.EXE在系统PATH中.
运行e2ls命令就能列出第二块硬盘的第五分区的文件系统.
运行e2part129命令能列出第二块硬盘的分区情况.
2.1.3.EXT2TOOLS可以在MicrosoftWindows3x/9x下运行,
PeeterJoot(peeter@accessv.com,
peeter_joot@vnet.ibm.com)
把EXT2TOOLS移植到NT上.EXT2TOOLS之NT版
ext2nt-1.06.tar.gz可以从
![](http://www.linuxext.com/images/small/url.gif)
处下载,安装和使用方法类似.
2.1.4存在的问题
第三块硬盘(IDE)和SCSI硬盘支持否因机器而异.可用与否取决于系统是否依赖中断13访问硬盘.
2.1.5命令用法#Willtranslateintochinesesoon.
#Sorryformylaziness.
E2CAT
-
SYNOPSIS
E2CAT[-bt]pathname
DESCTIPTION
TheE2CATprogramwillcopythecontentsofthefile
identifiedbyext2pathnametothestandardoutput.
Thefollowingoptionsareavailable:
-bBinarymode.Notranslationperformed.
-tTextmode(default).LFtranslatedtoCR/LF.
E2CD
SYNOPSIS
E2CDpathname
DESCRIPTION
Thepathnamemustidentifyanext2directory.That
directoryismadethecurrentworkingdirectory.
NOTE
E2CDisa.BATfilethatcreatesanother.BATfile
(called___E2CD.BAT)thatmodifiestheE2CWDenvir-
onmentvariable.Itthenexecutes___E2CD.BATand
deletesit.(Sobewareifyoualreadyhaveafile
called___E2CD.BAT.)
Forusewith4DOS,anE2CD.BTMfileisalsoincluded.
4DOSwillusethatinsteadofE2CD.BAT.
E2CP
SYNOPSIS
E2CP[-bt]file1file2
DESCTIPTION
TheE2CPprogramwillcopythecontentsofthefile
identifiedbyext2pathname'file1'totheMSDOSfile
'file2'.
Thefollowingoptionsareavailable:
-bBinarymode(default).Notranslationperformed.
-tTextmode.LFtranslatedtoCR/LF.
E2LS
SYNOPSIS
E2LS[-adiltr]pathname...
DESCRIPTION
Thepathnamesmayidentifyext2directoriesorfiles.
Wildcardcharacters(*,[],?,etc.)maybeusedina
mannersimilartowhattheLinuxshellallows.
TheE2LSprogramprovidesadirectorylistingofthe
specifiedpathnamesinamannersimilartotheLinux
lsprogram.
Thefollowingoptionsaresupported:
-aIncludefilenamesstartingwith.inlisting.
-dListonlypathname,evenifitisadirectory.
-iIncludeinodenumberinlisting.
-lProducealonglisting.
-tSortbymodificationtime.
-rReversethesortorder.
E2PART
--
SYNOPSIS
E2PARTdiskno
DESCRIPTION
TheE2PARTprogramliststhepartitionsthatare
availableonaparticularphysicaldisk.Thisprogram
doesnotusetheE2CWDenvironmentvariable,instead
thedisknumberisgivenasanargumenttotheE2PART
program.
BUGS
TheprogramisnotverygoodatidentifyingMSDOSfile
systems.
E2PWD
-
SYNOPSIS
E2PWD
DESCRIPTION
TheE2PWDprogramprintsthecurrentdirectory.
2.2.LREAD2.3
另一个DOS下读LINUXEXT2文件系统的软件.LREAD是GPL自由软件.v1.0由JasonHunterandDavidLutz开发.V2.X由WernerZimmermann修改.lread-2.23.zip可以从
![](http://www.linuxext.com/images/small/url.gif)
处匿名下载.
2.2.1.安装LREAD
十分简单,只要在DOS下把LREAD-2.3.zip解开到相应目录,就会发现原码和二进制程序ldir和lread,一般无须编译和配置就能运行.
LREAD在windows3x/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)1997byPetervanSebille.
此软件只能在win32下运行,可以把相应的linuxext2分区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.2Mount/UmountLinuxExt2文件系统
运行c:fsdextmount.exe命令就可以把Linuxext2分区
mount成逻辑分区.
mount/dev/hdb1g安上相应分区
||__DOS逻辑盘符d,e,f...
|
|_________Linux下相应设备名*
mount/ug卸掉相应分区
2.3.3.*存在的问题
假如你的PC有两块IDE硬盘和一个IDE光驱.
硬件|插槽|M/S|Linux设备名
第一块硬盘IDE0Master/dev/hda
第二块硬盘IDE1Master/dev/hdc
光驱IDE1Slave/dev/hdd
想把Linuxext2分区/dev/hdc1mount到windows9X下时必须用
mount/dev/hdb1g
而不是
mount/dev/hdc1g!!
2.3.4.命令用法(mount/?):
Ext2filesystemmountforWindows95
Version0.17byPetervanSebille
Usage:MOUNT[devicename]driverletter][options]
options:
/r:relaxpartitionIDcheckwhenmounting
/u:unloaddrive(driveletterrequired)
/d:getcurrentdebuglevel
/d= value:setcurrentdebuglevel
/?:showusage