我有一台 Macbook pro 2011,装有 Ubuntu 21.04。
我通过 Firewire 或 IEEE1394 800 接口和外部机箱将 Ubuntu 分区备份到 2017 年 5 月制造的外部硬盘 HGST 1TB 5400 rpm,
mac2011-linux% lsmod|grep firewire
firewire_sbp2 24576 3
firewire_ohci 45056 0
firewire_core 69632 2 firewire_ohci,firewire_sbp2
crc_itu_t 16384 1 firewire_core
使用 rsync 版本 3.2.3 协议版本 31(随 Ubuntu 提供)。
我刚买了一个新的外壳:正常复制许多文件后,它出现输入输出错误,最后系统冻结(显示但不响应鼠标、键盘等ping
)。
使用以下方式获取日志journalctl -k -b -1
:
Oct 11 17:23:33 mac2011-linux kernel: firewire_sbp2 fw1.0: sbp2_scsi_abort
Oct 11 17:23:34 mac2011-linux kernel: firewire_core 0000:04:00.0: phy config: new root=ffc1, gap_count=5
Oct 11 17:23:36 mac2011-linux kernel: firewire_core 0000:04:00.0: phy config: new root=ffc1, gap_count=5
Oct 11 17:23:38 mac2011-linux kernel: firewire_core 0000:04:00.0: rediscovered device fw1
Oct 11 17:23:39 mac2011-linux kernel: firewire_sbp2 fw1.0: error status: 0:9
Oct 11 17:23:39 mac2011-linux kernel: firewire_sbp2 fw1.0: failed to reconnect
Oct 11 17:23:40 mac2011-linux kernel: firewire_sbp2 fw1.0: logged in to LUN 0000 (0 retries)
Oct 11 17:23:40 mac2011-linux kernel: firewire_sbp2 fw1.0: status write for unknown ORB
Oct 11 17:24:10 mac2011-linux kernel: firewire_sbp2 fw1.0: sbp2_scsi_abort
Oct 11 17:24:11 mac2011-linux kernel: firewire_core 0000:04:00.0: phy config: new root=ffc1, gap_count=5
Oct 11 17:24:13 mac2011-linux kernel: firewire_core 0000:04:00.0: phy config: new root=ffc1, gap_count=5
Oct 11 17:24:15 mac2011-linux kernel: firewire_core 0000:04:00.0: rediscovered device fw1
Oct 11 17:24:16 mac2011-linux kernel: firewire_sbp2 fw1.0: error status: 0:9
Oct 11 17:24:16 mac2011-linux kernel: firewire_sbp2 fw1.0: failed to reconnect
Oct 11 17:24:16 mac2011-linux kernel: firewire_sbp2 fw1.0: logged in to LUN 0000 (0 retries)
Oct 11 17:24:47 mac2011-linux kernel: sd 6:0:0:0: Device offlined - not ready after error recovery
Oct 11 17:24:47 mac2011-linux kernel: sd 6:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_TIME_OUT driverbyte=DRIVER_OK cmd_age=67s
Oct 11 17:24:47 mac2011-linux kernel: sd 6:0:0:0: [sdb] tag#0 CDB: Write(10) 2a 00 61 bf 93 78 00 02 00 00
Oct 11 17:24:47 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1639945080 op 0x1:(WRITE) flags 0x4000 phys_seg 8 prio class 0
Oct 11 17:24:47 mac2011-linux kernel: sd 6:0:0:0: rejecting I/O to offline device
Oct 11 17:24:47 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1564304632 op 0x1:(WRITE) flags 0x103000 phys_seg 3 prio class 0
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 73400735, lost async page write
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 73400736, lost async page write
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 73400737, lost async page write
Oct 11 17:24:47 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1639945592 op 0x1:(WRITE) flags 0x4000 phys_seg 9 prio class 0
Oct 11 17:24:47 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1463993832 op 0x1:(WRITE) flags 0x4800 phys_seg 64 prio class 0
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 60861885, lost sync page write
Oct 11 17:24:47 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1564304664 op 0x1:(WRITE) flags 0x103000 phys_seg 4 prio class 0
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 73400739, lost async page write
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 73400740, lost async page write
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 73400741, lost async page write
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 73400742, lost async page write
Oct 11 17:24:47 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1639946104 op 0x1:(WRITE) flags 0x4000 phys_seg 8 prio class 0
Oct 11 17:24:47 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1564304712 op 0x1:(WRITE) flags 0x103000 phys_seg 2 prio class 0
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 73400745, lost async page write
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 73400746, lost async page write
Oct 11 17:24:47 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1463994344 op 0x1:(WRITE) flags 0x800 phys_seg 50 prio class 0
Oct 11 17:24:47 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1564304760 op 0x1:(WRITE) flags 0x103000 phys_seg 1 prio class 0
Oct 11 17:24:47 mac2011-linux kernel: Aborting journal on device sdb4-8.
Oct 11 17:24:47 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1639946616 op 0x1:(WRITE) flags 0x4000 phys_seg 9 prio class 0
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs warning (device sdb4): ext4_end_bio:342: I/O error 10 writing to inode 20449433 starting block 204993464)
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs error (device sdb4): ext4_journal_check_start:83: comm kworker/u8:4: Detected aborted journal
Oct 11 17:24:47 mac2011-linux kernel: JBD2: Error -5 detected when updating journal superblock for sdb4-8.
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs error (device sdb4): ext4_journal_check_start:83: comm rsync: Detected aborted journal
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs (sdb4): Remounting filesystem read-only
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs (sdb4): previous I/O error to superblock detected
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs (sdb4): failed to convert unwritten extents to written extents -- potential data loss! (inode 20449433, error -30)
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on device sdb4, logical block 82855727
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on device sdb4, logical block 82855728
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on device sdb4, logical block 82855729
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on device sdb4, logical block 82855730
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on device sdb4, logical block 82855731
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on device sdb4, logical block 82855732
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on device sdb4, logical block 82855733
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on device sdb4, logical block 82855734
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on device sdb4, logical block 82855735
Oct 11 17:24:47 mac2011-linux kernel: Buffer I/O error on device sdb4, logical block 82855736
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs warning (device sdb4): htree_dirblock_to_tree:993: inode #20316727: lblock 0: comm rsync: error -5 reading directory block
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #20316727: comm rsync: reading directory lblock 0
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #20316727: comm rsync: reading directory lblock 0
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #20316727: comm rsync: reading directory lblock 0
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #20316727: comm rsync: reading directory lblock 0
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #20316727: comm rsync: reading directory lblock 0
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #20316730: comm rsync: reading directory lblock 0
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #20316730: comm rsync: reading directory lblock 0
Oct 11 17:24:47 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #20316730: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: print_req_error: 3981 callbacks suppressed
Oct 11 17:24:55 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1576952952 op 0x0:(READ) flags 0x3000 phys_seg 1 prio class 0
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error: 868 callbacks suppressed
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #18744014: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 977098752 op 0x1:(WRITE) flags 0x3800 phys_seg 1 prio class 0
Oct 11 17:24:55 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 977098752 op 0x1:(WRITE) flags 0x3800 phys_seg 1 prio class 0
Oct 11 17:24:55 mac2011-linux kernel: buffer_io_error: 4647 callbacks suppressed
Oct 11 17:24:55 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 0, lost sync page write
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs: 857 callbacks suppressed
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:55 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1576952952 op 0x0:(READ) flags 0x3000 phys_seg 1 prio class 0
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #18744014: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 977098752 op 0x1:(WRITE) flags 0x3800 phys_seg 1 prio class 0
Oct 11 17:24:55 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 977098752 op 0x1:(WRITE) flags 0x3800 phys_seg 1 prio class 0
Oct 11 17:24:55 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 0, lost sync page write
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:55 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1576952952 op 0x0:(READ) flags 0x3000 phys_seg 1 prio class 0
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #18744014: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 977098752 op 0x1:(WRITE) flags 0x3800 phys_seg 1 prio class 0
Oct 11 17:24:55 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 977098752 op 0x1:(WRITE) flags 0x3800 phys_seg 1 prio class 0
Oct 11 17:24:55 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 0, lost sync page write
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:55 mac2011-linux kernel: blk_update_request: I/O error, dev sdb, sector 1576952952 op 0x0:(READ) flags 0x3000 phys_seg 1 prio class 0
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #18744014: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 0, lost sync page write
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #18744014: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 0, lost sync page write
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #18744014: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 0, lost sync page write
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #18744014: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 0, lost sync page write
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #18744014: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 0, lost sync page write
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblockw
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #18744014: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 0, lost sync page write
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs error (device sdb4): __ext4_find_entry:1524: inode #18744014: comm rsync: reading directory lblock 0
Oct 11 17:24:55 mac2011-linux kernel: Buffer I/O error on dev sdb4, logical block 0, lost sync page write
Oct 11 17:24:55 mac2011-linux kernel: EXT4-fs (sdb4): I/O error while writing superblock
Oct 11 17:24:58 mac2011-linux kernel: EXT4-fs warning (device sdb4): dx_probe:757: inode #24248322: lblock 0: comm rsync: error -5 reading directory block
Oct 11 17:24:58 mac2011-linux kernel: EXT4-fs warning (device sdb4): dx_probe:757: inode #24248322: lblock 0: comm rsync: error -5 reading directory block
Oct 11 17:24:58 mac2011-linux kernel: EXT4-fs warning (device sdb4): dx_probe:757: inode #24248322: lblock 0: comm rsync: error -5 reading directory block
Oct 11 17:24:58 mac2011-linux kernel: EXT4-fs warning (device sdb4): dx_probe:757: inode #24248322: lblock 0: comm rsync: error -5 reading directory block
Oct 11 17:24:58 mac2011-linux kernel: EXT4-fs warning (device sdb4): dx_probe:757: inode #24248322: lblock 0: comm rsync: error -5 reading directory block
Oct 11 17:24:58 mac2011-linux kernel: EXT4-fs warning (device sdb4): dx_probe:757: inode #24248322: lblock 0: comm rsync: error -5 reading directory block
Oct 11 17:24:58 mac2011-linux kernel: EXT4-fs warning (device sdb4): dx_probe:757: inode #24248322: lblock 0: comm rsync: error -5 reading directory block
Oct 11 17:24:58 mac2011-linux kernel: EXT4-fs warning (device sdb4): dx_probe:757: inode #24248322: lblock 0: comm rsync: error -5 reading directory block
Oct 11 17:24:58 mac2011-linux kernel: EXT4-fs warning (device sdb4): dx_probe:757: inode #24248322: lblock 0: comm rsync: error -5 reading directory block
Oct 11 17:24:58 mac2011-linux kernel: EXT4-fs warning (device sdb4): dx_probe:757: inode #24248322: lblock 0: comm rsync: error -5 reading directory block
使用相同的硬件,我可以使用 Mac OS X 备份 Mac OS 分区。(例如,这排除了电缆问题。)
虽然 Firewire 通常不需要外部电源,但我曾使用过外壳附带的外部电源,但无济于事。
修复或重新格式化目标卷后,我只读到文件系统错误和系统崩溃。
我碰巧有另一个相同型号(Storeva AluICE)的外壳,也有同样的问题。
我进一步缩小了问题的范围:由于备份分区也是可引导的,我尝试使用新旧机箱来引导它。只有新机箱出现 I/O 错误和内核崩溃。因此,rsync
不涉及。
此外,我在 Crucial SSD MX500 1 TB 上重复了该问题,排除了存储设备问题。
在同一设备上启动 Mac OS El Capitan 非常顺利。
在通过内部 SATA 连接的相同设备上启动 Ubuntu 没有问题。
也可以看看Ubuntu 在目标磁盘模式下写入 Macbook Pro 时出现只读错误。
Ubuntu Firewire 驱动程序可能存在一些缺陷。
如何解决这个问题?
从Ubuntu 论坛我发现这个有趣的内容:
mac2011-linux% more /etc/modprobe.d/blacklist-firewire.conf
# Select the legacy firewire stack over the new CONFIG_FIREWIRE one.
blacklist ohci1394
blacklist sbp2
blacklist dv1394
blacklist raw1394
blacklist video1394
#blacklist firewire-ohci
#blacklist firewire-sbp2
不确定该如何处理这个。