环境:WSL-Ubuntu 24.04 LTS

虚拟磁盘的使用

开发文件系统或者嵌入式系统时,有时希望使用嵌入式文件系统接口如 fatfs/littlefs 等。
其解决思路时,创建一个文件将该文件视为存储设备,通过系统 API 实现写入。这里使用 fat32 进行示范。

创建虚拟磁盘

创建空文件

执行下述命令将在工作目录下创建一个大小为 SIZE[Mb] 空文件

1
dd if=/dev/zero of=<filename> bs=1024 count=SIZE

格式化映像文件

1
2
sudo apt install dosfstools     #安装 fat 的格式化工具
mkfs.vfat <filename> #格式化该文件为 fat 文件系统

(可选)挂载文件系统

将其挂载至 linux 目录内,便于使用。

1
mount -o loop <filename> /mnt

如果出现类似错误:mount: /mnt/* : failed to setup loop device for /yourpath/*
记得 sudo…😓

现在应该就可以在 /mnt 文件夹访问这一虚拟磁盘了,想使用 UI 界面的话则可以通过 windows 的文件资源管理器访问。
类似的,也可以将其他文件系统映像传输至本地计算机来加载。

下载

这里提供一份个人使用的 POSIX C 读写虚拟磁盘 API 。

点此下载