创建一个虚拟软盘映像而无需挂载?

15

有很多文章介绍如何创建虚拟软盘映像文件,要么是作为超级用户,要么是允许用户运行sudo命令。基本步骤如下:

  1. 使用dd命令创建一个空的1.44MB映像文件
  2. 使用mkfs.msdos格式化映像文件
  3. 将映像文件挂载到某个挂载点
  4. 复制一些内容到挂载点
  5. umount 虚拟软盘映像文件

我的问题是,如果我只是普通用户而不能运行sudo命令,我该如何按照上述步骤创建虚拟软盘映像并在其中写入内容?

非常感谢。

1个回答

30

当然可以这样做。对于FAT文件系统,使用mtools,对于ext2文件系统,使用e2toolsgenext2fs

$ dd if=/dev/zero of=/tmp/disk1.img count=1440 bs=1k 
1440+0 records in
1440+0 records out
1474560 bytes (1.5 MB) copied, 0.00569719 s, 259 MB/s

$ /sbin/mkfs.msdos /tmp/disk1.img 
mkfs.msdos 3.0.12 (29 Oct 2011)

$ mdir -i /tmp/disk1.img
 Volume in drive : has no label
 Volume Serial Number is 9913-BFF6
Directory for ::/

No files
                          1 457 664 bytes free

$ mcopy -i /tmp/disk1.img /etc/issue.net ::/
$ mdir -i /tmp/disk1.img
 Volume in drive : has no label
 Volume Serial Number is 9913-BFF6
Directory for ::/

issue    net        28 2012-06-26  10:49 
        1 file                   28 bytes
                          1 457 152 bytes free

当然,我没有root权限。


尽管mdir命令对我无效,但mcopy有效。谢谢。 - Congbin Guo
1
非常优雅简洁的解决方案。它非常有效地制作了一个用于VirtualBox DOS 6.22镜像的图像。 - kuzavas
如何使它可启动? - Blub
@Blub:例如使用FreeDOS进行此操作。 - Igor Chubin
对于DOS文件系统,您可以将映像/文件系统创建与mkfs.msdos -C /tmp/disk1.img 1440结合使用。其中-C将“在命令行上给出的文件创建为设备”。 - David C. Rankin
你不需要使用 mkfs.vfat。mtools 包含了一个 mformat 命令。 - ssokolow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接