首页 > 系统相关 >Linux下载编译ntfs-3g、安装移植、挂载ntfs格式的U盘

Linux下载编译ntfs-3g、安装移植、挂载ntfs格式的U盘

时间:2024-04-06 12:33:18浏览次数:38  
标签:ntfs U盘 make NTFS install ntfsprogs 3g

目录

前言

1、NTFS-3G 简要说明

2、NTFS-3G 工具安装

2.1 离线下载 ntfs-3g

2.2 在线下载 ntfs-3g(推荐优先) 

2.3 解压安装 ntfs-3g

3、NTFS-3G 工具移植到文件系统(rootfs)

4、NTFS-3G 工具挂载 

4.1 查看U盘盘符

4.2 U盘挂载 

5、NTFS-3G 源码编译报错问题记录

5.1 问题1:参数配置报错及解决方法

5.2 问题2:工具安装过程报错及解决方法

5.3 问题3:使用超级权限安装工具报错及解决方法 

5.4 问题4:fuse device is missing 


 

前言

  • 一般 Linux 系统默认都支持挂载 FAT32 格式的移动硬盘,但并不支持挂载 NTFS 格式的。那么我们在开发产品过程中,怎么应对这些需求呢?
  • 有人可能第一时间会想到修改内核配置,以达到支持挂载 NTFS 格式的移动硬盘。在此只能说很遗憾,虽然内核支持 NTFS 格式的挂载,但是它只支持可读,不支持可写。
  • 也正因为如此,我们如果想要让系统支持挂载 NTFS 格式的移动硬盘,并且让它可读可写,一般都需要移植第三方开源的工具:ntfs-3g。

1、NTFS-3G 简要说明

NTFS-3G 是一个开源的软件,可以实现 Linux、Free BSD、Mac OSX、NetBSD 和 Haiku 等操作系统中的 NTFS 读写支持。它可以安全且快速地读写 Windows 系统的 NTFS 分区,而不用担心数据丢失。 

2、NTFS-3G 工具安装

2.1 离线下载 ntfs-3g

https://github.com/tuxera/ntfs-3g/releases

a4a4c550817d4b89baff9c1ba6ba0c8a.png

2.2 在线下载 ntfs-3g(推荐优先) 

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

2.3 解压安装 ntfs-3g

  1.   # 如果是在根目录的路径下安装,需要使用超级权限
  2.   sudo su
  3.    
  4.   # 使安装交叉编译器的环境变量生效
  5.   source /etc/profile
  6.    
  7.   # 解压压缩包
  8.   tar -zxf ntfs-3g_ntfsprogs-2022.10.3.tgz
  9.    
  10.   # 进入解压目录
  11.   cd ntfs-3g_ntfsprogs-2022.10.3/
  12.    
  13.   # 配置编译参数
  14.   ./configure CC=arm-hisiv400-linux-gcc --host=arm-hisiv400-linux --prefix=/my_work/tools/ntfs-3g_ntfsprogs-2022.10.3/install --exec-prefix=/my_work/tools/ntfs-3g_ntfsprogs-2022.10.3/install
  15.    
  16.   # 编译生成工具与库文件
  17.   make clean;make
  18.   make install

./configure 参数配置说明:  

./configure CC=arm-hisiv400-linux-gcc --host=arm-hisiv400-linux --prefix=/my_work/tools/ntfs-3g_ntfsprogs-2022.10.3/install --exec-prefix=/my_work/tools/ntfs-3g_ntfsprogs-2022.10.3/install

 

CC=arm-hisiv400-linux-gcc  // 交叉编译器;

--host=arm-hisiv400-linux    // 交叉编译工具链;

--prefix=/my_work/tools/ntfs-3g_ntfsprogs-2022.10.3/install   // 指定二进制文件、库文件、配置文件的安装路径(必须要填写实际安装的绝对路径)

--exec-prefix=/my_work/tools/ntfs-3g_ntfsprogs-2022.10.3/install  // 指定可执行文件的安装路径(必须要填写实际安装的绝对路径)

