一个操作系统的实现sudo mount -o loop pm.img /mnt/floppy mount point /mnt/floppy does not exist losetup device is busy


部分参考:https://blog.csdn.net/u012323667/article/details/79266623

 

 

 

 

一.

sudo mount -o loop pm.img /mnt/floppy

会出现了错误

mount point /mnt/floppy does not exist

直接创建文件夹就好了。好像不需要下面的losetup操作 OxO

 

 

二.

先创建文件夹

 

 

 

然后
sudo losetup /dev/loop0 pm.img  创建loop设备,然后操作loop设备,就是对pm.img数据的操作了

 

 

sudo mount /dev/loop0/ /mnt/floppy loop设备挂载到/mnt/floppy上

 

 

然后

 sudo cp pmtest2.com /mnt/floppy/ 赋值

然后卸载

sudo umount /mnt/floppy/

 

之后再做一次遇到问题

 

 解决,卸载

 

 另外发现了 sudo cp pmtest2.com /mnt/floppy/ 赋值并不是覆盖。也就是说cp了先cp了pmtest1.com,然后不格式化(format b:),直接cp  pmtest2.com,那么两个程序都可以运行。

如图

 

 

 

另一个错误,没有遇到。

姑且记录一下。

解决方案如下

转载自   https://blog.csdn.net/judyge/article/details/52346963

mount 您必须指定文件系统的类型

sudo mount -o loop pm.img /mnt/floppy/mount

 

mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error

In some cases useful info is found in syslog - try
dmesg | tail or so.

 

 

进行挂载。
    岂料,终端提示说“mount: 您必须指定文件系统类型”,我在想,既然bximage是用来生成软/硬盘映像的,应该能认出文件系统才对。抱着怀疑的态度,用file命令看了看pm.img,显示的是data。于是知道问题所在,用bximage生成了pm.img以后,还需要对其进行格式化,步骤如下:


1、写入空白内容:

dd if=/dev/null of=pm.img bs=512 count=1 conv=notrunc

2、使用 losetup 命令,将 data.img 作为 loop device 使用:

sudo losetup /dev/loop0 pm.img

3、然后,格式化这个 loop device:

sudo mkfs.msdos /dev/loop0

4、检查文件系统:

sudo fsck.msdos /dev/loop0

5、删除 loop device:

sudo losetup -d /dev/loop0

这时候,pm.img 已经格式化完成,可以作为一个软盘镜像使用。用file查看,结果为:

pm.img: DOS floppy 1440k, x86 hard disk boot sector

再次输入

sudo mount -o loop pm.img /mnt/floppy

6、挂载成功!!!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM