创建 Windows 98 虚拟机

创建 Windows 98 虚拟机

今天我在我的档案中发现了一个DRVSPACE.000文件,我想恢复它的内容。文件旁边有一行READTHIS.TXT字:

该磁盘使用 DriveSpace 3 压缩,需要 Windows 98。

要使用此磁盘,您必须先安装它。要安装它:

   1. 从 Windows 98 开始菜单中选择“运行”,运行 DriveSpace。     
      然后输入DRVSPACE。

   2. 在 DriveSpace 中,单击包含此磁盘的驱动器,单击  
      高级菜单,然后单击装载。

(如果此文件位于包含  
磁盘,则压缩驱动器已经安装)。

要自动安装所有可用的压缩驱动器,请单击高级菜单,  
单击“设置”,然后选中“自动挂载新的压缩驱动器”框。

重要提示:要安装和使用此压缩磁盘,您必须运行 Windows 98。
  • 我目前正在运行 Windows 7 x64。

  • 我怀疑 Windows 98 能否在这台机器上安装

  • 我认为我没有 Windows 98 CD 可以安装

我找到了一系列使用 Windows 98 启动盘打开此卷的说明,但即使我能找到启动盘映像,我也没有软盘驱动器。

是否有一个实用程序可以用来从该压缩图像中提取文件?

(如果有关系的话,该文件只有 15 MB。)

答案1

我知道这是一个非常老的问题,但解决方案非常简单。您不需要完整的 win98 安装即可获取数据。您只需要获取 win98 EBD 磁盘映像。(紧急启动盘)

您还需要某种虚拟机设置,例如 VMware、Qemu 或 Bochs。

首先——在您选择的虚拟机软件中,创建两个新的磁盘映像。第一个需要能够容纳您的 drivespace3 压缩卷的未压缩内容。第二个需要比 .000 文件大 2mb。第一个可能应该格式化为 FAT32,第二个必须格式化为 FAT16。

很好。现在使用类似 winimage 的程序将 .000 文件复制到 FAT16 磁盘映像中。

将虚拟机设置为从 EBD 启动,并挂载两个磁盘映像文件。使用 FAT16 卷作为主卷,使用 FAT32 卷作为辅卷。

在 EBD 上启动虚拟机。它会询问您是否需要 CDROM 支持。这取决于您。完成后,它会将您留在 DOS 提示符下。

使用 scandisk 的“未记录的”功能安装 .000 文件。

A:\>Scandisk /mount C:\drvspace.000

保存 drvspace.000 的未压缩磁盘映像现在是隐藏的主驱动器 H,而驱动器 C 现在是使用 drvspace.000 文件的容器。

A:\>C:

C:\>DIR

看到所有文件了吗?如果是,很好。如果没有,请尝试查找尚未删除 DRVSPACE.BIN 的 EBD。(有些人会删除它,因为它会占用大量常规内存,并且是可选的。在这种情况下,我们需要它。)

使用 XCOPY 将文件从 C 盘复制到未压缩的 D 盘。

C:\>A:\xcopy /e C:\*.* D:\

等待文件复制过程完成。

关闭虚拟机。使用 Winimage 或其他任何工具打开 FAT32 磁盘映像。将现在未压缩的文件拉出并放在安全的地方。

答案2

再次,这个问题确实很老了,但我目前有一个类似的任务,因为我想从 DoubleSpaced 3.5 英寸软盘中恢复一些未知内容。

就像 Techie007 已经建议的那样,7ZIP 能够读取 DBLSPACE.000 文件。在 Ubuntu 16.04 下测试

7z x DBLSPACE.000

没有虚拟机。没有可疑的软件来源。

答案3

我找到了一个对我有用的解决方案,我想在这里详细介绍一下,希望它能对任何人有所帮助。非常感谢 Mr.Wizard、Wierd_w 和 patrickvacek 的帖子,它们提供了重要的信息。

