当我从sd卡运行linux并尝试挂载sd卡-no问题时,工作正常。但是当我从闪存运行linux时,我无法挂载我的SD卡:
# mount /dev/mmcblk0p1 /mnt/
mount: mounting /dev/mmcblk0p1 on /mnt/ failed: Invalid argument造成这一错误的根本原因是什么?
root@Xilinx-ZC702-14_7:/# mount -t /dev/mmcblk0p1 /mnt
mount: can't find /mnt in /etc/fstab
root@Xilinx-ZC702-14_7:/var/volatile/log# ls
wtmp
root@Xilinx-ZC702-14_7:/var/volatile/log# dmesg
dmesg: klogctl: Function not implemented发布于 2014-03-26 21:59:13
与金龟子一样,mount -t期望文件系统类型出现在-t之后,因此无法工作。否则,听起来您只需指定文件系统类型。如果您不知道文件系统类型,那么在这个答案中有一个方法列表需要查找。如果file命令可用,这可能是最好的方法。作为根用户,您可以这样做:
file -s /dev/mmcblk0p1还请注意,如果/proc/filesystems中没有列出文件系统类型,那么驱动程序就不会编译到内核中,因此必须作为外部模块可用。一旦您有了正确的类型,您可以尝试:
mount -t correct_type /dev/mmcblk0p1 /mnt最后,还要确保/mnt目录的存在!如果不使用mkdir /mnt创建它。
发布于 2014-03-29 08:31:51
基本原因:(更新)
1)您的系统没有(适当地?)初始化或不识别SD启动时从闪存。从闪存启动后是否有/dev/mmcblk0设备?fdisk -l /dev/mmcblk0怎么说?
2)在/dev/mmcblk0p1上没有文件系统,您需要先创建一个文件系统(mkfs ...)。与file -s /dev/mmcblk0p1核对
3) /dev/mmcblk0p1上的文件系统已损坏,您需要检查/修复它、尝试fsck /dev/mmcblk0p1或创建一个新的
4)内核(从闪存启动时)没有所需的文件系统驱动程序,请检查cat /proc/filesystems和ls "/lib/modules/$(uname -r)/kernel/fs/",看看该列表是否包含所需的文件系统类型。通常,较老的内核不支持ext4,而操作系统可能已经有了创建ext4文件系统的工具。
5)硬件缺陷--可能是SD卡,控制器,布线.但是如果它在从SD卡启动时起作用,那么很可能不是这样的。
发布于 2014-03-26 16:56:48
我似乎记得,当您试图挂载的分区类型不受支持时,您会遇到这样的错误。
https://unix.stackexchange.com/questions/118090
复制相似问题