首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
V2EX  ›  Linux

Linux 系统运行命令报错,貌似磁盘坏了,这种情况还有救嘛

  •  
  •   hellojinjie · 66 天前 · 1577 次点击
    这是一个创建于 66 天前的主题,其中的信息可能已经有所发展或是发生改变。

    手贱就运行了一下 fio 命令

    fio -filename=/dev/sda -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=20G -numjobs=30 -runtime=100 -group_reporting -name=mytest1
    

    然后就发现出现下面的错误,部分命令无法运行。

    各位大神还有救嘛,

    ma@tzc81:~$ java
    Inconsistency detected by ld.so: ../sysdeps/x86_64/dl-machine.h: 540: elf_machine_rela_relative: Assertion `ELFW(R_TYPE) (reloc->r_info) == R_X86_64_RELATIVE' failed!
    ma@tzc81:~$ ld
    Segmentation fault (core dumped)
    ma@tzc81:~$ ps
    -bash: /bin/ps: cannot execute binary file: Exec format error
    ma@tzc81:~$ top
    Segmentation fault (core dumped)
    ma@tzc81:~$ file
    file: error while loading shared libraries: /usr/lib/x86_64-linux-gnu/libmagic.so.1: invalid ELF header
    
    
    14 回复  |  直到 2018-12-20 11:30:55 +08:00
        1
    likuku   66 天前   ♥ 1
    备份在哪里?
        2
    hellojinjie   66 天前
    @likuku 目前没有备份,一直想着做备份,,一直拖着,,泪。。。
        3
    BFDZ   66 天前
    这看着不像磁盘坏了,是系统程序坏了,把工作资料备份,重装个系统应该就可以了

    试一下 fsck -y /dev/sda
    修复文件系统
        4
    kernel   66 天前
    这是啥命令啊,又是 io 又是目标文件是 /dev/sda 的,感觉很危险
        5
    likuku   66 天前
    @BFDZ
    @kernel

    随手搜了下 fio 相关资料,找到的第一篇介绍文,开头就警告了以下:

    “注意 : 性能测试建议直接通过写裸盘的方式进行测试,会得到较为真实的数据。但直接测试裸盘会破坏文件系统结构,导致数据丢失,请在测试前确认磁盘中数据已备份。”

    好吧... 看起来 LZ 是直接写到 /dev/sda 了,那... 节哀顺变了
        6
    jimzhong   66 天前
    先用 dd 把 sda 完全备份一下,然后试试 fsck 能否恢复大部分数据吧。
        7
    jimzhong   66 天前
    如果数据价值不高的话建议在 sda 上重建分区表然后重装系统。
        8
    likuku   66 天前   ♥ 1
    碰巧因为隔壁帖子里提到正确擦除 ZFS Metadata 的讨论,
    我想起了 GPT 分区除了磁盘头外,还在磁盘尾巴保留了第二分区表备份,

    假若 LZ 是 GPT 分区,那么还有可能使用磁盘尾部的备用 GPT 分区表来恢复分区。
        9
    likuku   66 天前
    #6 作法必须称赞!非常标准专业正确。
        10
    jimzhong   66 天前
    @likuku 我觉得他不仅是分区表坏了,分区内部的数据也坏了。
    @jimzhong 忘了说建议在 liveCD 里面 dd 备份。
        11
    msg7086   65 天前
    看命令行,前 20G 的数据已经擦干净了。我觉得楼主可以洗洗睡了。
        12
    vuuv   65 天前 via Android
    前 20G 有三成内容被随机覆盖,大约 6G 的数据,应该会干掉大部分系统文件及大量的用户数据。
    建议放弃抢救。
        13
    aaaaasam   65 天前
    一切皆为文件,你这个和 echo '' > /dev/sda 基本一样,估计你连分区表都弄没了,如果数据重要的话,就别瞎折腾了 送去数据恢复把
        14
    statfall   63 天前 via Android
    心疼
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   786 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 16ms · UTC 20:46 · PVG 04:46 · LAX 12:46 · JFK 15:46
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1