当前位置: 技术问答>linux和unix
Linux下mount命令问题
来源: 互联网 发布时间:2016-12-18
本文导语: 我把boot.bin用dd命令写入a.img(由bximge生成的软盘镜像)后,用file命令查看得到结果 "a.img: x86 boot sector, code offset 0x65" 之后我用mount 命令加载 sudo mount -o loop a.img /mnt/floppy 出错 “mount: 您必须指定文件系统类...
我把boot.bin用dd命令写入a.img(由bximge生成的软盘镜像)后,用file命令查看得到结果
"a.img: x86 boot sector, code offset 0x65"
之后我用mount 命令加载 sudo mount -o loop a.img /mnt/floppy 出错
“mount: 您必须指定文件系统类型”
不知道怎么办才好,求指导
"a.img: x86 boot sector, code offset 0x65"
之后我用mount 命令加载 sudo mount -o loop a.img /mnt/floppy 出错
“mount: 您必须指定文件系统类型”
不知道怎么办才好,求指导
|
那就指定文件系統,類似mount -t vfat /dev/sdb1 /mnt/usb。
|
-fat -fat32
|
之后我用mount 命令加载 sudo mount -o loop a.img /mnt/floppy 出错
===============
可以试试iso9660,man mount了下,没有发现有合适的选项
===============
可以试试iso9660,man mount了下,没有发现有合适的选项
|
应该是boot.bin里面没有文件系统的信息导致的,如果在boot.s最开始加上如下的代码:
再去mount的时候就会知道这是个FAT12的分区(以上代码有几个宏没贴出来,需要根据具体的介质来定义大小,我是用了一个10M的image:bochsrc里面有一行 ata0-master: type=disk, path="disk_10M.img", mode=flat, cylinders=20, heads=16, spt=63,来指定,然后烧到U盘里去启动的,如果是软盘的话,这几个值也是很好算出来的),如果楼主的boot.bin里这样的信息没有的话,就算指定了vfat,fat32也是没有用的。另外楼主如果想用fat32的文件系统的话,可以去查下fat32在mbr中的信息是如何存储的。
PS:楼主是如何将boot.bin dd到a.img里的? 是dd if=boot.bin of=a.img 吗?如果是这样的话,a.img就不是1.44M了,大小是boot.bin的大小。
jmp LABEL_START
nop
#下面是 FAT12 磁盘的头
BS_OEMName: .ascii "HelloWLD" # OEM String, 必须 8 个字节
BPB_BytsPerSec: .short 0x200 # 每扇区字节数
BPB_SecPerClus: .byte 0x1 # 每簇多少扇区
BPB_RsvdSecCnt: .short 0x1 # Boot 记录占用多少扇区
BPB_NumFATs: .byte 0x2 # 共有多少 FAT 表
BPB_RootEntCnt: .short 0xE0 # 根目录文件数最大值
BPB_TotSec16: .short HEADS*SECTORS_PER_TRACK*CYLINDERS # 逻辑扇>区总数
BPB_Media: .byte 0xF0 # 媒体描述符
BPB_FATSz16: .short 0x9 # 每FAT扇区数
BPB_SecPerTrk: .short SECTORS_PER_TRACK # 每磁道扇区数
BPB_NumHeads: .short HEADS # 磁头数(面数)
BPB_HiddSec: .int 0x0 # 隐藏扇区数
BPB_TotSec32: .int 0x0 # wTotalSectorCount为0时这个值记录扇区
数
BS_DrvNum: .byte 0x0 # 中断 13 的驱动器号
BS_Reserved1: .byte 0x0 # 未使用
BS_BootSig: .byte 0x29 # 扩展引导标记 (29h)
BS_VolID: .int 0 # 卷序列号
BS_VolLab: .ascii "Tracy_Zhang"# 卷标, 必须 11 个字节
BS_FileSysType: .ascii "FAT12 " # 文件系统类型, 必须 8个字节
再去mount的时候就会知道这是个FAT12的分区(以上代码有几个宏没贴出来,需要根据具体的介质来定义大小,我是用了一个10M的image:bochsrc里面有一行 ata0-master: type=disk, path="disk_10M.img", mode=flat, cylinders=20, heads=16, spt=63,来指定,然后烧到U盘里去启动的,如果是软盘的话,这几个值也是很好算出来的),如果楼主的boot.bin里这样的信息没有的话,就算指定了vfat,fat32也是没有用的。另外楼主如果想用fat32的文件系统的话,可以去查下fat32在mbr中的信息是如何存储的。
PS:楼主是如何将boot.bin dd到a.img里的? 是dd if=boot.bin of=a.img 吗?如果是这样的话,a.img就不是1.44M了,大小是boot.bin的大小。