Windows 游戏拒绝保存任何游戏,因为它声称没有可用磁盘空间。我在 winecfg 中使用过 XP 和 98 模式,这是一个 32 位 wineprefix (至少,我很确定它是;不知道如何确认)。我怀疑这是一个最常见的问题,即拥有超过 2GB 的可用空间,当我们使用 OS/2 时,我们曾经有一个小的修复脚本,并且有 DOS 程序遇到了问题。有没有办法让 Wine 宣布比实际少的磁盘空间?
编辑版本号:Debian 测试(Stretch),由 Debian 分发的 Wine 1.8.5。
答案1
由于对 Wine 没有太多了解,我会解决这个问题,让程序满意并给它一个小于 2 GB 的磁盘。
这很简单。首先,创建一个用 0 填充的文件,大小为 512 MB(或更大,但小于 2048):
dd if=/dev/zero of=smalldisk.img bs=1M count=512
接下来,使用默认文件系统对其进行格式化:
mkfs smalldisk.img
将现有目录移动到临时名称:
mv .wine-demo .wine-demo-orig
将新磁盘作为循环设备安装在原始位置:
sudo mount smalldisk.img .wine-demo
sudo chown your-user-name: .wine-demo
将整个树复制到:
cp -r .wine-demo-orig/* .wine-demo
并从那里运行程序。如果它仍然不起作用,那么您将需要不同的解决方案。
(不幸的是,它有可能无法工作。如果它不能处理 2 GB 的磁盘空间,它可能也不能处理 2 GB 的 RAM...)
如果它有效,我建议您卸载它并将其放入您的/etc/fstab
:
/path/to/smalldisk.img /path/to/mount ext4 auto,noexec,rw,loop,fmask=0177,dmask=0077,user 0 0
在这一行中fmask
, 和dmask
是文件和目录的掩码权限。请注意,它们与您使用的相反chmod
。也就是说,7
代表没有权限(---
) 和0
代表完全权限(wrx
)。在这里阅读更多内容:fstab 权限掩码解释。