在 GNU/linux 中创建一个 FAT 文件系统并将其保存到一个文件中?

eze*_*etl 7 linux filesystems vfat

我告诉你我的问题:我想创建一个 FAT 文件系统并将它保存到一个文件中,这样我就可以使用以下内容将它挂载在 linux 中:

sudo mount -t msdos <file> <dest_folder>
Run Code Online (Sandbox Code Playgroud)

也许我错了,这是不可能的。

无论如何,问题是这样的:我正在尝试创建包含 FAT 文件系统的文件,并且我正在运行以下命令:

sudo mkfs.vfat  -F 32 -r 112 -S 512 -v -C "test.fat" 100
Run Code Online (Sandbox Code Playgroud)

根据 mkfs 手册页,将创建一个具有 112 个 rootdir 条目、512 字节逻辑扇区大小、总共 100 个块的 FAT32 文件系统,并将其保存到“test.fat”中。

但它失败了,bash 告诉我:

mkfs.vfat: unable to create test.fat
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?我想我误解了 mkfs 的工作原理以及如何使用它。可以将文件系统写入文件吗?

小智 9

您有一个大小为 0 字节的文件。您只能在具有指定大小的文件上创建文件系统。

以下是如何正确执行此操作:

  1. dd if=/dev/zero of=fat.fs bs=1024 count=SIZE你想要多大的文件系统;将其指定为SIZE * 1024.
  2. mkfs.vfat fat.fs 将文件格式化为文件系统 FAT。
  3. mount -o loop fat.fs /mnt将 fat.fs 挂载到/mnt.

  • 如果您正在进行某种自动构建,那么 [this answer](/sf/answers/2085902381/) 也可能有用。 (2认同)