23
2008
09

在Linux下访问Windows

方法一

Linux 内核支持读写Fat、NTFS、Vfat、Fat32、Hfs等文件系统(至少可以读),因此在Linux 下访问 Windows 要比在 Windows 下访问Linux 方面的多,不需要使用专门的软件,直接使用 Linux 命令即可。
Fat/Fat32分区时 Linux 访问 Windows 分区Linux 将系统中所有的设备都看作文件,所以在 Linux 下访问 Windows分区非常方便,只要使用 mount 命令将 Windows 分区挂接成 Linux
的一个文件夹即可。mount 命令的使用格式是(必须以 root 用户身份登陆):
mount [-afFhnrvVm] [-|<标签>] [-o<选项>] [-t<文件系统>]
[设备名称] [挂接点]若我们要将 Windows 的某一分区(如D盘)挂接到 Linux 的/mnt/win
这个目录下,首先请在 /mnt下建立 win 文件夹,然后启动 Console终端模式,输入命令“mount /dev/hda5 /mnt/win”,再进入 /mnt/win 目录,您就能看到 Windows 中 D 盘的内容了。

可能有的朋友要问了,为何要输入上面的命令,特别是那个 /dev/hda5 是什么东西呢?

这是Linux 下分区的一种表示方式,在 Linux 下看 Windows 分区一般是:hda1为C盘,hda5为D盘,hda6为E盘,以此类推。。。

不过用上面的方法加载 Windows 分区后,另一个麻烦的事情出现了,就是 Windows中所有的中文文件名和文件夹名全部显示为问号,英文却能正常显示,这计算机也有民族歧视啊!反对这种歧视,就要充分利用我们手中的武器,在mount 命令中加入一些参数让它正确显示中文。这时,只要将上述命令改为“mount -t vfat -o iocharset=cp936 /dev/hda5 /mnt/win”,运行就可以了。

加载了这个分区,在不使用时我们还可以将它卸除,而卸除的命令为umoun,若是卸除上述分区,只要输入“umount /mnt/win”即可。

另外,我们还可以让 Linux 在启动时自动加载分区,这样就不用每次使用 Windows分区时都要输入命令加载了。

首先请以 root 用户登陆,进入图形界面后通过 Linux 的文件管理器找到 /etc 目录下的 fstab 文件,单击右键选择一个文字编辑软件打开此文件,在内容的最下方添加一行命令“/dev/hda5
/mnt/win vfat codepage=936,iocharset=cp936 11”,然后在 /mnt 目录下建立 win文件夹,重新启动计算机后,再访问 /mnt/win目录就是 Windows分区的内容了。您也可以通过此种方法加载多个分区,而编辑时也可以在命令行方式下使用 vi 等编辑器。

NTFS 分区时 Linux 访问 Windows 分区若是使用 Mandrake 或者红旗 Linux,并且在安装时硬盘中已经存在 NTFS 分区,则安装后不需要重新编译内核就可以实现对硬盘 NTFS分区的访问;若是安装时硬盘中没有NTFS 分区,或者使用的是 RedHat Linux,则必须重新编译内核,添加 NTFS模块才能正常访问 NTFS 分区。首先以 root 用户登陆,然后将 RedHat Linux 的第二张安装盘插入光驱中,在/redhat/RPMS 目录下找到 kernel-source-2.4.xx-x.i386.rpm

(这里x代表数字)文件,若是图形界面,直接双击安装,若是命令行,请输入“rpm-ivh kernel-source-2.4.xx-x.i386.rpm”命令。
再进入 /usr/src/linux-2.4.xx-x/configs目录,这里有许多编译内核需要的培植文件,一般选择“kernel-source-2.4.xx-x.i686.config”即可。将此文件复制到/usr/src/linux2.4.xx-x 目录,用文本编辑器打开,将“#CONFIG_NTFS_FSis not set”行改为“CONFIG_NTFS_FS=m”。

在终端模式下,进入 /usr/src/linux-2.4.xx-3 目录,运行“make modules”命令来编译想要的 NTFS 模块,在编译的过程中不需要理会与 NTFS模块,在编译的过程中不需要理会与 NTFS 无关的内容,编译完成后,在/usr/src/linux-2.4.xx-x/fs/ntf 目录下可以找到一个 ntfs.o 文件,将其复制到 /lib/modules/2.4.xx-x/kernel/fs 目录,然后回到/usr/src/linux-2.4.xx-3 目录,输入命令:

