分享
 
 
 

在FreeBSD上运行Windows软件

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

FreeBSD最大的优势是,在一台双启动计算机上,无需退出FreeBSD就能够访问其他操作系统分区中的数据。在FreeBSD中安装其他分区后,读、写或者删除该分区的文件是相当简单的。也许有读者会问,在FreeBSD中能够执行其他分区中的可执行文件吗?如果安装的另外一种操作系统是微软开发的,并且在在FreeBSD上运行有Wine(一种Windows操作系统模拟器),那就能够在FreeBSD上运行许多Windows应用程序。

在本篇文章中,我将讨论如何配置和使用Wine,在一台专门运行FreeBSD、其硬盘上不包含Windows分区的计算机上运行一些Windows软件

我们将从向网络中的二台计算机上安装Wine开始。第一台计算机可以使用Windows98和 FreeBSD 4.3双启动,第二台机器只安装有FreeBSD4.3。下面我们将以超级用户身份登录计算机,开始安装Wine:

su

Password:

cd /usr/ports/emulators/wine

make install clean

安装完毕后,我们需要检查每台机器的内核配置文件,确认它包含运行Wine所必需的所有选项。我们仍然以超级用户的身份进行如下的检查:

cd /usr/src/sys/i386/conf

cp GENERIC WINE

然后,使用文本编辑器打开WINE,确保其中包含下面的4个选项:

options USER_LDT

options SYSVSHM

options SYSVSEM

options SYSVMSG

在我们的FreeBSD 4.3中,3个以SYS开头的选项已经有了,我只需要添加USER_LDT选项即可。如果添加了任何选项,则必须保存所作的修改,并执行下面的命令,新编译操作系统内核:

/usr/sbin/config WINE

cd ../../compile/WINE

make depend && make && makeinstall && reboot

上面最后一行命令实际上包含4条独立的命令,&&符号可以使只有上一条命令执行完毕,下一条命令才能执行。如果其中包含有reboot命令,要确保在执行期间没有其他用户在执行其他命令。

Wine安装成功后,文档被安装在了man 1 wine和/usr/local/share/doc/wine中。对于第一次安装Wine的用户而言,这个文档非常有用。

我们首先在FreeBSD 4.3和Windows 98双启动的计算机上运行Wine。为了在这台计算机上运行Wine,我们需要完成如下的准备工作:

1、查找并安装Windows partition。

2、双击Wine的配置文件。

3、通过是否能够运行Windows应用程序,测试Wine的配置。

由于在这台计算机上安装FreeBSD 4.3已经有一段时间了,因此我们需要使用sysinstall再次检查分区情况。以超级用户身份执行下面的命令:

/stand/sysinstall

Configure

Fdisk

spacebar ad0

我们会看到如下的屏幕显示:

Offset Size(ST) End Name PType Desc

0 63 62 - 6 unused

63 4176837 4176899 ad0s1 2 fat

4176900 4016250 8193149 ad0s2 3 freebsd

看完后,我们使用q命令退出屏幕,中断sysinstall的运行。Windows应该是安装在被FreeBSD识别为ad0s1的FAT格式分区中。为了安装这一分区,我们需要首先创建一个被称作dos的安装点:

mkdir /dos

下面我们来检查这一安装点的权限:

ls -l / | grep dos

drwxr-xr-x 2 root wheel 512 Aug 31 13:07dos

所有用户都有read(读)和execute(执行)权限,只有根用户才享有write(写)权限。

在向/etc/fstab添加一个永久的安装点前,我们需要确定可以以手动方式无误地安装那一个分区:

mount -t msdos /dev/ad0s1 /dos

注意:我们使用了-t msdos来指定文件系统的类型,使用/dev/ad0s1指定了分区的名字,安装点的名字为/dos。由于已经收到了系统返回的提示,安装是成功的,我们还可以使用df命令确认一下:

df -h

Filesystem Size Used Avail Capacity Mountedon

/dev/ad0s2a 97M 36M 53M 40% /

/dev/ad0s2f 1.7G 567M 1.0G 35% /usr

/dev/ad0s2e 19M 2.0M 16M 11% /var

procfs 4.0K 4.0K 0B 100% /proc

/dev/ad0s1 2.0G 783M 1.2G 38% /dos

我们还可以使用ls命令来确认一下安装分区的内容,使用F开关可以通过在目录中添加一个/字符把文件和目录区分开。

ls -F /dos

AUTOEXEC.BAT* COMMAND.COM* MSDOS.SYS* SCANDISK.LOG*

BOOT.INI* CONFIG.SYS* My Documents/ SETUPLOG.TXT*

BOOTLOG.PRV* DETLOG.TXT* NETLOG.TXT* WINDOWS/

bootsect.bsd* IO.SYS* Program Files/ RECYCLED/

ntdetect.com* ntldr*

如果读者在此前没有安装过任何其他操作系统的分区,需要花几分钟的时间来熟悉一下cd和ls命令。需要注意的是,FreeBSD对大小写是敏感的,需要正确地输入命令和文件名。一些文件名中有空格,可以通过先输入文件名然后使用tab键自动完成文件名的输入或者象下面的格式那样使用\符号跳过文件名中的空格:

cd Program\ Files

如果希望Windows分区在启动时就安装在系统上,可以小心地在/etc/fstab文件中添加下面的命令:

/dev/ad0s1 /dos msdos rw 0 0

注意一定要正确地输入分区名。我们应该通过输入下面的命令确保对/etc/fstab文件的修改有效:

shutdown now

再次回到提示符状态下时按回车键,然后再输入下面的命令:

exit

一旦能够登录,就可以再次使用df -h命令确保分区已经安装成功。

