ARM开发板U盘挂载提示Invalid argument

U盘挂载不上的问题

# mount /dev/sda1  /mnt/
mount: mounting /dev/sda1 on /mnt/ failed: Invalid argument
#
# mount -t vfat /dev/sda1 /mnt/
mount: mounting /dev/sda1 on /mnt/ failed: No such device

1 首先确认U盘和挂载目录是存在的,确认OK以后再确认当前U盘的文件系统格式

# fdisk -l
...
Device  Boot StartCHS    EndCHS        StartLBA     EndLBA    Sectors  Size Id Type
/dev/sda1    0,1,1       1023,63,32          32   60604415   60604384 28.8G  b Win95 FAT32 # Win95 FAT32

2 确认当前内核是否支持此种文件系统格式

# cat /proc/filesystems
nodev    sysfs
nodev    rootfs
nodev    ramfs
nodev    bdev
nodev    proc
nodev    tmpfs
nodev    devtmpfs
nodev    configfs
nodev    debugfs
nodev    sockfs
nodev    pipefs
nodev    devpts
    ext2
    squashfs
nodev    pstore
nodev    functionfs

如果不支持,一种方法是将U盘格式化为当前内核支持的文件系统格式,二则是在内核配置添加上,然后方可支持此种文件格式的U盘挂载。

3 内核配置方式

内核搜索 CONFIG_VFAT_FS 配置选项,然后配置为*号即可。
其他文件系统的支持同样的方式配置
fat 文件系统: CONFIG_VFAT_FS
nfs文件系统:CONFIG_NTFS_FS

如果配置上了以后提示

# mount -t vfat /dev/sda1  /mnt/
[   46.134884] FAT-fs (sda1): codepage cp437 not found
mount: mounting /dev/sda1 on /mnt/ failed: Invalid argument

原因是没有配置相应的文件系统的codepage;

File systems  --->
    -*- Native language support  --->
         < * >   Codepage 437 (United States, Canada)

把Codepage 437 (United States, Canada)这个选项添加上,如果需要支持其他语言,同样也可以选上。

如果挂载继续提示

[   21.785549] FAT-fs (sda1): IO charset iso8859-1 not found
mount: mounting /dev/sda1 on /mnt/ failed: Invalid argument

再把 CONFIG_NLS_ISO8859_1 这项配置也添加上去。然后就可以挂载了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容