我的设置包括一台 Arch Linux 机器,它托管 VirtualBox,Windows 98 虚拟机将在该机器上运行。我还利用 Windows 10 机器创建并读取 FAT32 格式的 VHD(Windows 7 可能就足够了)。我想要访问的驱动器空间压缩磁盘是旧的 100M Zip 磁盘。我购买了一个 USB zip 驱动器,并将其安装在 Linux 机器上。我相信可以在一个平台或另一个平台上完成整个过程,并根据需要进行调整,但这就是我的做法。

我没有使用 Wierd_w 提到的 winimage 工具,也没有使用 scandisk /mount。我最初得到了 patrickvacek 提到的准确错误消息,他关于 drvspace.ini 的线索至关重要。解决该问题的方法是创建一个包含 Win98 启动盘内容的可启动虚拟 c: 驱动器,并在 c: 中创建一个 drvspace.ini。然后,在启动 VM 时,将自动安装包含驱动器空间磁盘内容的 VHD。

以下是对我有用的详细过程。它特定于我的设置,但应该很容易适应。

创建 Windows 98 虚拟机

  • 下载 Windows 98 启动盘映像,我在这里得到它: http://www.allbootdisks.com/downloads/Disks/Windows_98_Boot_Disk_Download49/Diskette%20Images/Windows98_SE_No_Ramdrive.img

  • 在 VirtualBox 中创建一个新的 VM 来托管 Windows 98

  • 创建新的虚拟 IDE 驱动器作为主驱动器,这将成为启动驱动器(例如 win98.vdi)
  • 创建新光驱作为辅助主驱动器
  • 将 Windows 98 iso 加载到光驱中
  • 确保启动顺序包括光驱在硬盘之前
  • 启动虚拟机,它应该从光驱启动
  • fdisk 为 c: 启动驱动器创建一个新的分区
  • (1)创建 DOS 分区,(1)创建主 DOS 分区,(Y)使用最大大小,退出 fdisk [ESC],[ESC],[ESC]
  • 重启虚拟机
  • 格式化启动驱动器(/S 使其可启动)

    format c: /S /V:win98
    
  • 将文件从 Win98 光驱复制到 C: 启动驱动器(对我来说,光驱安装为 r:)

    xcopy r: c: /S /E /V
    
  • 关闭虚拟机

  • 从光驱中删除 Windows 98 iso
  • 启动虚拟机,它现在应该从硬盘启动

  • 需要 c:\ 中的 drvspace.ini 文件才能从 c:\ 安装驱动器空间压缩驱动器

    edit drvspace.ini
    
  • 添加下面一行,保存退出

    ActivateDrive=E,D0
    
  • 更多信息请参见:http://www.vfrazee.com/ms-dos/6.22/help/drvspace.htm

对于每个压缩磁盘

VM 存储将按如下方式设置:

  • IDE Pri Master:win98.vdi(启动盘)
  • IDE Pri Slave:enc_001.vdi(从 CD iso 复制的驱动器空间映像)
  • IDE Sec Master:001.iso(包含压缩的 zip 驱动器映像的 CD iso)
  • IDE Sec Slave:unenc_001.vhd(未压缩的 zip 映像的目标位置)

iso 用于将驱动器空间磁盘内容放到 enc_001.vdi 上。vdi 和 vhd 磁盘是针对每个要解密的磁盘创建的。

Linux 机器上的 Zip 驱动器

  • 插入 USB zip 驱动器
  • 插入磁盘

  • 找到 zip 驱动器设备(例如 /dev/sdf4)

    lsblk
    
  • 安装 zip 驱动器

    sudo mount -o gid=users,fmask=113,dmask=002 /dev/sdf4 /media/guest
    
  • 将 zip 内容(drvspace.000)复制到本地文件夹

    rsync -av /media/guest/ /media/bass/bu/zip_drive/012/zip_img
    
  • 卸载 zip 驱动器

    sudo umount /media/guest
    
  • 从本地 zip 驱动器文件夹创建 iso

    genisoimage -V "001" -J -r -o 001.iso ./zip_img
    

在 Windows 计算机上为未压缩的文件创建 VHD

  • 打开磁盘管理控制台
  • 操作 | 创建 VHD
  • unenc_001.vhd,300MB,VHD 格式,固定大小
  • 初始化磁盘,MBR
  • 创建新的简单卷,格式化FAT32
  • 分离 VHD
  • 将 unenc_001.vhd 复制到 Linux 机器

