如何创建 80 磁道 1 头 FAT 格式的 360K 磁盘映像?

如何创建 80 磁道 1 头 FAT 格式的 360K 磁盘映像?

我需要使用(模拟)3.5 英寸 80 磁道 9 扇区/磁道单面软盘驱动器可读的格式来格式化软盘映像文件。

对于mformat,我不知道如何指定磁盘映像。该选项-i <disk image> ::不起作用(无论如何手册中都没有提及)。该手册提到了-C创建磁盘映像的选项,但没有提到它的使用方式,这是手册页中唯一提到“映像”一词的地方。

mkfs.fat不允许我指定头数。

我怎样才能创建这样的图像?

答案1

工具箱命令集的默认设置为/etc/mtools.conf可以~/.mtoolsrc通过导出MTOOLSRC指向配置文件的环境变量来覆盖它:

配置文件的位置
/etc/mtools.conf是系统范围的配置文件,并且~/.mtoolsrc是用户的私有配置文件。如果设置了环境变量MTOOLSRC,则其内容将用作第三个配置文件的文件名。这些配置文件描述了以下项目

因此,您只需准备一个空文件并将设置指向它即可。不需要 root 访问权限(至少在尝试 Debian 10 的 mtools 版本 4.0.23-1 时)。

图片大小:80*1*9*512=368640

使用dd:

dd if=/dev/zero of=/tmp/floppy.img bs=368640 count=1

(这也可以工作dd if=/dev/zero of=/tmp/floppy.img seek=368639 count=1 bs=1:)

$ file /tmp/floppy.img 
/tmp/floppy.img: data

~/.mtoolsrc覆盖软盘 A: 的位置:使用此条目创建或编辑文件:

drive a: file="/tmp/floppy.img"

更新:OP 需要它可以在 Makefile 中使用。在这种情况下,导出MTOOLSRC变量以指向具有上述内容的相关配置文件(如果需要,也可以动态创建)而不是使用~/.mtoolsrc更适合。

格式:

$ mformat -t 80 -h 1 -n 9 a:

检查结果:

$ file /tmp/floppy.img 
/tmp/floppy.img: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "MTOO4023", sectors/cluster 2, root entries 112, sectors 720 (volumes <=32 MB), Media descriptor 0xf8, sectors/FAT 2, sectors/track 9, heads 1, serial number 0x6649c47, unlabeled, FAT (12 bit)

# mount -o loop /tmp/floppy.img /mnt
#

相关内容