下面我们来编辑Wine的配置文件。使用文本编辑器打开/usr/local/etc/wine.conf文件,由于缺省的配置文件无需任何改变就能使系统正常运行,下面我们将省略掉大部分输出,只显示为匹配我们的配置而需要修改的部分:

more /usr/local/etc/wine.conf

WINE REGISTRY Version 2

;; All keys relative to \Machine\Software\Wine\Wine\Config

<snip>

[Drive A]

"Path" = "/mnt/fd0"

"Type" = "floppy"

"Label" = "Floppy"

"Serial" = "87654321"

"Device" = "/dev/fd0"

[Drive C]

"Path" = "/c"

"Type" = "hd"

"Label" = "MS-DOS"

"Filesystem" = "win95"

<snip>

这就是需要修改的部分,用你的安装点的名字取代Path一行中的/c,由于我的安装点是/dos,因此,这一行应该改成这样:

"Path" = "/dos"

保存所作的修改。我们会发现,要使Wine能够正常地工作,必须将这一配置文件拷贝到用户的目录中。下面,我们将以超级用户的身分完成用户genisis目录需要的改动:

mkdir ~genisis/.wine

chown genisis ~genisis/.wine

cp /usr/local/etc/wine.conf ~genisis/.wine/config

在向genisis' .wine目录进行拷贝时,我把配置文件的名字改成了config。至此,由于配置工作已经完成,我们需要退出超级用户帐号。我们将以用户genisis的身份启动XWindows:

startx

XWindows启动成功后,我们将打开一个xterm窗口,寻找一个可供执行的Windows应用程序:

cd /dos/WINDOWS

ls | more

我们注意到了Windows程序管理器PROGMAN.EXE,下面我们来试试一下是否能够通过Wine在FreeBSD上运行它:

wine -winver win98 -managed PROGMAN.EXE

经过数秒钟后,Windows程序管理器顺利启动成功了。点击File(文件)菜单,然后选择Run(运行)选项,点击Browse(浏览)按钮,就会显示出一个在Windows分区中运行的应用程序的清单。

有兴趣的读者可以试试都有哪些应用程序能够以这种方式运行,或者也可以参考相关的网站。

下面我们将做一些更有趣的探索性工作。以超级用户身份登录,看是否能够通过Wine安装Windows应用程序,并运行它。我们直接到Download.com上找应用程序,这个网站上的游戏很多,我们就下载Solsuite2001吧。下载它的可执行文件solsuite.exe并保存在/dos中。退回到xterm窗口:

cd /dos

wine -winver win98 -managed solsuite.exe

我们会看到一条有关没有.wine目录的返回信息,创建一个.wine目录,并拷贝以超级用户身份创建的配置文件:

mkdir ~/.wine

cp /usr/local/etc/wine.conf ~/.wine/config

再次重复执行wine命令时,程序的安装向导就出现了,根据出现的提示将文件都拷贝到正确的目录中。但在最后,安装过程似乎停止了,但显示的信息表明,安装过程还需要的时间为0分0秒,使用Ctr+C键结束安装过程,然后输入下面的命令:

cd Program\ Files/SolSuite

wine -winver win98 -managed Solsuite.exe

哈哈!我成功地在FreeBSD中安装并运行了一个Windows应用程序。

那么在Windows 98中能够运行我们刚才在FreeBSD上安装的Solsuite2001吗?下面我们就来试试吧!重新启动计算机,让它运行Windows 98操作系统。点击“开始”菜单中的“程序”菜单项,我们会看到一个新的条目“Solsuite-Solitaire Card Games”,但它是空的,没有内容。进入文件管理器Explorer,依次双击“程序文件”和SolSuite选项,会发现所有的可执行文件都在这一文件夹中。然后依次双击Windows文件夹->开始菜单->程序->Solsuite,然后使用鼠标右键将SolSuite.exe文件拖到这一文件夹,出现一个菜单后,选择“创建快捷方式”。

现在再依次点击“开始”菜单->程序->Solsuite->SolSuite的快捷方式,这么样,程序又开始运行了吧!

下面我们来解决在只安装有FreeBSD的计算机上运行Windows应用程序的问题。首先我们需要以超级用户的身份创建一些Windows应用程序需要乃至的目录和空文件:

su

Password:

mkdir -p /usr/local/lib/win/windows

cd /usr/local/lib/win/windows

mkdir system

touch win.ini

cd system

touch shell.dll shell32.dll winsock.dll wsock32.dll

需要注意的是,我们必须修改/usr/local/etc/wine.conf中的Path一行内容,以便它能够指向安装点,这次它指向的是我们“假冒”的Windows目录,我们把它改成如下的内容:

[Drive C]

"Path" = "/usr/local/lib/win"

然后,我们创建恰当的目录,并将配置文件同时拷贝到超级用户和用户genisis的适当的目录中:

mkdir ~/.wine

cp /usr/local/etc/wine.conf ~/.wine/config

mkdir ~genisis/.wine

chown genisis ~genisis/.wine

cp /usr/local/etc/wine.conf ~genisis/.wine/config

我们两次以超级用户身份到Download.com上下载Solsuite2001,并将它保存在/usr/local/lib/win,然后启动XWindows,打开一个xterm窗口,并输入下面的命令:

cd /usr/local/lib/win

wine -winver win95 -managed solsuite.exe

Solsuite 2001的安装程序界面再次出现了。我们会收到一条有关找不到Explorer.exe的命令,不要理它。安装程序结束后,输入下面的命令:

cd Program\ Files/SolSuite

wine -winver win95 -managed SolSuite.exe

速度有些慢(可能与这台计算机比较旧有关吧),而且还需要对显示进行一些调节,但我们毕竟能够在只安装有FreeBSD的计算机上运行Windows平台上的应用程序了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有