windows U盘不能识别

windows U盘不能识别

1、问题描述

windwos u盘不能识别

u盘被拿到mac电脑上做了启动盘之后,就不能被windows识别了。题主很奇怪里面被mac电脑的同学放了什么,因此想到把优盘挂载到Linux上一探究竟。

2、问题分析解决

题主使用的linux系统是centos 7.6。

把优盘插接入到lnux系统上,如图

使用 fdisk -l 命令查看优盘设备 是/dev/sdb

bash 复制代码
fdisk -l 

挂载优盘

建立挂载点

bash 复制代码
mkdir /ugreen

挂载优盘

bash 复制代码
mount /dev/sdb /ugreen

提示 mount: /dev/sdb is write-protected, mounting read-only

就是说这个优盘是只读的 不能写入

使用mount命令的 remount选项 再次挂载优盘 挂载选项指定为可读可写

bash 复制代码
mount -o remount,rw /dev/sdb /ugreen

这个命令查看mount的man手册即可得到

bash 复制代码
man mount

remount 报错

mount: cannot remount /dev/sdb read-write, is write-protected

至此联想到之前刚挂载好优盘后 使用df -lTh 命令查看过 优盘的文件系统类型 显示为lSO9660 这是光盘文件系统 而lSO9660这个光盘文件系统 设计上本来就是不能被二次写入的

参考链接: https://superuser.com/questions/1235833/how-to-make-a-usb-stick-with-iso9660-filesystem-writeable-again

至此想要以读写方式挂载优盘,并复制其中的数据变得不可能了。为了能在windows系统上识别到这个优盘,可以在Linux上把这个优盘格式化成NTFS格式。

下面进行格式化这个优盘 格式化成ntfs需要使用mkfs.ntfs 这个命令,题主使用的是centos 7.6,没有这个命令。

通过一下命令安装mkfs.ntfs 这个命令.

安装ntfsprogs 和 ntfs-3g

bash 复制代码
yum install ntfsprogs
yum install ntfs-3g

如果提示找不到ntfsprogs和ntfs-3g安装包,则执行下面命令后,再继续安装上面两个包。

bash 复制代码
yum -y install epel-release

再次安装ntfsprogs 和 ntfs-3g

bash 复制代码
yum install ntfsprogs
yum install ntfs-3g

然后就有mkfs.ntfs 这个命令了

执行格式化命令 格式化之前 请确认 U盘没有挂载到系统上

bash 复制代码
mkfs.ntfs /dev/sdb

报错 /dev/sdb is entire device, not just one partition.

Refusing to make a filesystem here!

由于这块优盘没有分区,因此不能格式化。需要先使用fdisk命令在优盘上创建分区 再格式化这个分区即可。

参考链接: https://unix.stackexchange.com/questions/476597/cant-format-usb-storage-at-dev-sdb

接下来先试用fdisk命令在优盘上创建分区

bash 复制代码
[root@localhost /]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xf7cbdf46.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-1953525167, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-1953525167, default 1953525167): 
Using default value 1953525167
Partition 1 of type Linux and of size 931.5 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost /]# 
[root@localhost /]# fdisk -l

Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a17f6

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      616447      307200   83  Linux
/dev/sda2          616448     4812799     2098176   82  Linux swap / Solaris
/dev/sda3         4812800   209715199   102451200   83  Linux

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xf7cbdf46

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  1953525167   976761560   83  Linux

因为整个优盘/dev/sdb 上只有/dev/sdb1 这1个分区,执行格式化命令 格式化/dev/sdb1 即可。格式化/dev/sdb1 就是/dev/sdb。

执行格式化命令

bash 复制代码
mkfs.ntfs -f /dev/sdb1

至此格式化优盘成功,可以插到windwos电脑上试试能不能识别了。

注意:mkfs.ntfs -f /dev/sdb1 需要加上 -f 参数 不加 -f 的话 格式化会很慢很慢...

-f 是快速格式化的意思

格式化后挂载优盘查看文件系统

bash 复制代码
mount /dev/sdb1 /ugreen

然后 卸载掉 U盘

bash 复制代码
umount /dev/sdb1

3、把U盘插到windows电脑上试试能不能识别

把优盘插入windows笔记本 右下角托盘能识别到优盘了 但是文件管理器不显示优盘

至此windows已经可以是被优盘了 只是因为某种原因导致不能在文件管理器显示优盘。

win + x 打开磁盘管理器 可以看到优盘

右键优盘 点击 删除卷

点 是

然后优盘 显示未分配

然后 右键优盘 新建简单卷

然后格式化后 显示状态良好(主分区)

然后就可以在windows 文件管理器中看到这个优盘了

至此通过linux处理后,成功在windows下识别到了这个被险些玩坏的优盘。

相关推荐
梓仁沐白7 小时前
ubuntu+windows双系统切换后蓝牙设备无法连接
windows·ubuntu
九鼎科技-Leo11 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
Yang.9913 小时前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
我不瘦但很逗13 小时前
Windows下使用DBeaver连接云数据库(MySQL)
数据库·windows
ashane131414 小时前
Java list
java·windows·list
万里沧海寄云帆14 小时前
Word 插入分节符页码更新问题
windows·microsoft·word
dot.Net安全矩阵15 小时前
.NET 通过模块和驱动收集本地EDR的工具
windows·安全·web安全·.net·交互
编程修仙17 小时前
Collections工具类
linux·windows·python
程序员小羊!18 小时前
高级 SQL 技巧讲解
windows
xiangshangdemayi20 小时前
Windows环境GeoServer打包Docker极速入门
windows·docker·容器·geoserver·打包·数据挂载