在这里工作中,我们有一个用户使用一些专门的遗留软件,其开发人员很久以前就已经“肚子痛”了。
当试图将程序复制到其他系统(试图检查它是否在兼容模式下工作)时,我们从程序得到一个严厉的警告,告诉我们如果我们使用碎片整理或压缩工具,软件可能会失去“串行”。 据我所知,该软件正试图对硬盘内容(可能在该程序存储在哪个扇区)进行一些检查,以检查它是否是合法副本。
用户告诉我们,她喜欢这个程序,而现代的select是没有意义的(更不用说没有预算了)。
所以,我所看到的唯一的解决scheme就是虚拟化,但是我不知道它是如何处理低级磁盘访问的。 虚拟化过程是否创build了磁盘的逐字拷贝? 我必须使用特定的工具/设置吗?
到目前为止,我们的虚拟PC已经安装了VMWare(ESXi和Player),但是如果Virtuabox能够更好地工作,我们也是开放的。
*鉴于软件的年龄,可能整个开发团队现在“肚子痛”了。
在别的之前,我会启动一个Linux CD,并使用“dd”将整个硬盘驱动器从其他地方复制,最好是另一个更大的驱动器上的文件(例如,“dd if = / dev / hda of = / path /到/安装/ USB /驱动器/文件名“)。 这样,如果发生了一些愚蠢的事情,你就有追索权。
如果是MS-DOS,你看过像DOSBox这样的轻量级解决scheme吗? 它主要存在于现代硬件上玩旧的DOS游戏。 我无法看清文档,但是你也许能够在DOSBox中安装从dd创build的磁盘镜像文件。 如果你不能直接做,应该有一种方法来转换图像文件。
啊,它看起来像有工具来转换为VirtualBox dd输出,所以如果DOSBox不工作,那就是那个路线。 我相信VMWare将有一个类似的工具(search词可能是“隐藏原始图像到”(无论VMWare虚拟硬盘格式被称为)。
更新:
这里是DOSbox的工具: http : //www.dosbox.com/wiki/IMGMOUNT但我还没有尝试过,关于指定磁盘几何的所有事情让我觉得这可能是烦人的。
我同意CJC创build磁盘镜像的想法,但无论如何,您可能会遇到麻烦。
一)如果这是一个较旧的驱动器,它将有一个特定的磁盘几何(柱面,扇区,头),我不知道是否磁盘映像将工作转录到一个新的硬盘。 如果程序真的很老,而且search的是特定的扇区(顺便说一句,DRM是非常糟糕的),当把镜像放回新磁盘时,驱动器将不一定工作。
也就是说,如果你的驱动器出现故障,而不是用相同的驱动器或类似的东西代替它,那么你就是一条小溪。
B)如果你模仿和创build一个确切的副本,你正在使用的操作系统最好是相当通用的; 您的网卡,您的驱动器控制器,您的其他驱动程序将用于模拟环境,而不是物理PC。 如果我制作一台惠普电脑的图像,并将该图像放入戴尔,则无法工作; 新的系统将寻找匹配惠普的驱动程序。 除非操作系统是灵活的…现在,Linux发行版很less需要额外的驱动程序,因为系统的启动时间探测,Windows 可以改变一些东西,但如果它是一个低级别的驱动程序,就会有一些问题。
如果你幸运的话,你会得到操作系统启动到一个状态,你可以安装模拟环境的“正确的”驱动程序。 如果你不走运,它会崩溃或蓝屏。
如果您仍然想尝试,请先创build备份,以便可以恢复磁盘,并使用Linux磁盘将驱动器挂接到原始磁盘映像,然后使用Virtualbox的实用程序将原始磁盘转换为vhd图像,它可以读取并附加到一个新的虚拟机。 这将告诉你,它是否会与Virtualbox的工作; 这是我尝试的第一步。 确保你有第二个磁盘安装,可以容纳你正在成像的整个磁盘。
根据你的工作职责和你的时间价值,你可能最终不得不拖着你的用户踢,尖叫到使用一个支持,并在过去十年发布的程序。 否则,当真正的解决scheme可能是“不要这样做”的时候,你将花费数天的时间试图让这个宠物项目工作。