• 3738阅读
  • 0回复

Linux与Windows相互访问 [复制链接]

上一主题 下一主题
离线cai
 

只看楼主 倒序阅读 0楼 发表于: 2005-01-10
如今,大概没有人会低估Linux的发展前途,但是至少现在,我们仍然不能对Windows说不。因此,许多电脑爱好者只好将一部分硬盘空间让出来安装Linux。那么,能不能实现在Linux与Windows之间相互访问呢?

要想在Windows下访问Linux,需要工具软件的帮助;而在Linux下访问Windows,根据不同的分区格式,有不同的方法。

在Windows下访问Linux

Windows本身并没有提供直接访问Linux的程序,因此我们需要借助第三方的软件才能访问Linux的Ext分区中的内容,虽然网上有许多这类软件,但大多数只能读取Linux下的内容,而无法对Linux进行写操作。不过,有了Explore2fs软件,一切就变得容易多了,通过这个软件,我们不但可以读取、复制Linux中的内容,而且还可以直接对Linux进行写操作,如删除、加入文件等等。

1. 首先,到“http://www.gxgl.com/soft/explore2fs.rar”上下载Explore2fs,它的最新版本是1.00 pre6,大小只有357KB,可以稳定运行在Win95/98/NT/2000/Me/XP系统中,它是一款免费软件,所以您尽可放心使用。

Explore2fs还是一款绿色软件,不需要安装,直接解压到一个目录下,然后运行explore2fs.exe文件就可以了,这时就能看到一个类似于资源管理器的界面,窗口的左边是Linux的目录树型结构,右边就是所选目录下的内容,可单击左边目录前的“+”、“-”号来展开和折叠子目录。在窗口的右边,Linux分区的文件以小企鹅图标显示,您可以通过右键菜单或菜单栏上相应的命令对这些文件进行操作。

需要说明的是,Linux有文件保护机制,如果您权限不够,系统会拒绝您对文件进行读写。

2. Explore2fs支持文件的拖放,因此将Linux分区下的文件拷贝到Windows下是一件轻而易举的事。选中需要复制的文件,点击鼠标右键,选中“Export file”选项将文件保存到Windows的目录中即可,而在弹出的菜单中选择“View”,即可调用默认的关联程序打开该文件。您还可以通过选择“View|Options|General|viewer program”来设定相应的关联程序。

不过,以上操作也仅限于读操作,而不能写,也就说是不能改动Linux中的内容,因为这时您所看到的右键菜单中,下面几项可写的内容都是灰色的,也就是不可选的。我们可用下面的方法让它可选。在“View”菜单中选择“Options”,然后在弹出的窗口中选择“Debug”标签,选中“Enable write support”选项,再点击“OK”按钮退出。然后在“File”菜单中选择“Rescan Partition”,这时会弹出“Confirm”窗口,点击“Yes”按钮即可,现在的右键菜单选项就全部可选了。

3. 在笔者使用的过程中,无论是向Linux传送文件还是将Linux中的文件导入到Windows中,都没有出现异常情况,但还是建议您不要传送过大的文件,并且不要随意改动系统目录下的内容,最好的方法是在Linux下建立一个新的目录,然后将要传送的文件全部保存在该目录下。
除了可以用拖动的方法向Linux传送文件外,还可以通过鼠标右键中的“Import file”来向Linux传送文件。

Explore2fs除了传送文件外,还支持更改文件的使用权限。具体方法很简单,选中该文件,点击鼠标右键,在弹出的菜单中选择“Properties”,然后在“Attributes”标签中修改相应的内容即可。当然您也可以通过右键菜单中的“Delete”选项来删除相应的文件,不过,一定要注意不要把系统文件删除了。另外,在右键菜单中还有一个“Create”(创建)的目录,它下面有三个选项:Block Device、Character Device和Symbolic Link,前两个Linux系统已内置好了,不需要修改,Symbolic Link则相当于Windows下的快捷方式。

在Linux下访问Windows

Linux内核支持读写Fat、NTFS、Vfat、Fat32、Hfs等文件系统(至少可以读),因此在Linux下访问Windows的内容相对来说要简单得多,甚至不用下载软件就可以达到目的。

fat/fat32分区的情形

红旗Linux3.2、Mandrake Linux8.2等版本的Linux在安装完成后已经自动加载fat分区了,图2所示的就是红旗Linux安装完成后自动加载的Windows分区,和我们在Windows下看到的完全一样,因此特别适于初学者使用。而redhat7.3则没有自动加载fat分区,因此还需要进行手工操作,不过这些操作同样适用于红旗Linux、Mandrake Linux。

1. 利用mount命令挂装文件系统访问Windows。