#depmod
#modprobe ntfs
剩下的工作和前面 Fat/Fat32分区时 Linux 访问 Windows 分区相同。

方法二
Linux下访问Windows硬盘分区
在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
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系统在处理各种文件系统方面,还不能像Red Hat Linux那样方便。因此,要查看Linux分区中的内容就需要借助于其它的软件工具了。

  下面我推荐一个目前流行的、功能稳定的工具软件fsdext2。

  fsdext2软件提供在Windows系统下读Linux分区的功能。获得fsdext2的压缩软件包之后,先将其解压缩,然后运行命令install。这个安装命令将fsdext2需要的几个vxd文件拷贝到Windows的系统目录下。

  使用fsdext2提供的mount命令,将ext2文件系统载入到Windows系统下。mount命令的参数是Linux分区的设备名(命名规则与Linux下的一样)。然后fsdext2会自动寻找一个未分配的盘符代表Linux分区。这样,我们就可以像访问一个Windows分区一样访问Linux分区了。

方法四
Linux下访问Windows分区


首先应该判定 Windows 分区的位置,判定它所在的物理硬盘(如首要主 IDE 或第一个SCSI 驱动器)。要找出这项信息,你可以使用硬件浏览器。该程序列出了你的 Red Hat Linux 系统上的详细硬件信息。

要启动 硬件浏览器,选择「主菜单」 => 「系统工具」 => 「硬件浏览器」。如硬件浏览器中的硬盘设备列表

从面板上选择「硬盘驱动器」,然后从所显示的「磁盘信息」中找出你的 Windows 分区。Windows 分区通常使用 FAT 或 FAT32 文件系统类型。该文件系统类型可以在 Linux 中被挂载和读取;不过,如果你的 Windows 分区使用 NTFS,你就不能够这么做,因为Red Hat Linux 不支持 NTFS 文件系统。请留意关于你的 Windows 分区的「设备」信息,因为这就是你要挂载以便访问 Windows 数据的设备。

判定了 Windows 分区在你的硬盘驱动器上的位置后,在 shell 提示下登录为根用户(键入 su,然后输入根口令)。

键入下面的命令来创建一个挂载 Windows 分区的目录。例如:

mkdir /mnt/windows
在你访问该分区前,你需要把它挂载到你刚刚创建的目录中。在 shell 提示下以根用户身份键入下列命令,这里的 /dev/hda1 是你通过硬件浏览器找到的 Windows 分区。
mount -t vfat /dev/hda1 /mnt/windows

然后,你便可以从根用户状态中注销,并改换到被挂载了的 Windows 分区中来存取Windows 数据了:

cd /mnt/windows

要在你每次引导 Red Hat Linux 系统时自动挂载 Windows 分区,你必须修改/etc/fstab 文件。该文件配置了所有文件系统和磁盘设备的挂载选项。

在 shell 提示下,用 su 变成根用户,然后遵循上面的例子。

下一步,用文本编辑器打开 /etc/fstab 文件,例如:

gedit /etc/fstab

在一个新行上添加下列信息(把 /dev/hda1 替换成你通过 硬件浏览器找到的 Windows 分区):

/dev/hda1 /mnt/windows vfat auto,umask=0 0 0

保存文件并退出文本编辑器。

在系统下次重新引导时,/etc/fstab 文件会被读取,Windows 分区会被自动挂载到目录/mnt/windows 中。要在 shell 提示下访问该分区,键入 cd /mnt/windows 命令。要进入带有空格的目录或文件,使用引号把目录或文件名包围起来,如 ls "Program Files"。
 

« 上一篇下一篇 »

相关文章:

解决linux firefox下flash乱码问题  (2011-7-4 23:32:33)

Windows进程中的内存结构(堆和栈的区别)  (2011-3-31 23:27:45)

Windows窗口、控件和对话框  (2008-12-8 18:36:51)

怎样为XP减肥  (2008-12-1 14:28:12)

从Windows 1.0到Vista启动画面回顾  (2008-11-26 18:23:13)

25年了,Windows进步了么?  (2008-11-25 9:18:28)

你知道Windows桌面“刷新”的作用吗?   (2008-11-23 16:29:5)

高精度的计时器  (2008-11-11 10:35:44)

Windows进程字典  (2008-10-21 23:10:23)

躲避微软的正版验证,防止XP系统黑屏  (2008-10-20 14:56:17)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。