I.MX6ULL 开发板上挂载NTFS格式 U 盘

I.MX6ULL 开发板上挂载NTFS格式 U 盘

  • 挂载失败
  • 安装NTFS-3G
    • 安装失败
    • 成功安装
  • 移植
  • 挂载成功
  • 卸载U盘

挂载失败

我使用的U盘的格式是NTFS格式

插入U盘时会有信息

在这里插入图片描述

我使用的是闪迪的U盘,大小标称是 32G ,实际能用的只有 28G 左右

在这里插入图片描述

可以使用lsblk命令查看磁盘设备,这个sda就是我的U盘,sda1是U盘的分区,也就是说只有一个分区

在这里插入图片描述

也可以在 /dev/ 目录下查看

在这里插入图片描述

首先在 /mnt/ 目录下创建一个usb文件夹,用于作为U盘的挂载点

在这里插入图片描述

挂载U盘

sudo mount /dev/sda1 /mnt/usb

挂载失败,显示 unknow filesystem type 'ntfs'

在这里插入图片描述

这是因为 Linux 系统默认不支持 NTFS 文件系统,需要安装额外的驱动程序来提供支持

NTFS(New Technology File System,新技术文件系统)是微软开发的用于Windows操作系统的文件系统。它在数据存储、管理和保护方面提供了比老旧文件系统(如FAT32)更多的功能

解决方法:
1.将U盘格式化为FAT32格式
2.安装 NTFS-3G 驱动

NTFS-3G 是一个开源的 NTFS 驱动程序,允许 Linux 系统读写 NTFS 格式的磁盘。

我选择第二种方法

安装NTFS-3G

下载源码

首先在Ubuntu的/linux/tool/目录下创建一个ntfs-3g文件夹,用于存放编译ntfs-3g时的安装目录

使用下面的命令获取压缩包,我下载的是2017.3.23版本的

wget -O ./ntfs-3g-2017.3.23.tgz https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz

在这里插入图片描述

下载完成查看一下

在这里插入图片描述

解压

tar -zxf ntfs-3g-2017.3.23.tgztar:是用于打包和解压文件的工具。
-z:表示解压时使用 gzip 压缩(.tgz 文件通常是用 gzip 压缩的)。
-x:表示解压(extract)。
-v:表示显示详细过程(verbose),列出解压的文件。
-f:后面接要解压的文件名。
我不需要显示详细过程,所以没加v

在这里插入图片描述

然后执行三部曲:配置、编译、安装

安装失败

安装失败的不要看,可以先看看我失败的原因,然后再结合安装成功这一节去安装

配置

首先进入到 nfst-3g 文件目录下

在这里插入图片描述

#设置交叉编译工具的环境
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
#对tslib源码工程进行配置
./configure --host=arm-poky-linux-gnueabi --prefix=/home/okay/linux/tool/ntfs-3g/

在这里插入图片描述

编译

make

在这里插入图片描述

安装

make install

在这里插入图片描述

它显示权限不够
那就使用 sudo make install再运行一次
提示 arm-poky-linux-gnueabi-ranlib 命令没有找到

在这里插入图片描述

尝试:切换到root,临时配置交叉工具链环境,再重新安装:

sudo su //切换超级管理权限
source /etc/profile //重新配置工具链环境
make install //安装

还是不行
在这里插入图片描述

而且查看 ntfs-3g 目录下的文件,就只有include和lib两个,不太正常

请添加图片描述

成功安装

我上面用的是poky的交叉编译器,我尝试换成用linaro的试一下

在这里插入图片描述
在这里插入图片描述

删除编译的文件

make clean

在这里插入图片描述

卸载你之前安装的 NTFS-3G

sudo make uninstall

在这里插入图片描述

可以看到确实什么都没有了,删干净了
把ntfs-3g文件夹下的include和lib文件夹删除,我怕后面有影响

在这里插入图片描述

重新配置工程

#对tslib源码工程进行配置
./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux-gnueabihf --prefix=/home/okay/linux/tool/ntfs-3g/ --exec-prefix=/home/okay/linux/tool/ntfs-3g/
#--prefix=/home/okay/linux/tool/ntfs-3g/   
#指定二进制文件、库文件、配置文件的安装路径
#(必须要填写实际安装的绝对路径)
#--exec-prefix=/home/okay/linux/tool/ntfs-3g/ 
#指定可执行文件的安装路径
#(必须要填写实际安装的绝对路径)
#不加上这一个路径会导致安装的文件不完整,很重要!!!

在这里插入图片描述

编译

make

在这里插入图片描述

安装

make install

过程问题:install过程提示无权限,切换超级权限后又提示找不到编译器

在这里插入图片描述

解决方法:临时配置交叉工具链环境,再重新安装即可:

