在Linux上将U盘格式化为ntfs

背景

由一个 vfat 格式的U盘,之前是在 Linux 上进行格式化的,在Windows上读不出来。计划再到 Linux 上将其格式化为 NTFS 的,这样就可以在 Windows 上使用了。不过在操作过程中遇到了几个问题。

  1. vfat格式的U盘在Linux上挂载之后中文乱码;
  2. mkfs命令按下Tab键后系统上没有ntfs选项(如果是国产的操作系统,一般是有的);
  3. 如何格式化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 ([email protected]) (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

If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!

猜你喜欢

转载自blog.csdn.net/u013810234/article/details/129438029
今日推荐