在 VirtualBox 中设置虚拟机的驱动器

  • 为压缩内容创建新的虚拟硬盘,并将其设置为 IDE 主从设备:VDI,固定大小 103.03 MB,命名为 enc_001.vdi
  • 为上面创建的未加密内容添加 VHD(例如 unenc_001.vhd),并将其设置为 IDE 辅助从属设备
  • 将上面的 iso 映像加载到虚拟光驱中(例如 001.iso)

IDE 存储现在应该是:

  • IDE Pri Master:win98.vdi(启动盘)
  • IDE Pri Slave:enc_001.vdi(驱动器空间映像的目标)
  • IDE Sec Master:001.iso(包含要解压缩的驱动器空间映像的 CD iso)
  • IDE Sec Slave:unenc_001.vhd(未压缩的 zip 映像的目标位置)

启动虚拟机,并在虚拟机中:

  • fdisk,启用大块 Y
  • (5)更改驱动器,(2)选择 100M 驱动器(enc_001.vdi)
  • (1)创建 DOS 分区,(1)创建主 DOS 分区,(Y)使用最大大小,退出 fdisk(ESC),(ESC),(ESC)

下一个

  • 重置(重启)虚拟机
  • 格式化 enc_001.vdi 分区

    dir d: should give invalid media error (abort)
    format d: /V:enc_001, (Y) proceed
    dir d: should now show empty 100M drive
    
  • 检查 unenc_001.vhd 是否已安装

    dir e: should show empty 300M drive
    
  • 检查 iso 映像是否已安装:

    dir r: should show drvspace.000 and readthis.txt files
    
  • 从 CD iso 复制 zip 映像

    xcopy r: d: /S /E /V
    
  • 重置虚拟机

  • 在虚拟机中,现在应该已安装并可访问驱动器空间驱动器

    dir d: should show zip drive contents (!)
    dir e: should show empty 300M drive
    dir f: is the compressed drivespace drive, but shows only readthis.txt
    
  • 将未压缩的 zip 内容复制到 unenc_001 VHD

    xcopy d: e: /S /E /V
    
  • 关闭虚拟机

  • 将 unenc_001.vhd 复制到 Windows 计算机

在 Windows 机器上

  • 打开磁盘管理控制台
  • 操作 | 附加 VHD (unenc_001.vhd)

  • 现在可以从已安装的卷访问未压缩的文件

请注意,对于我来说,Windows 长文件名没有保留,它们显示为 8.3 名称,如 longna~1.txt。我没有继续查看长名称是否仍能以某种方式访问​​。如果有人知道,我很想知道。

无论如何,正如 Wierd_w 所说,解决方案非常简单。现在来仔细阅读我 15 年前的文件。

答案4

这就是我能够进入 DBLSPACE.000 文件的方法。我在 Ubuntu 上尝试了 7Zip,它开始获取前几个文件,然后出现错误并停止。

我有一台安装了 Windows Me 的物理机器,我还将 Windows 98SE 放在一个单独的硬盘上,并添加了“通用”USB 驱动器支持。操作说明很容易找到。

关键是要获得一个小型 USB 闪存驱动器,并在 Linux 上使用 gparted 将其格式化为 FAT 或 FAT 16,不是FAT32。驱动器应为 2 GB 或更小,但至少比 DBLSPACE.000 文件稍大。将 DBLSPACE.000 放在 FAT 格式的驱动器上。然后您可以将其插入 Windows 98 或 Windows ME 计算机。Windows 98 必须使用 Drivespace 3 安装,在 Windows ME 上它会自动安装。然后,您可以将文件复制到硬盘驱动器或直接复制到另一个 USB 驱动器。

正如我所说,我在物理机上成功完成了此操作,但它也应该适用于虚拟机,并且主机允许您访问 USB 端口。这仍然比设置第二个 VHD 并将 DBLSPACE.000 放入其中更容易。

相关内容