在 Linux 上安装 90 年代中期 486 机器上的旧 DOS 硬盘时遇到问题

在 Linux 上安装 90 年代中期 486 机器上的旧 DOS 硬盘时遇到问题

我正在尝试安装 90 年代中期 486 的旧硬盘以进行文件恢复。主板 (Asus P5QL PRO) 可以正确识别硬盘 (Matrox 7850 AV),但无法在 Slacko Puppy Linux 或 Parted Magic 中安装。

udevil: error 64: unable to determine device fstype

fdisk -l正确列出驱动器的大小并将文件系统标识为OnTrack DM6

顺便说一句,有问题的 486 机器仍然运行,并且硬盘似乎运行良好。

非常感谢您的帮助!

答案1

OnTrack DM6 是一款磁盘管理器,用于在 BIOS 无法处理大型磁盘的时代支持它们。这里有一些可以尝试的东西,建议此主题

  • 连接硬盘
  • 打开电脑电源或重新启动,具体取决于您所在的位置...
  • 在 grub 菜单e按编辑行
  • 将光标移至队伍的尽头开始于linux /vmlinuz....
  • 根据系统上的显示情况添加选项 hdX=remap63 或 sdX=remap63
  • 按下Ctrl+X以使用修改后的行启动

应该然后就能正确读取旧驱动器的分区表。

如果这有效,那么您每次都需要更改 grub 配置以包含该选项。这一页是关于如何更改 grub 配置的一个很好的起点。

答案2

我偶然发现了这个帖子,想寻找答案。我终于设法从我的旧驱动器访问数据,因此如果有人需要使用 Ontrack DiskManager DM6(remap现已从内核中删除)安装旧磁盘:

  1. 在可以访问古老 IDE 驱动器的旧计算机上,复制整个磁盘,例如/dev/sdb,使用以下命令:

    sudo dd if=/dev/sdb of=disk.raw

    为了方便起见,您可以将原始图像复制到普通桌面。

  2. 跳过前 63 个扇区进行挂载。假设每个扇区 512 字节:

    sudo losetup --partscan --find --show -o 32256 disk.raw

  3. 检查一下sudo fdisk /dev/loop0 -l,您应该能够看到所有分区,名为 /dev/loop0p1 等等。

  4. sudo mount /dev/loop0p1 /mnt/mountpoint您将获得挂载点中的第一个分区。

当然,您可以尝试在不制作磁盘映像的情况下安装它(通过跳过 1)。

答案3

我能够使用蛮力安装我拥有的 25 年历史的硬盘的两个分区。磁盘太旧了,无法fdisk -l列出分区,它只将整个磁盘列为一个类型为 的分区OnTrackDM6。没有找到访问它的方法,所以我以 root 身份运行以下命令。

首先,我将硬盘转储到一个文件中,这样数据就被拯救了,而我不必使用古老的机器:

ddrescue /dev/sdb hda.img hda.map

然后我扫描整个磁盘,尝试挂载每个 512 字节偏移量:

mkdir hda1
seq 0 512 1089994752 | while read f; do
  echo $f;
  mount hda.img hda1 -o ro,offset=$f && break;
done

hda1/第一个分区在几秒钟内就挂载好了。在我将所有文件复制到另一个位置后,我卸载了hda1/,将 的第一个参数增加seqhda1 中文件的字节数,向下舍入到最接近的 512 的倍数(第一个参数必须seq能被 512 整除,或者fdisk -l报告扇区大小的任何值),然后再次运行它。它在 5-10 分钟左右找到了下一个分区,我能够在卸载磁盘之前将所有文件复制到另一个位置,然后忘掉它。

答案4

您必须使用以下方式指示文件系统类型-t

sudo mount -t vfat /dev/sdxx /media/path/to/mount

如果不起作用,请尝试fatmsdos然后umsdos

相关内容