当前位置: 首页
系统平台
如何在FreeBSD系统上运行Windows软件的详细完整操作教程

如何在FreeBSD系统上运行Windows软件的详细完整操作教程

热心网友 时间:2026-06-18
转载

FreeBSD 最吸引人的特性之一,就是在一台双启动电脑上,无需退出当前系统就能自由访问其他操作系统的分区数据。成功挂载其他分区后,读写甚至删除文件都变得十分便捷。有些读者可能会好奇:既然能访问文件,那能不能直接在 FreeBSD 中执行其他分区里的可执行程序呢?如果另一个系统是 Windows,并且已经安装了 Wine(一套用于运行 Windows 应用的兼容层),那么许多 Windows 程序都可以顺利运行。

本文要探讨的是:如何在一台仅安装了 FreeBSD、硬盘上甚至没有 Windows 分区的机器上,通过配置 Wine 来运行 Windows 软件。我们将使用两台机器进行演示:第一台是 Windows 98 与 FreeBSD 4.3 双启动,第二台只安装了 FreeBSD 4.3。首先从安装 Wine 开始,全程使用超级用户权限操作:

su
Password:
cd /usr/ports/emulators/wine
make install clean

安装完成后,需要检查内核配置文件是否包含了 Wine 必需的选项。同样以超级用户身份进入内核配置目录:

cd /usr/src/sys/i386/conf
cp GENERIC WINE

然后使用文本编辑器打开 WINE,确认以下四个选项都包含在内:

options USER_LDT
options SYSVSHM
options SYSVSEM
options SYSVMSG

在 FreeBSD 4.3 中,三个以 SYS 开头的选项默认已经存在,只需手动添加 USER_LDT。如果添加了新选项,请保存修改并重新编译内核:

/usr/sbin/config WINE
cd ../../compile/WINE
make depend && make && makeinstall && reboot

最后一行实际上串联了四个命令,&& 确保只有前一条命令成功执行后才会执行下一条。如果其中包含 reboot,务必确认没有其他用户正在使用系统。

Wine 安装成功后,相关文档会存放在 man 1 wine/usr/local/share/doc/wine 中。对于初次接触 Wine 的用户来说,这份文档非常值得仔细阅读。

先以双启动机器为例。在这台机器上运行 Wine 需要完成三个步骤:

1. 找到并挂载 Windows 分区。
2. 配置 Wine 的配置文件。
3. 测试能否运行 Windows 程序。

由于已经使用 FreeBSD 一段时间,先用 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 退出。Windows 安装在 ad0s1(FAT 格式)。接下来创建挂载点:

mkdir /dos

检查权限:

ls -l / | grep dos
drwxr-xr-x 2 root wheel 512 Aug 31 13:07 dos

所有用户都拥有读和执行权限,但只有 root 能写入。在正式将挂载信息写入 /etc/fstab 之前,先手动挂载进行验证:

mount -t msdos /dev/ad0s1 /dos

注意文件系统类型指定为 msdos。挂载成功后,使用 df -h 确认:

Filesystem Size Used A vail 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 查看分区内容(-F 会在目录名称后加 / 以便区分):

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*

如果之前没有挂载过其他系统的分区,可以花几分钟熟悉一下 cdls 的用法。FreeBSD 对大小写敏感,文件名中包含空格时可以使用 Tab 键自动补全,或者用反斜杠转义,例如 cd Program\ Files

要让 Windows 分区在开机时自动挂载,可以谨慎地向 /etc/fstab 添加以下行:

/dev/ad0s1 /dos msdos rw 0 0

请注意分区名不要写错。修改完成后,使用 shutdown now 重启并验证:

shutdown now

再次回到提示符时按回车,执行 exit,登录后运行 df -h 确认分区已挂载。

接下来编辑 Wine 配置文件 /usr/local/etc/wine.conf。默认配置通常可以正常工作,我们只需修改需要匹配的部分:

WINE REGISTRY Version 2
;; All keys relative to \\Machine\\Software\\Wine\\Wine\\Config
[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"

[Drive C] 下的 "Path" 修改为实际挂载点(本示例中为 /dos):

"Path" = "/dos"

保存修改。注意:每个用户还需要在自己的主目录下拥有一份配置。以超级用户身份,为用户 genisis 进行准备:

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

拷贝时顺手将文件名改为 config。退出超级用户,以普通用户 genisis 的身份启动 X Windows:

startx

打开 xterm,找一个 Windows 程序进行测试。首先进入 Windows 目录:

cd /dos/WINDOWS
ls | more

注意到存在 PROGMAN.EXE(Windows 程序管理器),使用 Wine 运行它:

wine -winver win98 -managed PROGMAN.EXE

几秒钟后,程序管理器成功启动。点击 File → Run → Browse,即可浏览 Windows 分区中的其他可执行文件。

有兴趣的话可以尝试运行更多程序,或者参考 Wine 官方的应用程序兼容性列表。

接下来做一件更有趣的事情:直接通过 Wine 安装一个 Windows 应用程序。前往 Download.com 寻找一个游戏,例如 Solsuite2001,下载可执行文件 solsuite.exe 并将其放入 /dos 目录。回到 xterm:

cd /dos
wine -winver win98 -managed solsuite.exe

系统提示找不到 .wine 目录。创建该目录并复制配置文件:

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

再次运行 Wine,安装向导便出现了。按照提示将文件复制到正确的目录。安装接近尾声时,进度条停留在“剩余 0 分 0 秒”,按 Ctrl+C 终止,然后执行:

cd Program\ Files/SolSuite
wine -winver win98 -managed Solsuite.exe

成功了。Windows 程序在 FreeBSD 上顺利运行了起来。

那么,这个在 FreeBSD 上安装的 Solsuite,能否在 Windows 98 中运行呢?重启并进入 Windows,点击“开始”→“程序”,会出现一个新条目“Solsuite - Solitaire Card Games”,但其中是空的。打开资源管理器,依次进入 Program Files → SolSuite,所有可执行文件都在。再进入 Windows → 开始菜单 → 程序,新建一个名为 Solsuite 的文件夹,将 SolSuite.exe 用右键拖进去,选择“创建快捷方式”。返回“开始”→“程序”→“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 中的 [Drive C] 路径:

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

然后分别为 root 和普通用户 genisis 创建 .wine 目录并拷贝配置:

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 目录。启动 X Windows,打开 xterm:

cd /usr/local/lib/win
wine -winver win95 -managed solsuite.exe

安装向导再次出现,会提示找不到 Explorer.exe,忽略即可。安装完成后:

cd Program\ Files/SolSuite
wine -winver win95 -managed SolSuite.exe

运行速度有些慢(可能是机器较老的缘故),显示效果也需要调整,但确实——在一台只安装了 FreeBSD 的机器上,我们成功运行了 Windows 平台的应用程序。

来源:https://www.jb51.net/os/Unix/1470.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
微软详解Win11时间点还原 默认每24小时创建恢复点

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

时间:2026-06-30 07:39
Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

时间:2026-06-30 07:39
Win11六月可选更新KB5095093修复回收站弹窗异常

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

时间:2026-06-30 07:39
苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

时间:2026-06-30 07:38
微软加速Win11 25H2推送 覆盖所有符合条件家用PC

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送

时间:2026-06-30 07:38
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