【终结】在Linux下用U盘拷贝文件到windows机子上的正确方法是什么?总是被提示“有问题,需要修复”?

新手涉及到的教学或入门贴,推荐新手必看,版主维护
头像
flwwater
帖子: 674
注册时间: 2010-10-31 9:15
系统: kubuntu 22.04
送出感谢: 2 次
接收感谢: 31 次

Re: 【求助】在Linux下用U盘拷贝文件到windows机子上的正确方法是什么?总是被提示“有问题,需要修复”?

#16

帖子 flwwater » 2022-08-04 10:45

我的u盘都是格式化成exfat格式的,不管是linux,windows还是android盒子,一点问题都没有.系统是kubuntu22.04
个人收藏的古风音乐和纯音乐(钢琴,笛子,二胡等):
https://url17.ctfile.com/d/15983117-44661221-77a33e
(访问密码:6220
头像
yq-ysy
论坛版主
帖子: 4302
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)
送出感谢: 0
接收感谢: 99 次

Re: 【求助】在Linux下用U盘拷贝文件到windows机子上的正确方法是什么?总是被提示“有问题,需要修复”?

#17

帖子 yq-ysy » 2022-08-04 12:38

Longhao.Chen 写了:
2022-08-04 10:17
插进去认不出来时,看看 lsusb 和 sudo fdisk -l 是否有相应的设备?
进一步测试,结果如下:
(1)没有插任何U盘时,显示的接口状态:
abc@xyz:~$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 275d:0ba6 USB OPTICAL MOUSE
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
(2)只插一个U盘、或连接手机时,lsusb能显示出已连接的设备:
abc@xyz:~$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 275d:0ba6 USB OPTICAL MOUSE
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 009: ID 058f:6387 Alcor Micro Corp. Flash Drive ——这是只连接的一个U盘时
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

abc@xyz:~$ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 275d:0ba6 USB OPTICAL MOUSE
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 014: ID 22d9:2764 OPPO Electronics Corp. OPPO A83——这是只连接手机时
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
(3)同时插入二个U盘时,或者同时插入手机和U盘时,lsusb都能显示出已连接的二个设备,
文件管理器也都能看到二个U盘的文件,但右上角任务栏的提示不稳定,有时只显示一个设备,有时显示二个:
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
abc@xyz:~$ lsusb
Bus 002 Device 022: ID 13fe:6300 Kingston Technology Company Inc. SP Mobile C31 (64GB)——这是其中一个U盘
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 275d:0ba6 USB OPTICAL MOUSE
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 017: ID 058f:6387 Alcor Micro Corp. Flash Drive——这是另一个U盘
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

abc@xyz:~$ lsusb
Bus 002 Device 025: ID 22d9:2764 OPPO Electronics Corp. OPPO A83——这是连接的手机
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 275d:0ba6 USB OPTICAL MOUSE
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 025: ID 13fe:6300 Kingston Technology Company Inc. SP Mobile C31 (64GB)——这是其中一个U盘
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
(4)单个U盘拔出后再插入时,lsusb都能显示出这个设备,
文件管理器也能看到这个U盘的文件,但右上角任务栏的就没有反应了,提示是:“未连接任何一个设备”


之前的测试我只看右上角任务栏的提示是否能识别,就没留意文件管理器的识别。
现在看来,综合以上的情况,文件管理器的识别能力比右上角任务栏的要好:
文件管理器也都能看到同时插入的二个U盘的文件,右上角任务栏的提示则只有一个。
而且多次插拔一个或二个U盘时,文件管理器也都能看到这一个或二个U盘,
右上角任务栏的提示则不稳定,单插没反应,多插一个又两个都显示出来了。

dmesg显示的记录中,出错提示最多的是:
blk_update_request: I/O error, dev sdc, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
接着还有:Buffer I/O error on dev sdc, logical block 0, async page read
flwwater 写了:
2022-08-04 10:45
我的u盘都是格式化成exfat格式的,不管是linux,windows还是android盒子,一点问题都没有.系统是kubuntu22.04
按之前经验,我这机子给U盘拷贝大文件的就不行了,速度很慢,才几十K、一百K,还会中断。
这个测试比较花时间,有空再继续试验吧。
折腾了这个问题那么久,感觉挺累的,有时想干脆重装系统算了……
Longhao.Chen
帖子: 8
注册时间: 2022-07-30 22:49
系统: Debian,KUbuntu
送出感谢: 2 次
接收感谢: 0