mount是Linux下的一个命令,它可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。

Mount的使用格式是(必须以root身份登录):mount[-afFhnrvVm][-l<标签>][-o<选项>][-t<文件系统>][设备名称][挂入点],比如我们要将Windows的D区挂接到Linux的/mnt/wind这个目录下,首先要在/mnt下建立wind文件夹,然后切换到Console终端模式,在命令提示符下输入“mount /dev/hda5 /mnt/wind”,即表示将Windows的D分区挂到Liunx的/mnt/wind目录下,这时在/mnt/wind目录下,就可以看到Windows中D盘的内容了。

在命令行提示符下还可以通过输入“more”、“cp”及“rm”等命令来查看、拷贝、删除相应的文件。不过,这种方法没有在图形窗口下操作方便,因此您可以直接在Konqueror中进行操作。

注意,在Linux下看Windows的分区一般是这样的:hda1为C盘、hda5为D盘、hda6为E盘……以此类推。

2. 解决不能显示中文的问题。

上述方法虽然很简单,但有一个很大的问题,就是Windows中的所有中文文件名或文件夹名全部显示为问号“?”,而英文却可以正常显示。不过,我们可以通过加入一些参数来让它显示中文。还以上面的操作为例,此时的命令就应该为“mount -t vfat -o iocharset=cp936 /dev/hda5 /mnt/wind”,现在它就可以正常显示中文了。

注意,卸载分区时,可以通过“umount”命令来完成,以卸载前面我们加载的D分区为例,它的命令格式就是“umount /mnt/wind”。需要注意的是,Linux命令行的命令是分大小写的,因此在书写时一定要注意。

3. 自动加载法。

用上面的方法,每次关闭电脑时会自动卸载已经加载了的分区,如果想继续使用的话,还需要重新输入加载的命令,这样很麻烦。下面就介绍一种自动加载分区的方法,这种方法可以在启动Linux后自动加载Fat分区,不过操作步骤稍微复杂一些,这里仍然以加载Windows中的D分区为例进行介绍。

这种方法最主要的一点就是改动系统中/etc目录下的fstab文件。通过Konqueror进入该目录,找到fstab文件,先将该文件备份下来,然后点击鼠标右键,在弹出的菜单中选择一个文字编辑软件打开该文件,在内容的最下方添加一行命令“/dev/hd5/mnt/wind vfat codepage=936,iocharset=cp936 1 1”,然后在/mnt目录下建立文件夹/wind,重新启动计算机,这时在桌面的空白位置点击鼠标右键,在弹出的菜单中依次选择“新建|硬盘”,给硬盘起一个名字(最好与挂载的分区相对应,这里就输入D),然后就可以在桌面上看到一个像Windows下硬盘的图标,双击它就可以看到相应的D分区中的内容了。

用同样的方法,您可以加入更多的fat分区,只要在fstab文件中添加相应的内容(其中的代码基本不变,改变的只是分区和设置的目录)就可以了,然后在桌面上建立一个图标,就可以很容易地对Windows的分区进行操作了。

NTFS分区的情形

在Linux下访问NTFS分区比较复杂,您最好在安装Linux以前已经将硬盘设置为NTFS分区,这样,系统在安装时会自动安装相应的内核并完成设置,而不需要编译内核就可以直接访问NTFS分区(Mandrake Linux需要通过加载命令来加载NTFS分区,红旗Linux可以直接访问NTFS分区),但Redhat(包括最新的7.3版)由于没有编译NTFS模块,因此需要重新编译内核。下面我们就以Red Hat Linux 7.3(完全安装)为例来介绍一种网上比较流行的加载NTFS分区的方法。

1. 将Red Hat Linux 7.3第二张安装盘插入光驱中,在redhat/rpms/目录下找到kernel-source-2.4.18-3.i386.rpm文件,双击该文件,在弹出的“kpackage”窗口中选中软件包名,点击安装。

2. 启动Konqueror,在/usr/src/linux-2.4.18-3/configs目录下有许多编译内核需要的配置,根据您的电脑选择想要的配置,一般情况下选择“kernel-2.4.18-i686.config”即可。

3. 将kernel-2.4.18-i686.config文件复制到/usr/src/linux-2.4.18-3/目录下,用文本编辑器打开它,将“# CONFIG_NTFS_FS is not set ”命令行改为“CONFIG_NTFS_FS=m”(注意前面的#号要去掉)。

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

#depmod
#modprobe ntfs

