在Linux上将U盘格式化为ntfs
结了在Linux上处理vfat格式U盘的过程。解决了挂载后中文乱码问题,安装ntfsprogs解决了mkfs命令找不到ntfs选项的问题,以及如何格式化U盘为NTFS格式。同时提到了如何安装dosfstools来解决mkfs命令找不到vfat选项的问题。在实际工作中,我们通常也将将FAT32格式化为NTFS更好的安全性:NTFS支持更多的安全特性,如文件和文件夹级别的权限控制,加密和压缩功能,有助
背景
我们知道,U盘默认是 FAT32
格式, FAT32
和 NTFS
是两种不同的文件系统。 FAT32
是一种较旧的文件系统,支持较小的文件和较小的磁盘容量,而 NTFS
是一种较新的文件系统,支持更大的文件和更大的磁盘容量。 NTFS
还提供更好的安全性、文件压缩和许多其他高级功能。因此,如果需要更大的文件和更好的安全性,建议使用 NTFS
。
有一个 vfat
格式的U盘,之前是在 Linux
上进行格式化的,在Windows上读不出来。计划再到 Linux
上将其格式化为 NTFS
的,这样就可以在 Windows
上使用了。不过在操作过程中遇到了几个问题。
vfat
格式的U盘在Linux
上挂载之后中文乱码;mkfs
命令按下Tab
键后系统上没有ntfs
选项(如果是国产的操作系统,一般是有的);- 如何格式化U盘。
关注磁盘 /dev/sdb
下的 /dev/sdb1
。
[root@hadoop5 yum.repos.d]# fdisk -l
磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000cac76
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 209715199 103808000 8e Linux LVM
磁盘 /dev/mapper/centos-root:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-home:50.5 GB, 50457477120 字节,98549760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/sdb:31.5 GB, 31457280000 字节,61440000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00000000
设备 Boot Start End Blocks Id System
/dev/sdb1 64 61439999 30719968 c W95 FAT32 (LBA)
系统信息
使用一台虚拟机。。
[root@k8s0 local]# uname -a
Linux k8s0 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@k8s0 local]# cat /proc/version
Linux version 3.10.0-1127.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Mar 31 23:36:51 UTC 2020
[root@k8s0 local]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
- 配置信息
内存:4G
处理器:2*2
硬盘:100G
问题1:vfat格式的U盘在Linux上挂载之后中文乱码
- 挂载
# 挂载操作
[root@hadoop5 ~]# mount -t vfat /dev/sdb1 /mnt/u
# 挂载成功:/dev/sdb1 ==> /mnt/u
[root@hadoop5 u]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 12M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 50G 7.3G 43G 15% /
/dev/sda1 xfs 1014M 150M 865M 15% /boot
/dev/mapper/centos-home xfs 47G 33M 47G 1% /home
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb1 vfat 30G 5.7G 24G 20% /mnt/u
# 发现中文字符乱码
[root@hadoop5 u]# ls
?? boot dists kylin.ico pool
????-207.pdf [BOOT] EFI LICENSE SHA256SUMS
????-??2.pdf boot.catalog ESP md5sum.txt System Volume Information
AUTORUN.INF casper kazam_33n4kqou.movie TRANS.TBL
- 解决中文字符乱码问题
在执行挂载命令时,添加字符集参数: iocharset=utf8
即可解决中文字符乱码问题。
# 带字符集参数挂载
[root@hadoop5 ~]# mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/u
# 中文字符正常显示
[root@hadoop5 u]# ls
AUTORUN.INF casper kazam_33n4kqou.movie pool 演示
boot dists kylin.ico SHA256SUMS 测试-207.pdf
[BOOT] EFI LICENSE System Volume Information 测试-教学2.pdf
boot.catalog ESP md5sum.txt TRANS.TBL
问题2:mkfs命令按下Tab键后系统上没有ntfs选项
注意这里是输入 mkfs
命令,按下 TAB
键;不是回车键。
[root@hadoop5 ~]# mkfs
mkfs mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.minix mkfs.xfs
- 可以通过安装ntfsprogs解决
yum -y install ntfsprogs
如果系统提示找不到 ntfsprogs
包,可尝试更换 yum源
来解决。
[root@hadoop5 ~]# cd /etc/yum.repos.d/
[root@hadoop5 yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
# 养成好习惯:将之前的源备份
[root@hadoop5 yum.repos.d]# mkdir backup
[root@hadoop5 yum.repos.d]# mv ./* backup
mv: 无法将目录"./backup" 移动至自身的子目录"backup/backup" 下
# 配置阿里的yum源
[root@hadoop5 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@hadoop5 yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@hadoop5 yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base extras updates
Cleaning up list of fastest mirrors
[root@hadoop5 yum.repos.d]# yum makecache
# 安装ntfsprogs包
[root@hadoop5 yum.repos.d]# yum -y install ntfsprogs
# mkfs命令按下Tab键后系统上出现ntfs选项
[root@hadoop5 yum.repos.d]# mkfs
mkfs mkfs.cramfs mkfs.ext3 mkfs.minix mkfs.xfs
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.ntfs
问题3:如何格式化U盘
- 删除分区
我这里先删除已有分区:fdisk /dev/sdb
之后,键入d
删除分区,再键入w
写入保存。
# 注意这里是fdisk /dev/sdb,不是fdisk /dev/sdb1
fdisk /dev/sdb
- 执行格式化
格式化之前需要先卸载:umount /dev/sdb1
。
mkfs.ntfs -f /dev/sdb1
其他
如果想要格式化为 vfat
格式,但是 mkfs
命令按下 Tab
键后系统上没有 vfat
选项,可以通过安装 dosfstools
包来解决。
# mkfs没有vfat
[root@hadoop5 ~]# yum -y install dosfstools
# mkfs命令按下Tab键后系统上出现vfat选项
[root@hadoop5 ~]# mkfs
mkfs mkfs.cramfs mkfs.ext3 mkfs.fat mkfs.msdos mkfs.vfat
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.ntfs mkfs.xfs
小总结
结了在 Linux
上处理vfat格式U盘的过程。解决了挂载后中文乱码问题,安装 ntfsprogs
解决了 mkfs
命令找不到 ntfs
选项的问题,以及如何格式化U盘为 NTFS
格式。同时提到了如何安装 dosfstools
来解决 mkfs
命令找不到vfat选项的问题。在实际工作中,我们通常也将将 FAT32
格式化为 NTFS
,主要原因包括:
- 更好的安全性:NTFS支持更多的安全特性,如文件和文件夹级别的权限控制,加密和压缩功能,有助于保护数据安全。
- 更大的文件大小和分区支持:NTFS支持更大的单个文件和分区大小,适用于存储大型文件和数据。
- 更好的性能和稳定性:NTFS在处理大容量磁盘和文件时通常比FAT32更高效和稳定。
- 更多的功能:NTFS支持更多高级功能,如日志记录、磁盘配额和动态磁盘等,适用于更复杂的存储需求。
但需要注意的是,将 FAT32
格式化为 NTFS
会导致数据丢失,因此在进行格式化之前务必备份重要数据。
If you have any questions or any bugs are found, please feel free to contact me.
Your comments and suggestions are welcome!
更多推荐
所有评论(0)