Re: 【求助】在Linux下用U盘拷贝文件到windows机子上的正确方法是什么?总是被提示“有问题,需要修复”?

#18

帖子 Longhao.Chen » 2022-08-04 16:10

按之前经验,我这机子给U盘拷贝大文件的就不行了,速度很慢,才几十K、一百K,还会中断。
如果Windows下也是这样,大概率是硬件问题,可以用一张PCIe转USB的卡验证一下。
头像
flwwater
帖子: 674
注册时间: 2010-10-31 9:15
系统: kubuntu 22.04
送出感谢: 2 次
接收感谢: 31 次

Re: 【求助】在Linux下用U盘拷贝文件到windows机子上的正确方法是什么?总是被提示“有问题,需要修复”?

#19

帖子 flwwater » 2022-08-04 16:19

新买的可能是QLC芯片工艺,如果你能买到SLC的就会很快,如果要买大容量的u盘,推荐长江存储的致态固态级移动硬盘.如果是做启动盘用的,推荐SLC级别芯片的,8GB的一般20元左右,64GB的100多元.如果你的太便宜,真可能是QLC的.
个人收藏的古风音乐和纯音乐(钢琴,笛子,二胡等):
https://url17.ctfile.com/d/15983117-44661221-77a33e
(访问密码:6220
头像
yq-ysy
论坛版主
帖子: 4302
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)
送出感谢: 0
接收感谢: 99 次

Re: 【求助】在Linux下用U盘拷贝文件到windows机子上的正确方法是什么?总是被提示“有问题,需要修复”?

#20

帖子 yq-ysy » 2022-08-04 22:34

flwwater 写了:
2022-08-04 16:19
新买的可能是QLC芯片工艺,如果你能买到SLC的就会很快,如果要买大容量的u盘,推荐长江存储的致态固态级移动硬盘.如果是做启动盘用的,推荐SLC级别芯片的,8GB的一般20元左右,64GB的100多元.如果你的太便宜,真可能是QLC的.
我的电脑是同一个硬盘双系统,在win10下复制大文件到U盘,可以达到40M/秒。
固态的U盘现在也贵,觉得不大划算(也并不经常用启动盘)。
Longhao.Chen 写了:
2022-08-04 16:10
按之前经验,我这机子给U盘拷贝大文件的就不行了,速度很慢,才几十K、一百K,还会中断。
如果Windows下也是这样,大概率是硬件问题,可以用一张PCIe转USB的卡验证一下。
以下是今天的测试过程:
我的电脑是同一个硬盘双系统,在Linux下复制文件到U盘后,在win10下多次插拔U盘都能认出来,但提示需要修复。
如果跳过不修复,可以正常打开,复制大文件到U盘,可以达到40M/秒。
但是,回到Linux下,虽然能认出来,却变成只读盘了,无法再写入。

然后,我进入笔记本电脑的win10下,插入U盘,提示需要修复时,点击“修复”,修复过程等了很久,又提示无法修复;
用win10的文件管理器打开,就一个绿色进度条走到头,仍不断地闪,等了十分钟才闪完,但也打不开。
这回问题变严重了,在win10下打不开了U盘了。

只好在笔记本电脑的win10下执行 chkdsk f: /f 修复U盘,提示某个目录“第一个分配单元无效。该项将被截断”,进度18%,
等了好一会,这命令似乎结束了,出现提示盘符,没有100%的进度显示,也没提示“修复完毕”,就这么结束了,但依然打不开这U盘。
重新插拔也不行,也是提示要修复,修也修不了,不修也用不了,只能看见第一层目录,打不开文件夹。

只好又回到Linux下,能用文件管理器打开U盘,那个错误的文件夹显示不出来,用终端 ls 命令能看到,但删除不了,提示IO错误
只好在Linux下格式化,sudo mkfs.vfat -F 32 /dev/sdc1 几秒就完成。
格式化完成后,为保险起见,先不用我是双系统台式电脑了,插到笔记本电脑的win10下,重新把这U盘格式化为exFAT,很快完成。
然后复制几个大的电影文件,速度很快,在35M~51M之间来回摆动。

