![umount -l:内核指的是已删除的、不存在的设备](https://linux22.com/image/115155/umount%20-l%EF%BC%9A%E5%86%85%E6%A0%B8%E6%8C%87%E7%9A%84%E6%98%AF%E5%B7%B2%E5%88%A0%E9%99%A4%E7%9A%84%E3%80%81%E4%B8%8D%E5%AD%98%E5%9C%A8%E7%9A%84%E8%AE%BE%E5%A4%87.png)
我收到以下消息:
kernel: Buffer I/O error on dev sdb1, logical block 107390598, async page read
事实上,USB HDDsdb
已被移除:lsblk
也显示没有提及sdb
。
我umount -l
在所有已安装的文件系统上执行,直到获得umount: /media/XXX: not mounted
.
我收到文件系统错误:sdb1
NTFS 是否包含环回 btrfs 文件系统。 (我umount -l
在包含文件系统之前对环回文件系统进行了操作)
Jul 11 11:14:13 svelte ntfs-3g[2744]: ntfs_attr_pread_i: ntfs_pread failed: Input/output error
Jul 11 11:14:13 svelte ntfs-3g[2744]: Failed to read vcn 0x0: Input/output error
Jul 11 11:14:13 svelte kernel: Buffer I/O error on dev sdb1, logical block 107390598, async page read
Jul 11 11:14:14 svelte sudo[26283]: pam_unix(sudo:session): session closed for user root
Jul 11 11:17:20 svelte ntfs-3g[2744]: ntfs_attr_pread_i: ntfs_pread failed: Input/output error
Jul 11 11:17:20 svelte kernel: Buffer I/O error on dev sdb1, logical block 107390598, async page read
Jul 11 11:17:20 svelte kernel: Buffer I/O error on dev sdb1, logical block 107390598, async page read
Jul 11 11:17:20 svelte kernel: blk_update_request: 40 callbacks suppressed
Jul 11 11:17:20 svelte kernel: blk_update_request: I/O error, dev loop0, sector 420501056
Jul 11 11:17:20 svelte kernel: btrfs_dev_stat_print_on_error: 40 callbacks suppressed
Jul 11 11:17:20 svelte kernel: BTRFS error (device loop0): bdev /dev/loop1 errs: wr 0, rd 211, flush 0, corrupt 0, gen 0
同样奇怪的是,环回文件的名称不正确。它实际上是/media/2TB/Backup/svelte-backup.btrfs
,但显示为:
$ losetup
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO
/dev/loop0 0 0 1 0 /Backup/svelte-backup.btrfs 0
即使losetup -d
exits ,我也无法删除此循环设备0
。
我知道的唯一解决方法是重新启动。
有没有办法告诉内核忘记sdb
?它会影响 btrfs,因为我相信内核对相同的文件系统 UUID “挂载”两次感到不满。