我一直在处理外部驱动器上的文件(分区表 GPT、文件系统 BTRFS)。由于某种原因驱动器关闭,现在我无法重新安装它。无论我做什么,都会出现此错误:
Error mounting /dev/sdc1 at /media/user/vault: mount(2)
system call failed: File exists (udisks-error-quark, 0)
我读过类似的问题,所有这些问题要么没有提供答案,要么没有帮助。
- 物理断开驱动器并再次重新连接不起作用。
- 分区
/dev/sdc1
未挂载。没有什么可以卸载的。 - 未插入其他外部驱动器,文件夹
/media/user
为空。 - 只有完全重新启动系统才能解决问题,但我失去了所有进度,必须重新开始。
更新1:是否第三次完全重新启动系统。确保系统不会进入睡眠状态。仍然...驱动器断开连接,这次进度为 5%,而前两次进度为 20% 左右。注意到最初的驱动器是/dev/sda1
,在我重新连接驱动器后,它变成了/dev/sdc1
。这可能是它不重新安装的原因吗?以及如何修复它?我需要将驱动器安装在同一路径中。
更新2:在journalctl中找到:BTRFS warning (device sdb1): duplicate device fsid:devid for <drive-uuid>:1 old:/dev/sdb1 new:/dev/sdc1
.日志中还有尝试读取 sdb1 的连续 BTRFS 错误,就好像它认为它仍然处于连接状态一样:BTRFS error (device sdb1): bdev /dev/sdb1 errs: wr 0, rd 372, flush 0, corrupt 0, gen 0
。
更新3:这接缝相关:BTRFS 警告(设备 sda1):重复设备 fsid:devid。因此存在两个问题:(1) 外部磁盘无故断电,(2) BTRFS 无法识别这是同一磁盘,因为设备路径发生了变化。
更新4:为什么重复设备会发出警告,看来应该是错误......
更新5:驱动器断开连接时的消息。没有任何迹象表明驱动器断开连接的原因......
kernel: usb 2-2: USB disconnect, device number 4
kernel: xhci_hcd 0000:00:14.0: WARN Set TR Deq Ptr cmd failed due to incorrect slot or ep state.
kernel: sd 1:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
udisksd[854]: Cleaning up mount point /media/user/vault (device 8:17 no longer exists)
systemd[1]: media-user-vault.mount: Succeeded.
systemd[1252]: media-user-vault.mount: Succeeded.
systemd[1]: Stopping Clean the /media/user/vault mount point...
systemd[1]: [email protected]: Succeeded.
systemd[1]: Stopped Clean the /media/user/vault mount point.
PSjournalctl和dmesg有什么区别?输出是一样的。
更新6: 另一篇相关帖子。但仍然没有关于如何解决问题(2)的答案。也许您可以告诉 BTRFS 驱动器已断开连接,或者更改设备路径。没想到 BTRFS 会遇到这样的问题...((
更新7:看起来您可以重新连接驱动器而无需重新启动,但不清楚原因。也许如果有对最近断开连接的驱动器上的文件的读取请求,btrfs 预计驱动器会返回并具有相同的设备路径。但是,如果请求停止一段时间,它会删除有关“旧”设备的信息并允许重新安装。
更新8:停止读取磁盘的脚本和重新安装之间的时间少于重试时间。可能读取数据的进程必须被杀死,这是非常悲伤的((