3、NTFS-3G 工具移植到文件系统(rootfs)

  1.   cd ntfs-3g_ntfsprogs-2022.10.3/install
  2.   cp ./bin/ntfs-3g rootfs/bin //ntfs硬盘挂载工具
  3.   cp ./bin/ntfsfix rootfs/bin //ntfs硬盘修复工具
  4.   cp ./sbin/mkntfs rootfs/bin //ntfs格式化分区工具
  5.   cp ./lib/libntfs-3g.so.89.0.0 rootfs/lib //ntfs依赖的动态库
  6.    
  7.   cd rootfs/lib //创建软链接libntfs-3g.so.89 和 libntfs-3g.so
  8.   ln -s libntfs-3g.so.89.0.0 libntfs-3g.so.89
  9.   ln -s libntfs-3g.so.89.0.0 libntfs-3g.so

arm-hisiv400-linux-strip xxx (xxx表示目标文件) 可以去掉相应的符号和调试信息来节省空间,例如: 

  1.   arm-hisiv400-linux-strip ./install/bin/ntfs-3g
  2.   arm-hisiv400-linux-strip ./install/lib/libntfs-3g.so.89.0.0

4、NTFS-3G 工具挂载 

4.1 查看U盘盘符

  1.   fdisk -l
  2.    
  3.   # Device Boot Start End Blocks Id System
  4.   # /dev/sda1 * 355462 51298533 16180960 7 HPFS/NTFS

4.2 U盘挂载 

  1.   mkdir -p /mnt/usb
  2.   ntfs-3g /dev/sda1 /mnt/usb

5、NTFS-3G 源码编译报错问题记录

5.1 问题1:参数配置报错及解决方法

  • 问题描述:执行 ./configure 配置报错如下:

/bin/rm: cannot remove 'libtoolT': No such file or directory
You can type now 'make' to build ntfs-3g. 

  • 问题原因:在根目录下安装工具,没有使用超级权限,或者没有执行 make。
  • 解决方法:(若在根目录下安装需要超级权限)执行 make:
sudo make

5.2 问题2:工具安装过程报错及解决方法

  • 问题描述:执行 make install 报错如下:

ln -s -f /tools/ntfs-3g_ntfsprogs-2022.10.3/install/sbin/mkntfs /sbin/mkfs.ntfs
ln: failed to create symbolic link '/sbin/mkfs.ntfs': Permission denied
Makefile:1427: recipe for target 'install-exec-hook' failed
make[3]: *** [install-exec-hook] Error 1
make[3]: Leaving directory '/tools/ntfs-3g_ntfsprogs-2022.10.3/ntfsprogs'
Makefile:1346: recipe for target 'install-exec-am' failed
make[2]: *** [install-exec-am] Error 2
make[2]: Leaving directory '/tools/ntfs-3g_ntfsprogs-2022.10.3/ntfsprogs'
Makefile:1283: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/tools/ntfs-3g_ntfsprogs-2022.10.3/ntfsprogs'
Makefile:494: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1 

  • 问题原因:ntfs-3g 工具在根目录下安装,需要超级权限执行。
  • 解决方法:使用超级权限执行安装命令:
sudo make install

5.3 问题3:使用超级权限安装工具报错及解决方法 

  • 问题描述:执行 sudo make install 报错如下: 

../libtool: line 1085: arm-hisiv400-linux-ranlib: command not found
Makefile:433: recipe for target 'install-libLTLIBRARIES' failed
make[2]: *** [install-libLTLIBRARIES] Error 127
make[2]: Leaving directory '/tools/ntfs-3g_ntfsprogs-2022.10.3/libntfs-3g'
Makefile:930: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/tools/ntfs-3g_ntfsprogs-2022.10.3/libntfs-3g'
Makefile:494: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1 

  • 问题原因:切换到超级权限后找不到对应的工具链 arm-hisiv400-linux。
  • 解决方法:临时配置交叉工具链环境,再重新安装即可:
  1.   sudo su
  2.   source /etc/profile
  3.   make install

5.4 问题4:fuse device is missing 

  • 问题描述:ntfs-3g /dev/sda1 /mnt/usb 挂载报错如下:

# ntfs-3g /dev/sda1 /mnt/usb
modprobe: module fuse not found in modules.dep
ntfs-3g-mount: fuse device is missing, try 'modprobe fuse' as root 

  • 问题原因:内核默认没有加载 fuse 驱动。
  • 解决方法:打开内核配置界面(make menuconfig),配置如下:
  1.   File systems --->
  2.   <*> FUSE (Filesystem in Userspace) support

 

 

【出处】:https://blog.csdn.net/m0_37383484/article/details/129693313

=======================================================================================

标签:ntfs,U盘,make,NTFS,install,ntfsprogs,3g
From: https://www.cnblogs.com/mq0036/p/18117320

