我正在重新索引区块链并收到以下消息:
无法打开文件 /home/ki/.bitcoin/rev00502.dat 错误:刷新:无法打开文件 502 *** 将撤消文件刷新到磁盘失败。这可能是 I/ 错误的结果
有什么想法可以解决它吗?
答案1
从您的评论来看,您的 ext4 文件系统/dev/sda1
有错误,因此第一件事就是进行文件系统检查。
由于这可能是您的根文件系统,因此在它不活动时执行此操作可能是一个好主意,因此我建议您使用实时文件系统(USB 记忆棒上的 Ubuntu,即任何不太旧的 Ubuntu 安装映像写入 USB 记忆棒)来执行此操作:
启动实时文件系统,打开 shell 窗口并首先找出你的普通磁盘是什么设备;该lsblk
命令将很有用:
sh@balrog:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931,5G 0 disk
├─sda1 8:1 0 97,7G 0 part /win/boot
└─sda2 8:2 0 833,9G 0 part /win/app
sdb 8:16 0 931,5G 0 disk
├─sdb1 8:17 0 2G 0 part
├─sdb2 8:18 0 30G 0 part /hd-root-18-04
├─sdb3 8:19 0 30G 0 part /hd-root-14-04
├─sdb4 8:20 0 1K 0 part
└─sdb5 8:21 0 869,5G 0 part /work
sdc 8:32 0 232,9G 0 disk
├─sdc1 8:33 0 2G 0 part [SWAP]
├─sdc2 8:34 0 30G 0 part /
├─sdc3 8:35 0 30G 0 part /ssd-root-20-04
└─sdc4 8:36 0 170,9G 0 part /ssd-work
sr0 11:0 1 1024M 0 rom
您刚刚启动的 USB 驱动器现在可能是/dev/sda
;在这种情况下,您的正常磁盘将是/dev/sdb
。检查blkid
输出并将分区大小与您预期的大小进行比较。然后启动(强制)文件系统检查:
sudo fsck -f /dev/sdb1
(或者fsck -f /dev/sda1
,取决于哪个磁盘是哪个)
如果它报告错误并询问是否应该修复它们,请回答y
“是”。如果它报告了太多错误,以至于回答它们变得乏味,请使用Ctrl+终止它C并重新启动它并-y
添加参数:
sudo fsck -f -y /dev/sdb1
(或-fy
简称)
完成后,关闭实时系统;或者你也可以用更粗暴的方式
sync
sudo reboot
sync
写入所有待处理的磁盘缓冲区。
如果该问题再次出现,请检查smartmontools
您的磁盘是否开始出现硬件问题。