linux设备上使用 ntfs-3g 挂载ntfs格式U盘

1:首先确认linux设备识别到U盘

方法1:dmesg 查看到U盘插入

root@imx8qxpc0mek:/huali# dmesg | grep usb
# 显示
[  538.704733] usb 1-1.1: new high-speed USB device number 6 using cdns-usb3
[  538.809733] usb 1-1.1: New USB device found, idVendor=0781, idProduct=5567
[  538.816686] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  538.824161] usb 1-1.1: Product:  SanDisk 3.2Gen1
[  538.828886] usb 1-1.1: Manufacturer:  USB
[  538.833053] usb 1-1.1: SerialNumber: 0901673e9a6e15772e6298fb11a51622110985a3ff565b4ca93b1a30217fc355faa6000000000000000000007cc0a3e7ff0b5d2067558107cb28d691
[  538.859101] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[  538.870040] scsi host1: usb-storage 1-1.1:1.0

方法2:lsblk 查看到对应存储空间的设备

root@imx8qxpc0mek:/huali# lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb            8:16   1 57.3G  0 disk 
`-sdb1         8:17   1 57.3G  0 part 
mmcblk0      179:0    0  7.1G  0 disk 
|-mmcblk0p1  179:1    0  100M  0 part 
|-mmcblk0p2  179:2    0  2.7G  0 part /

如果U盘插入没有识别到的话,那么需要检查linux设备的驱动

lsblk -f可以查看U盘格式
如下所示,sdb1是U盘,文件系统是 ntfs格式

root@imx8qxpc0mek:/huali# lsblk -f
NAME         FSTYPE LABEL UUID                                 MOUNTPOINT
sdb                                                            
`-sdb1       ntfs   U_pan 7EA23241A231FDE9                     
mmcblk0                                                        
|-mmcblk0p1  vfat         C94B-A9F5                            
|-mmcblk0p2  ext4         eab62553-943e-4fc0-a9e5-d5b44c259d66 /

2:挂载U盘及常见报错处理

ntfs 格式的设备挂载需要使用ntfs-3g指令,直接使用mount指令挂载设备会报错

mount: /huali/emmc: unknown filesystem type 'ntfs'.

ntfs-3g软件安装包

wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2021.8.22.tgz

ntfs-3g挂载报错

root@imx8qxpc0mek:/huali# ./ntfs-3g /dev/sdb1 emmc/
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.14.98
ntfs-3g-mount: fuse device is missing, try 'modprobe fuse' as root

首先尝试一下 "modprobe fuse"指令

root@imx8qxpc0mek:/huali# modprobe fuse
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.14.98

首先确认一下当前系统下是否存在 “/lib/modules/4.14.98” 这个路径
如果路径不对的话,就直接修改一下名称

# 修改名称之前,请确认配置内核和运行内核是一致的
root@imx8qxpc0mek:/huali# uname -r
4.14.98
root@imx8qxpc0mek:/lib/modules# ls
4.14.98-2.3.2+g0347fe7527d0
root@imx8qxpc0mek:/lib/modules# mv 4.14.98-2.3.2+g0347fe7527d0/  4.14.98

再次重试挂载
报格式错误,说明当前fuse.ko文件和当前系统格式不匹配;那么需要重新编译linux内核,从编译的内核中查找 fuse.ko文件,并替换本地的fuse.ko文件

root@imx8qxpc0mek:/huali# ./bin/ntfs-3g /dev/sdb1 emmc/
modprobe: ERROR: could not insert 'fuse': Exec format error
ntfs-3g-mount: fuse device is missing, try 'modprobe fuse' as root

再次尝试挂载, 已挂载成功,可以查看到/dev/sdb1 设备信息

root@imx8qxpc0mek:/huali# ./ntfs-3g /dev/sdb1 emmc/
root@imx8qxpc0mek:/huali# ls emmc/
MocarOS_OBU_C320-C820_B25CN_MEXICO_V.2.5.11  System Volume Informationgiht_temp.txt
root@imx8qxpc0mek:/huali# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       2.7G  1.4G  1.2G  54% /
devtmpfs        396M  4.0K  396M   1% /dev
tmpfs           876M  8.0K  876M   1% /dev/shm
tmpfs           876M   41M  836M   5% /run
tmpfs           876M     0  876M   0% /sys/fs/cgroup
tmpfs           876M   22M  855M   3% /tmp
tmpfs           876M  244K  876M   1% /var/volatile
/dev/mmcblk0p6  1.1G  2.7M  977M   1% /upgrade
/dev/mmcblk0p7   58M   60K   54M   1% /userdata
/dev/mmcblk0p8  178M  208K  164M   1% /app
/dev/mmcblk0p9  1.9G  291M  1.5G  17% /huali
/dev/sdb1        58G  2.2G   56G   4% /huali/emmc

插拔SIM卡之后报错,说明上次挂载之后没有正常卸载,需要手动 “umount /dev/sdb1” 卸载一下即可

ls: cannot access '/run/media/sdb1': Transport endpoint is not connected
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值