相关文章

  • 更改在EXT2/EXT3/EXT4/NTFS/reiserFS/exFAT和Swap上的分区标签名称
    Linux如何更改硬盘盘符?(linux更改硬盘盘符)硬盘盘符可用于唯一标识硬盘,在Linux系统中,硬盘盘符通常以/dev/sda这样的形式出现。然而,在某些情况下,需要更改硬盘盘符以满足应用程序或存储设备的需要。本文将介绍如何在Linux系统中更改硬盘盘符。步骤一:了解硬盘盘符在Linux系统......
  • 苹果macOS系统U盘版/恢复版基础安装教程
    目前,刻录U盘进行安装是主流选择,这样安装调试好的黑苹果macOS问题最少,也较为稳定。镜像恢复安装的方式,某宝上的远程安装的商家都是这么干的,但是其中很大一部分商家存在一个严重问题:macOS从10.14开始全面采用了APFS文件系统,但是当时的恢复软件无法支持这个文件系统,仅支持更老的......
  • 如何将MP4格式轻松转化为3GP格式的视频?分享你一个小妙招!
    MP4是当今市面上最为常见的视频格式之一。很多时候,人们在网上找到、下载的视频都是MP4格式的。不过,MP4格式的文件质量不小,而人们为了节约存储空间,有时会选择把MP4格式转换成为3GP格式。3GP格式也可以说是一种比较常见的视频格式,是MP4格式的一种简化版本,拥有占内存小的优点。那......
  • 2024免费Mac上读写Windows格式的硬盘或U盘软件Tuxera Ntfs
    TuxeraforMac产品介绍在现代工作和生活中,数据交换已成为日常不可或缺的一部分。特别是在Mac系统中,用户经常需要读写各种格式的硬盘或U盘。TuxeraforMac作为一款专为Mac用户打造的读写工具,旨在解决跨文件系统兼容性问题,让用户无忧地在Mac上读写Windows格式的硬盘或U盘。Tu......
  • 是否有替代U盘,可安全交换的医院文件摆渡方案?
    医院内部网络存储着大量的敏感医疗数据,包括患者的个人信息、病历记录、诊断结果等。网络隔离可以有效防止未经授权的访问和数据泄露,确保这些敏感信息的安全。随着法律法规的不断完善,如《网络安全法》、《个人信息保护法》等,医院需要遵守更严格的网络安全和数据保护标准。因此医院......
  • 一个U盘显示两个盘符解决方法!
    Windows10操作系统后,每次插入U盘、移动硬盘,却显示2个相同的盘符,修改注册表:在WINDOWS桌面上,鼠标右键单击左下方WINDOWS图标,选择“运行”打开一个对话框,在其中输入“regedit",单击”确定“,运行注册表编辑程序;在注册表编辑器中,找到如下的路径:[HKEY_LOCAL_MACHINE\SOFTWARE\M......
  • 19_U盘挂载和磁盘分区
    U盘挂载和磁盘分区U盘挂载步骤一:保证U盘或者TF的格式为FAT32格式,TF卡要用读卡器和电脑连接。步骤二:把U盘或者TF卡连接到VM软件上,然后使用df命令确定挂载的路径。步骤三:把U盘或者TF卡连接到开发板,TF使用读卡器和开发板连接。使用df命令查看一下文件系统是不是......
  • CIPHER命令 参数 显示或更改 NTFS 分区上目录[文件]的加密
    CIPHER是Windows操作系统中的一个命令行工具,用于执行文件和文件夹加密、解密以及管理加密密钥的操作。它主要用于对NTFS文件系统上的文件和文件夹进行加密,以保护数据的安全性。使用CIPHER命令,用户可以执行以下操作:加密文件和文件夹:通过指定路径和选项,可以对文件和文件......
  • 孟子义GQ外拍特写159p-1.3G
    高清下载地址:孟子义GQ外拍特写159p-1.3G如果文件不显示,说明被和谐,为防止和谐,一定要转存到自己的网盘,然后打开查看importrandomall_choices=['石头','剪刀','布']computer=random.choice(all_choices)player=input('请出拳:')......
  • fsutil fsinfo ntfsinfo c:  查询NTFS特定卷信息C盘 fsutil fsinfo sectorInfo c:
    fsutilfsinfontfsinfoc: 查询NTFS特定卷信息C盘NTFSVolumeSerialNumber:    NTFSVersion   :        3.1LFSVersion   :        2.0TotalSectors  :        TotalClusters  : ......