回到Linux下,能正常打开U盘,能看到刚才在Win10下复制的电影文件。接着又在Linux往U盘复制了一个文件夹和几个小文件。
再进入笔记本电脑的win10下,插入U盘,又提示“需要修复”了,不修复,能打开U盘,但看不到Linux写入的文件,能见文件夹,但里面是空的。
选择U盘里的这个文件夹,想复制到win10下,进度条停在0%,像死机一样,等了很久自动退出。
在win10下重新插拔这个U盘,提示“需要修复”时,点击“修复”,又是像之前一样,等很久进度条都不动。
即使是在win10下格式化这个U盘,也是半天看不见进度条,等了半天提示说“无法完成格式化”。

只能回Linux下格式化,但我这系统是21.10的,不是5.4内核,默认不支持格式化成exfat格式 mkfs.exfat: command not found
如果像刚才那样格式化为FAT,提示 mkfs.vfat: unable to synchronize /dev/sdc1:Input/output error
sudo apt install exfat-fuse exfat-utils 又提示 E: 无法定位软件包 ,可能是因为上面几楼我说的软件源的错误。
心想完了,这下头大了,win10下和Linux下都无法格式化这个U盘了。

在Linux下格式化失败后,又插回win10下,这次直接提示“是否需要格式化?”默认是exFAT,点击“是”,格式化很快完成。
然后在win10下,拷贝大文件很顺利……好吧,逃过一劫,U盘又救回来了。
但暂时不插回 Linux 系统了,反正事情就这样,故障反复出现。
头像
astolia
论坛版主
帖子: 5825
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 1012 次

Re: 【求助】在Linux下用U盘拷贝文件到windows机子上的正确方法是什么?总是被提示“有问题,需要修复”?

#21

帖子 astolia » 2022-08-15 17:16

yq-ysy 写了:
2022-08-04 22:34
只能回Linux下格式化,但我这系统是21.10的,不是5.4内核,默认不支持格式化成exfat格式 mkfs.exfat: command not found
mkfs.exfat找不到和5.4内核有个屁关系。mkfs.exfat又不是内核提供的,也没有哪个版本的内核支持格式化文件系统的。mkfs.xxx这类格式化文件系统的工具实质上也不需要内核对对应文件系统的读写支持。
yq-ysy 写了:
2022-08-04 22:34
sudo apt install exfat-fuse exfat-utils 又提示 E: 无法定位软件包 ,可能是因为上面几楼我说的软件源的错误。
你该不会是没有启用universe源吧? sudo apt-add-repository universe

反正在我看来,你的那些报错信息明显说明是硬件问题。要么是u盘,要么是usb接口。
如果你买的不是杂牌/冒牌u盘,我建议你考虑下是不是usb口供电不足,你的一系列操作遇到的错误都像是主板供电不足导致的。接手机能缓解也是因为手机自带电源,起了个反向供电的效果
头像
yq-ysy
论坛版主
帖子: 4302
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)
送出感谢: 0
接收感谢: 99 次

Re: 【求助】在Linux下用U盘拷贝文件到windows机子上的正确方法是什么?总是被提示“有问题,需要修复”?

#22

帖子 yq-ysy » 2022-08-15 23:46

astolia 写了:
2022-08-15 17:16
反正在我看来,你的那些报错信息明显说明是硬件问题。要么是u盘,要么是usb接口。
如果你买的不是杂牌/冒牌u盘,我建议你考虑下是不是usb口供电不足,你的一系列操作遇到的错误都像是主板供电不足导致的。接手机能缓解也是因为手机自带电源,起了个反向供电的效果
谢谢指导,主板供电不足——很有这可能。

回想这USB的故障是逐渐加重的,
几年以前,最早前后USB口都正常;
后来是移动硬盘插前面认不出,插后面才能认出;
再往后是前面的USB 3.0 口识别不了U盘;
最后是旁边了2.0口也认不出;
现在才发现文件管理器能认出,但复制大文件不稳定。

老旧机子,快淘汰了,等DDR5普及降价了,再换新机一步到位吧。
头像
yq-ysy
论坛版主
帖子: 4302
注册时间: 2008-07-19 12:44
来自: 广西(桂)南宁(邕)
送出感谢: 0
接收感谢: 99 次

【总结】在Linux下用U盘拷贝文件到windows机子上的正确方法是什么?总是被提示“有问题,需要修复”?

#23

帖子 yq-ysy » 2022-08-18 11:34

