![当我在没有 CD 驱动器的上网本上虚拟安装 CD 时,如何告诉 Wine 我已经更换了 CD?](https://linux22.com/image/1103970/%E5%BD%93%E6%88%91%E5%9C%A8%E6%B2%A1%E6%9C%89%20CD%20%E9%A9%B1%E5%8A%A8%E5%99%A8%E7%9A%84%E4%B8%8A%E7%BD%91%E6%9C%AC%E4%B8%8A%E8%99%9A%E6%8B%9F%E5%AE%89%E8%A3%85%20CD%20%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E5%91%8A%E8%AF%89%20Wine%20%E6%88%91%E5%B7%B2%E7%BB%8F%E6%9B%B4%E6%8D%A2%E4%BA%86%20CD%EF%BC%9F.png)
我一直在尝试通过 Wine 来玩一些适合我的小型 Aspire One 上网本的旧游戏。
我遇到了一个问题博德之门,但是,我无法更换 CD。
显然,我没有 CD 驱动器,因此我将 CD 内容复制到了外部硬盘驱动器上,并使用mount
带有 loopback 选项的命令来让游戏相信 CD 已存在。这样安装就可以正常工作,并且可以正常运行并播放第一张 CD 中的内容。但是,当游戏要求 CD2 时,我就卡住了。
如果我将 CD2 ISO 安装到 CD Rom 路径,它似乎没有响应,无论我是否先卸载了 CD1。当我要求 Wine 显示 CD 驱动器时,它包含正确的数据,但似乎 Windows 会解释为表示 CD 驱动器已关闭的任何信号都没有被发送。
有人知道怎样做吗?或者我是不是走错了方向,还需要做其他事情吗?
答案1
我之所以找到这个帖子,是因为我遇到了同样的问题。这可能不适用于所有人,但对我来说却有效。(我在主目录中创建了一个名为 /virtualdrive/Drive0 的文件夹)此外,我在玩其他游戏时也遇到了这个问题,但我认为它适用。
安装 iso # 1
sudo mount -o loop AOMG_D1.iso ~/virtualdrive/Drive0
运行游戏安装程序,点击安装。它加载到 32% 左右,然后要求 iso # 2。不要尝试弹出或卸载第一个 iso,只需使用相同的命令安装 iso # 2。我认为这会创建一个随机驱动器号并自动映射 wine 中的安装路径。
安装 iso # 2
sudo mount -o loop AOMG_D2.iso ~/virtualdrive/Drive0
此时您应该等待 5-10 秒,然后系统会继续安装。如果没有,请尝试在提示插入下一张光盘时按“OK”。
我实际上非常惊讶这个方法有效。
答案2
我现在无法测试,但我认为你需要使用命令wine eject
(http://wiki.winehq.org/eject)
答案3
这里有一个教程介绍了这一点: http://wiki.winehq.org/Infinity_Engine_Games
您可以先尝试页面底部的解决方案(“AnotherAlternativeToInstall”),因为它似乎需要的步骤较少。
还有一些具体的事情人们在安装和运行的条目中做了博德之门的 winehq。