如何创建一个大小为 10M 的文件,用 ext3 文件系统格式化它,然后将其挂载到 /media/fuse 中?
我尝试过
mkfs -t ext3 file
然后安装它
mount -t ext3 file /media/fuse
它不起作用,因为它说该文件不是块设备。有人能帮帮我吗?
答案1
您的步骤是正确的,但是在将文件映像挂载为文件系统时,您必须-o loop
在mount
命令中添加选项:
mount -t ext3 -o loop file /media/fuse
此外,该-t ext3
选项不是严格要求的,因为mount
可以自动确定文件系统类型。
答案2
我尝试应用上一个答案中的步骤和评论。但仍然需要一些工作才能弄清楚,因此我为后来者添加了另一个答案。
以下过程创建一个名为 的本地文件file
并将其挂载到名为 的本地目录中mounted_file
。
- 使用例如创建固定大小的文件
这将创建一个大小为 100 乘以 1000 字节(100 kB)且内部填充为零的文件。dd if=/dev/zero of=file bs=1000 count=100
- 使用所需的文件系统对其进行格式化,创建一个目录,挂载它,并获取使用它的权限(所有者是 root):
mkfs.ext3 file mkdir mounted_file/ sudo mount -o loop file mounted_file/ sudo chmod -R 777 mounted_file/
-o loop
现在 该参数是可选的。 - 事后清理:
sudo umount mounted_file/ rmdir mounted_file/ rm file
用于mkfs.ext3 -n file
查看将要创建的文件系统的详细信息。如果需要,可以更改块大小( -b block-size
)和 inode 数量( )。-N number-of-inodes
请注意,我们也可能耗尽 inode(文件和目录的总数)而不是磁盘空间,这通常不会明确传达。
答案3
就我个人而言,我更喜欢使用truncate -s 10M filename
(然后是 mkfs),因为 truncate 可以动态扩展,不像 fallocate 或 dd,而且还可以调整大小(或缩小),而不会使用 losetup 和 resize2fs 损坏数据。当然,它可以作为文件系统安装。
请参阅此处了解更多详细信息:https://unix.stackexchange.com/a/698656/346155