(本文讲解如何在Linux环境下访问硬盘上Windows分区的文档,以及Windows访问硬盘Linux分区)
在Red Hat Linux下访问Windows系统的硬盘分区很简单。因为Red Hat Linux提供了对几乎所有文件系统的支持,因此它可以直接读写Windows系统的分区。安装Red Hat Linux 时,就可以指出计算机中存在的Windows分区的位置,并指定想要将它们载入到Linux文件系统中的位置。
通常,将Windows系统中C盘的内容载入到Linux系统下的目录/mnt/c,这时就可以如同看待Linux 文件系统中一个目录一样看待C盘了。我们可以对其中的文件进行读写,或者在其中创建一个新的文件或目录。如果安装时没有指定Windows分区的位置,或者由于其它原因使/mnt/c目录下看不到系统Windows 分区C盘的内容,就可以用下面的命令手动载入该分区:
#mount -t vfat/dev/hdal /mnt/c
此命令可以将设备名为/dev/hda1(可以是任何实际存在的分区设备名)的Windows分区载入到目录/mnt/c 下,参数“-t vfat”表明载入的文件系统类型为vfat。用类似的mount命令,也可以载入软盘文件系统,只不过软盘的文件系统设备名通常是“/dev/floopy”或“/dev/fd0H1440”。为了统一起见,可将其载入到目录
/mnt/floopy中。
Red Hat Linux中还提供了一个文件系统的系统配置脚本文件,通过修改它可以让Linux启动时自动载入需
要的其它非Linux文件系统。这个脚本是文件/etc/fstab,它的一个典型例子如下:
/dev/hda3 / ext2 defaults 1 1
/dev/hda4 swap swap defaults 0 0
/dev/fd0 /mnt/floppy ext2 noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,r0 0 0
none /proc proc proc 0 0
linux怎么读取windows文件
none /dev/pts devpts mode=0622 0 0
/dev/hda1 /mnt/c vfat auto,rw 0 0
/dev/hda5 /mnt/e vfat auto,rw 0 0
该文件中每行记录了一个系统自动载入的文件系统的信息,各列的意义依次为设备名、载入目录、文件系统类型、载入参数(自动、读写、模式等)、标记位。从这个文件可以看到,第一行是Linux自身的文件系统,第三、第四行代表软盘驱动器和光盘驱动器,它们都不是自动载入的,最后两行代表两个需自
动载入的Windows分区。
值得注意的是,对于软盘、光盘这些存储介质通常用“noauto”参数。如果像上例这样,它们在fstab 文件中有记录,插入软盘或者光盘后,只需运行命令“mount/mnt/floopy”或“mount/mnt/cdrom”就可以将其载入Linux系统。在取出软盘或者光盘之前,必须运行命令“unmount/mnt/floopy”或“unmount/mnt/cdrom”
取消它们的载入。否则,Linux系统会锁住该驱动器,即使按硬件按钮也无法将其取出。
Red Hat Linux 这种识别其它文件系统的功能将大大方便使用计算机,在Linux下可以像对待其自身的数据一样对待Windows分区中的数据。比如,在Linux下实践各种命令的同时,还可以随时查阅放在
Windows分区中的Linux电子文档。
Windows下访问Linux硬盘分区
Windows系统在处理各种文件系统方面,还不能像Red Hat Linux那样方便。因此,要查看Linux分
区中的内容就需要借助于其它的软件工具了。
下面推荐一个目前流行的、功能稳定的工具软件fsdext2。它是一个自由软件。
fsdext2软件提供在Windows系统下读Linux分区的功能。获得fsdext2的压缩软件包之后,先将其解压缩,然后运行命令install。这个安装命令将fsdext2需要的几个vxd文件拷贝到Windows的系统目录
下。
使用fsdext2提供的mount命令,将ext2文件系统载入到Windows系统下。mount命令的参数是Linux分区的设备名(命名规则与Linux下的一样)。然后fsdext2会自动寻一个未分配的盘符代表Linux 分区。这样,我们就可以像访问一个Windows分区一样访问Linux分区了。
补充如下:
一、ntfs分区的访问
最好的办法是在linux安装前已经具有ntfs分区,这样在安装如mandrake和suse linux版本时,可以自动为你安装相应的内核并设置好,你就可以在不知情的情况下自由地访问windows分区,这也是我推荐初学者使用mandrake或者suse linux的原因,而redhat不会,因此需要编译内核。
1、到编译内核所需要的.config文件。在/usr/src/linux/configs目录下有若干编译内核所用的配置。
选择我们想要的配置,将它复制到/usr/src/linux目录下,改名为.config,命令如下:cp
/usr/src/linux/configs/kernel-2.fig /usr/src/linux/.config
2 、修改.config文件,去掉不用的模块,加上自己想要的模块。打开.config,有许多XXXX=m的项,这些都是要被编译为模块的项,因为我们不希望编译这些模块,所以要把XXXX=m的项统统去掉。然后再加上我们想要的模块,将# CONFIG_NTFS_FS is not set 改为CONFIG_NTFS_FS=m 当然,可以用你熟
悉各种工具来做这件事。
3、编译NTFS模块。在/usr/src/linux目录下运行命令make modules来编译我们想要的NTFS模块。
4、安装NTFS模块。编译后得到的ntfs.o在/usr/src/linux/fs/ntfs目录下,手动将它复制到正确的目
录下。cp /usr/src/linux/fs/ntfs/ntfs.o /lib/modules/2.2.16-22/fs/
注意:千万不能运行命令make modules_install,否则将带来严重的后果,它会删除你系统中的所有
模块,只安装刚刚编译的模块(ntfs.o)。
5、载入NTFS模块. 运行命令depmod;modprobe ntfs (以上为刘军民先生到的方法,该方法比较
简单和实用)
另外你也可以使用make menuconfig,重新定制你需要的所有模块,接着运行make modeules;make modeules_install来安装。但是这种方式要麻烦和费时些。
二、直接编写fstab文件
这是最简单的方法。直接编写fstab文件的好处还在于,linux会在启动时自动为你装载你在其中定义的windows分区,不用在每次使用都要输入:mount -t vfat /dev/hda1 /mnt/winc。使用su命令转为root 权限,用vim或者其他编辑软件打开fstab(位于/etc/fstab),命令如下:vim /etc/fstab,内容示例如下:
/dev/hda8 / ext2 defaults 1 1
/dev/hda6 /boot ext2 defaults 1 2
none /dev/pts devpts mode=0620 0 0
/dev/hda9 /home ext2 defaults 1 2
/mnt/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/cdrom 0 0
/
mnt/floppy /mnt/floppy supermount fs=vfat,dev=/dev/fd0 0 0
/dev/hda1 /mnt/winc vfat user,exec,umask=0,codepage=936,iocharset=gb2312 0 0
/dev/hda5 /mnt/wind vfat user,exec,umask=0,codepage=936,iocharset=gb2312 0 0
none /proc proc defaults 0 0
/dev/hda7 /usr ext2 defaults 1 2
/dev/hda10 swap swap defaults 0 0
我的fstab文件内容多了一点,因为我的分区细了一点。你只要注意红那两行。把/dev/hda1改为你的windows分区所在即可,如果windows有两个分区,一般就是/dev/hda1和/dev/hda3。如果你不清楚,按照我的fstab内容在你的fstab文件中加入那两行就行了,如果使用ntfs的,把其中的vfat改为ntfs即可。当然你首先要在/mnt目录下建立两个目录winc和wind,命令如下:mkdir /mnt/winc /mnt/wind。重新启动后看能不能访问你的windows分区,逐步试探更改/dev/hda?(?代表数字)直到能访问为止。
三、关于中文的支持
关键在于在你的fstab文件中定义windows分区的一行的最后面加上:
codepage=936,iocharset=gb2312 0 0,但是对于使用COSIX中软linux或者红旗linux的读者来说,可以不加,显示中文目录和文件也没有问题,毕竟是版本嘛。另外说明一点,中文目录和文件的显示跟整个linux的设置有关,如果你没有在此之前设置好中文环境,你还是无法在你的分区中看到中文目录和文件的,全部是些代替了你的中文字,这不是这篇文章的内容了,有兴趣的读者请参考其他文章。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。