继续折腾这个U盘,在笔记本电脑的纯 Windows10 下用 Ventoy 制作启动盘,发现无法启动拷贝进去的 ISO 文件,
用 Hash 校验软件计算,校验码不对。反复多次拷贝 ISO 文件并校验,有时某个文件对了,另一个文件又不对。
为了排查方便,最后只拷贝 2 个 ISO 文件,第一个文件校验码对了,第二个文件就不对,切换拷贝的顺序,也是第二个文件必错。
而且在校验错误的这个文件的过程中,发现校验的进度条走到一半时会停留很久——由此猜测,这个U盘有坏道了。

于是用 DiskGenius 检测,果然U盘有坏道,也许是之前多次测试,死机时强拔U盘造成的,记下柱头号,重新分区,跳过有坏道的部分。
这个过程也不成功,连 DiskGenius 都无法分区,只好如上次所说,插到Linux机子上,格式化为Fat格式,再插回Windows电脑,才能分区。
这里又遇到一个问题,就是 Ventoy 只认第一个分区里的 ISO 文件,
好在我这个U盘坏道是位于大概 6G 这个位置,如果坏道再靠前一点,分区不够 4G 左右,就无法用来做 Ventoy 启动盘了。
于是在笔记本电脑 Win10 里安装 Ventoy 时,在它的菜单里选择“保留后部分区”,指定了数据,就只用头部 5.8G 。

分区好后,在笔记本电脑 Win10 里,又继续往这个 5.8G 的 Ventoy 分区拷贝 ISO 文件,校验码又不对!
反复拷贝几次都是这样,仔细观察,拷贝时开头的一段(1G左右的位置)拷贝速度有点不正常,会变得很慢,后面一大段就一直很平稳。
于是又怀疑,可能这个地方又出现坏道了。
这次我先拷贝一些分散的小文件,占据开头1G 的位置,然后再拷贝 ISO 文件,果然这回 ISO 文件拷贝顺利,速度平稳,Hash 校验正确。
然后用这个 U盘来启动电脑,终于能看到安装系统的界面了。
U盘坏道.jpg
再次用 DiskGenius 检测 U盘坏道,发现这个 5.8G 的 Ventoy 分区前部有一小块被标记为黄色的“一般”错误,还不是红色的“损坏”。
怪不得 ISO 文件校验不对,就是这个原因引起的。
同样,这个 U盘后面的一大块保留分区(与Ventoy无关区)插到笔记本电脑 Win10 里,在拷贝一些备份文件时,也遇到速度变慢的情况,
所以就有这个规律:凡是速度突然变慢、卡住停留很久的,就多半是 U盘的坏道或出错的部位,这个部位的文件 Hash 校验必定是不对的。
U盘坏道检查.jpg
这是更早之前用的另一个U盘,真是五彩斑斓啊!那么多黄色的“一般”,
难怪我用它制作 Ventoy 启动盘,从来没有成功引导过一次。

总结:一是便宜的 U盘有质量问题,二是我的 Linux 老旧台式电脑可能主板给 USB 接口的供电不足,所以又造成了这种更复杂的问题……唉。

qy117121 写了:
2022-07-31 9:25
我用ventoy好久了,linux和windows 下都复制过iso没有出过问题
用的exFAT文件系统

经常遇到的是 Linux 复制文件到U盘,文件管理器显示复制完成了,但还是要等一会才停止对U盘的写入
请问你用的是什么牌子、什么型号的 U盘?
flwwater 写了:
2022-08-04 16:19
新买的可能是QLC芯片工艺,如果你能买到SLC的就会很快,如果要买大容量的u盘,推荐长江存储的致态固态级移动硬盘.如果是做启动盘用的,推荐SLC级别芯片的,8GB的一般20元左右,64GB的100多元.如果你的太便宜,真可能是QLC的.
好,谢谢指点。
确实,多花一点钱,省心、省事、省时间,也是值得的。
(贫穷限制了我的思维,什么都想“省”,结果耗费了其它更宝贵的东西。)
onlylove
论坛版主
帖子: 5086
注册时间: 2007-01-14 16:23
送出感谢: 2 次
接收感谢: 157 次

Re: 【终结】在Linux下用U盘拷贝文件到windows机子上的正确方法是什么?总是被提示“有问题,需要修复”?

#24

帖子 onlylove » 2022-08-18 21:25

你这……主板和优盘都买新的吧
回复