5. 经过上面四个步骤,我们已经完成了一大半工作,剩下的工作和前面加载fat分区的操作几乎一样,只是命令行稍微有所不同,假如目前D盘为NTFS分区,我们加载的命令行是“mount /dev/hda5 /mnt/wind ntfs iocharset=cp936 0 0”。当然您仍然可以在桌面建立D盘的图标,通过双击该图标来直接读取D盘中的内容。
另外,您也可以通过修改/etc下的fstab文件来达到自动运行的效果。需要说明的是,这种方法只可以读NTFS分区中的内容,而不能进行修改。

在Linux下运行Windows程序

Wine是在Linux环境下执行部分Windows应用程序的工具,实际上就是一个Windows的模拟器。它可以在Linux下模拟出Windows环境,使一些常用的Winodows程序直接在Linux下运行,与我们经常使用的虚拟机VMmare不同的是,VMmare虚拟的是硬件,Wine虚拟的是软件。

1. 下载Wine。

Wine的最新版本是20020904,您可以到它的主页http://www.codeweavers.com/technology/wine/download.php下载该软件,不过需要提醒您的是,不要到该主页上面提供的那个HTTP下载地址去下载,这个下载包有误,您要到下面那个FTPftp://ftp.codeweavers.com/pub/cw-wine/codeweavers-wine-20020904-7.i386.rpm去下载,它的大小为6287KB。

2. 安装Wine。

以root的身份进行登录,在安装Wine之前,我们需要删除以前的Wine版本。这里我们以RedHat7.3为例进行介绍。首先在Console模式下用“rpm -qa |grep wine”命令来查询以前安装的Wine,这里屏幕上会显示出wine-xxxxx-xxx(表示不同的版本),再通过“rpm -e wine-xxxxx-xxx”来删除以前的Wine版本。然后打开Konqueror,双击下载的codeweavers-wine-20020904-7.i386.rpm文件,这时会弹出“Kpackage”窗口,选中软件包名,点击“安装”即可完成。

3. 加载Windows分区。

比如我们在C区安装的是Win98,我们需要将C区加载到Linux的/mnt/winc目录下,当然首先要输入“mkdir /mnt/winc”命令建立winc目录,也可以通过Konqueror窗口直接在/mnt下建立子目录winc(操作类似于Windows),然后在Konsole模式下输入“mount -t vfat /dev/hda1 /mnt/winc”命令,完成以后,您就可以在Linux的/mnt/winc目录下直接查看Windows的C盘内容了。同样,您可以通过加入参数来让它显示中文(红旗Linux、Mandrake Linux可跳过该过程)。

4. 配置Wine。

为了保证系统的安全,Wine不允许以root登录来配置Wine,因此您要以其他用户的身份登录,登录完成后,您可以在开始菜单中找到“wine|wine Configuration”项,它就是用来设置Wine的。配置的过程采用了一种向导式的操作,一般情况下Wine设置程序会自动查找、设置Windows目录,如果不能正常使用的话,就需要修改“Configuration”向导的第二个窗口中的“Drive”项,选中“C”,点击“Edit”按钮,在弹出的窗口中修改“Path”、“Type”和“Filesystem”等选项,“Path”表示虚拟系统中指向Linux里的那个目录,这里就输入“/mnt/winc”,“Type”表示磁盘的种类,这里从中选择“hd”,“Filesystem”对应Linux系统里的挂载点的文件类型,这里就填入“win98”,最后保存完成。

5. 运行应用程序。

Wine提供了两种方法来运行应用程序,第一种方法是自动运行,这种方法最简单,在Konqueror中切换到应用程序所在的目录,双击应用程序即可打开(这时候应用程序的图标是红色小酒杯),但是这种方法有一个缺点,就是速度稍微慢了一些。

另外一种方法需要手工操作,切换到Console模式下,运行相应的命令,Wine的命令格式是:wine <windows应用程序名><windows程序参数>,Wine默认的Windows程序查找路径为c:\windows和c:\windows\command,当然您还可以在Configuration中重新设置,如果您想调用的不是这个路径,就需要指明其绝对路径。比如,在/mnt/winc目录下的Windows目录中,双击“notepad”即可打开Windows的记事本程序,而在Console模式中就需要输入“wine notepad”命令,而使用“wine notepad c:\Setupxlg.txt”即表示用记事本程序打开Windows的C盘根目录下的Setupxlg.txt文件。

Wine支持多种Windows系统,也支持许多应用程序,比如扑克游戏、Windows Command、Snagit等等,甚至包含许多大型游戏,比如星际争霸等等,感兴趣的朋友不妨试一试。不过,Wine目前仍处于发展阶段,大部分的软件仍然无法执行。

注意,以上操作除特别说明外,都是在RedHat7.3+Win98中通过的。
grant all privileges on *.* to 'a'@'localhost' identified by 'a' with grant option;flush privileges;
快速回复
限100 字节
 
上一个 下一个