1. 问题

执行完语句

sudo mount -t ext3 fs.ext3 /myfs -o loop

报了如下的错:

在这里插入图片描述

  1. 解决方法

    看报错只要提示了两个方面:

    (1): wrong fs type, bad option, bad superblock on /dev/loop0,

    第一个报错:我百度了试了很多方法都不行,最后我猜测是不是我的虚拟机设置的不合适,然后开始重新装虚拟机,但是重新装了之后还是有问题,百思不得其解,于是根据提示使用 dmesg | tail 查看信息

    (2): EXT4-fs (loop0): VFS: Can’t find ext4 filesystem

    第二个报错:百度之后说是:这次问题的根本原因是在没有创建文件系统的情况下就去mount,导致内核中sb(super_block)结构体中字段为空,打印出错信息(原文链接:https://blog.csdn.net/dahuang1016/article/details/108402271)

    回顾上面的几条命令

    dd if=/dev/zero of=fs.ext3 bs=1M count=32
    mkfs -t ext3 fs.ext3
    mkdir /myfs
    

    首先"mkdir /myfs"不可能出错,因为 只是新建了一个文件夹,而且mkdir 也没有报错,

    接下来是上一句“mkfs -t ext3 fs.ext3”, 我当时的执行结果如下所示:

在这里插入图片描述

命令行提示 “Proceed anyway? (y, n)” 然后我就直接回车了,我当时的理解是回车就是默认选项,既然不知道应该选y还是n, 那么默认因该就是最保险的做法。但从后面的结果来看,这里回车键并不是选择y,而是直接退出。也就是这条指令退出执行,那么就相当于没有执行这条指令,所以后面“sudo mount -t ext3 fs.ext3 /myfs -o loop” 会报错。

​ 所以到“Proceed anyway? (y,n) ” 再后面输入’y’后,再回车就可以顺利执行。最终结果如下图所示:至此问题得到解决。

在这里插入图片描述

  1. 分析

    这个问题是出现在一次实验之中,由于前面有很多步骤,这只是其中的一部分步骤,所以当时做的时候很着急,只是回车回车再回车,只要不报错就一直往下做,刚开始报错的时候,我没有用“ dmesg | tail ”,去查看更加具体的原因,只是着力于分析“ wrong fs type, bad option, bad superblock on /dev/loop0”,所以在这卡了很久。

  2. 收获

    以后不能太急躁,要一步一步确认好再往下做,不然后面出错,可能都不知道是哪里出错了。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