sudo su //切换超级管理权限
source /etc/profile //重新配置工具链环境
make install //安装

终于成功安装!

在这里插入图片描述

检查 ntfs-3g 目录里的文件是否完整
像这样应该是完整的

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

移植

将ntfs-g/bin目录下的文件全部拷贝到开发板的/usr/bin目录中
当然也可以根据自己的需要去拷贝

ntfs-3g:ntfs硬盘挂载工具
ntfs-3g.probe:用于自动检测和识别 NTFS 文件系统
ntfscat:用于显示 NTFS 文件的内容
ntfscluster:用于显示 NTFS 文件系统中的集群(clusters)
ntfscmp:用于比较两个 NTFS 文件系统或磁盘镜像的内容
ntfsfix:用于修复 NTFS 文件系统上的一些常见错误
ntfsinfo:用于显示 NTFS 文件系统的详细信息
ntfsls:用于列出 NTFS 文件系统中的文件和目录结构

scp ./*ntfs* root@192.168.1.100:/usr/bin

在这里插入图片描述

使用scp将ntfs依赖的动态库libntfs-3g.so.88.0.0拷到开发板 的/usr/lib/目录下

scp ./libntfs-3g.* root@192.168.1.100:/usr/lib

在这里插入图片描述

在开发板检查是否拷贝成功

在这里插入图片描述

在这里插入图片描述

在开发板创建软链接libntfs-3g.so.88 和 libntfs-3g.so
必须要有这一步,不然检查 ntfs-3g版本 会报错,如下图

在这里插入图片描述

ln -s libntfs-3g.so.88.0.0 libntfs-3g.so.88
ln -s libntfs-3g.so.88.0.0 libntfs-3g.so

在这里插入图片描述

再次检查ntfs-3g版本号就能成功打印版本号了,证明我们安装成功

在这里插入图片描述

挂载成功

再次尝试挂载U盘
但是不是用mount命令
而是用ntfs-3g命令

ntfs-3g /dev/sda1 /mnt/usb/

挂载成功!

在这里插入图片描述

卸载U盘

使用 umount 命令卸载U盘

sudo umount /mnt/usb

这里卸载的时候报错了,表示有进程正在使用 U 盘中的文件或目录
这是因为我在U盘的目录下卸载U盘,我现在就在U盘的目录下,所以卸载不了

在这里插入图片描述

回到用户目录下就卸载成功了,此时再拔出U盘,避免U盘数据损坏

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/42457.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K. Dice Game(ICPC)

备赛ICPC时,我是没想到还有数学题,高数都快忘完了......... 题目链接:Problem - K - Codeforces 我们对于某一个抽到的值x,其他n个人中的某一个人赢我们的概率是: (m-x)/m(m-x)/m^2(m-x)/m^3....(m-x)/m^K&#xff0…

加油站小程序实战教程02宫格导航

目录 引言1 应用创建2 搭建页面布局3 大模型生成图标最终效果 引言 在《加油站小程序实战教程01》中我们详细介绍了站点基本信息数据维护功能的搭建。有了数据之后就需要考虑小程序展示部分该如何搭建,本篇我们介绍一下应用的创建、页面布局以及数据绑定的过程。 …

如何用 Postman 进行高效的 Mock 测试?

Postman 是一个强大的 API 开发和测试工具,它可以让你轻松地创建和发送各种 HTTP 请求,查看响应结果,并进行调试和优化。但是有时候,你可能还没有开发好后端服务,或者想要模拟不同的响应场景,这时候就可以使…

2025AWE观察:“无AI不家电”,但“AI”还是“AL”仍是个问题

文 | 智能相对论 作者 | 佘凯文 3月23日,2025中国家电及消费电子博览会(AWE)在上海完美闭幕。 这场以“AI科技、AI生活”为主题的展会,俨然成为家电行业向智能化跃迁的缩影。从冰箱、空调到扫地机器人,从全屋智能到…

【赵渝强老师】Oracle数据库的客户端工具

安装并成功创建Oracle数据库后,便可以使用客户端工具来连接Oracle数据库。Oracle官方提供的客户端工具有:SQL*Plus、Oracle Enterprise Manager Database Express和SQL Developer。 一、 【实战】使用命令行工具SQL*Plus 在Oracle数据库系统中&#xf…

8.3MW屋顶光伏+光储协同:上海汽车变速器低碳工厂的能源革命-安科瑞黄安南

摘 要:常规能源以煤、石油、天然气为主,不仅资源有限,而且会造成严重的大气污染,开发清洁的可再生能源已经成为当今发展的重要任务,“节能优先,效率为本”的分布式发电能源符合社会发展要求。 随着“双碳”…

【蓝桥杯每日一题】3.28

🏝️专栏: 【蓝桥杯备篇】 🌅主页: f狐o狸x "今天熬的夜,会变成明天奖状的闪光点!" 目录 一、唯一的雪花 题目链接 题目描述 解题思路 解题代码 二、逛画展 题目链接 题目描述 解题思路 解题代…

WPS JS宏编程教程(从基础到进阶)--第二部分:WPS对象模型与核心操作

第二部分:WPS对象模型与核心操作 WPS对象的属性、方法、集合 工作簿对象常用表达方式工作表对象常用表达方式单元格对象常用表达方式 单元格操作实战 单元格复制与重定位单元格偏移与尺寸调整 颜色设置专题 索引颜色与RGB颜色按条件动态设置单元格颜色 第二部分&…

【NLP 48、大语言模型的神秘力量 —— ICL:in context learning】

目录 一、ICL的优势 1.传统做法 2.ICL做法 二、ICL的发展 三、ICL成因的两种看法 1.meta learning 2.Bayesian Inference 四、ICL要点 ① 语言模型的规模 ② 提示词prompt中提供的examples数量和顺序 ③ 提示词prompt的形式(format) 五、fine-tune VS I…

基于Spring AI开发本地Jenkins MCP Server服务

前言 首先介绍下MCP是什么? MCP是由开发了 Claude 模型的 Anthropic 公司2024年12月提出并开源的一项开放标准,全称:Model Context Protocol,它是一个开放协议,它使 LLM 应用与外部数据源和工具之间的无缝集成成为可能…

94二叉树中序遍历解题记录

怎么说呢,以为这道题不用记录了,菜得吓到了自己。起因是这个遍历的递归一般是写两个函数完成,如下: func inorder(root *TreeNode, res *[]int) {if root nil {return}inorder(root.Left, res)*res append(*res, root.Val) // …

重磅推出稳联技术Profinet转CANopen网关智能工厂解决方案!

重磅推出稳联技术Profinet转CANopen网关智能工厂解决方案! 稳联技术Profinet转CANopen网关应运而生——它如同一座智能桥梁☺,打通两大主流工业协议,让异构网络无缝互联,助您释放设备潜力,实现真正的“万物互联”&…

Python正则表达式(一)

目录 一、正则表达式的基本概念 1、基本概念 2、正则表达式的特殊字符 二、范围符号和量词 1、范围符号 2、匹配汉字 3、量词 三、正则表达式函数 1、使用正则表达式: 2、re.match()函数 3、re.search()函数 4、findall()函数 5、re.finditer()函数 6…

ArayTS:一个功能强大的 TypeScript 工具库

目录 ArayTS:一个功能强大的 TypeScript 工具库🚀 主要特性1. 数据结构与算法2. 实用工具函数3. 类型工具4. 数据验证5. 字符串处理6. 数组处理7. 对象处理8. 样式处理9. 随机数生成10. 文件处理 💡💡💡除此之外&#…

【质量管理】防错(POKA-YOKE)的概念、特点和作用解析

什么是防错法? 防错法(日语发音为PO-ka yo-KAY)是指运用某种机制或设备,帮助设备操作员(或任何人)避免犯错。在日语中,“poka-yoke” 意为 “防错” 或 “预防疏忽性错误”,最初被称…

【Sql Server】在SQL Server中生成雪花ID(Snowflake ID)

大家好,我是全栈小5,欢迎来到《小5讲堂》。 这是《Sql Server》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言认识雪花ID…

HarmonyOS NEXT——【鸿蒙原生应用加载Web页面】

鸿蒙客户端加载Web页面: 在鸿蒙原生应用中,我们需要使用前端页面做混合开发,方法之一是使用Web组件直接加载前端页面,其中WebView提供了一系列相关的方法适配鸿蒙原生与web之间的使用。 效果 web页面展示: Column()…

Spring Data审计利器:@LastModifiedDate详解!!!

🕒 Spring Data审计利器:LastModifiedDate详解🔥 🌟 简介 在数据驱动的应用中,记录数据的最后修改时间是常见需求。Spring Data的LastModifiedDate注解让这一过程自动化成为可能!本篇带你掌握它的核心用法…

循环神经网络(RNN)

循环神经网络(RNN) 循环神经网络(Recurrent Neural Network,简称 RNN)是一类用于处理序列数据的神经网络模型。与传统的前馈神经网络(如多层感知机)不同,RNN 具有反馈结构&#xff…

iOS rootless无根越狱检测方案

不同于安卓的开源生态,iOS一直秉承着安全性更高的闭源生态,系统中的硬件、软件和服务会经过严格审核和测试,来保障安全性与稳定性。 据FairGurd观察,虽然iOS系统具备一定的安全性,但并非没有漏洞,如市面上…