V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Daeyn
V2EX  ›  NAS

今天一番骚操作把 8T 硬盘全清了

  •  1
     
  •   Daeyn · 11 天前 via iPhone · 6359 次点击

    起因是这样,我的电脑用了小米智能插座,早上的时候不小心按到了关闭电源,电脑被断电了,重新开机后正常运行。这个 8T 希捷硬盘就一个分区 ext4 是挂在 debian 虚拟机上,里面放着的都是电影,于是想检测下文件错误。运行 fsck /dev/sdb, 发现好多错误,点了几个 yes 之后发现还有挺多错误按 ctrl+c 退出了。

    然后我又在 WS 2022 下用 diskgenius 打开看看,一打开 diskgenius ,报错说要修复什么表,然后点了 correct ,结果就这样了。

    之后又运行 fsck 发现根本无法读取设备了。尝试了好几种方法都不行。

    一怒之下直接全格了。所以,请问大家这以上哪个操作出的问题?

    第 1 条附言  ·  11 天前
    好了,大家轻喷。其实也没有很重要的东西,大部分可以重新下。只是有些珍藏了十多年的电影忘记了名字,丢了就丢了。
    第 2 条附言  ·  10 天前
    结案了,首先感谢大佬说的 r-studio ,扫了 8 小时,能恢复大部分文件,并且有大部分目录结构和文件名,我没购买,79 美元,不值得,恢复了大部分目录结构和文件名对我来说已经够了。

    然后出问题的原因复现了,这块 8T 硬盘用 diskgenius 创建的 ext4 分区,然后在 Debian 下执行 fsck /dev/sda 就会需要修复,如下:
    root@debian-server:~# fsck /dev/sda
    fsck from util-linux 2.38.1
    e2fsck 1.47.0 (5-Feb-2023)
    ext2fs_open2: Bad magic number in super-block
    fsck.ext2: Superblock invalid, trying backup blocks...
    Block bitmap for group 16320 is not in group. (block 140737732546560)
    Relocate<y>?

    我昨天点了 yes 所以数据坏了,其实我应该执行的是,fsck /dev/sda1:
    root@debian-server:~# fsck /dev/sda1
    fsck from util-linux 2.38.1
    e2fsck 1.47.0 (5-Feb-2023)
    DATA: clean, 11/244191232 files, 15458968/1953506304 blocks

    这样是 OK 的。

    其次,我如果在 linux 下 gdisk 分区,并且用 fsck /dev/sda 并不会报错,但是实际我应该对分区执行/dev/sda1 而不是 device 执行。

    谨记,fsck 用于分区/dev/sda1 ,不是物理磁盘/dev/sda ,特别是在 Windows 创建的分区。
    56 条回复    2024-05-09 18:05:43 +08:00
    conge
        1
    conge  
       11 天前 via Android
    工具没问题
    人爱没事儿瞎折腾
    CEBBCAT
        2
    CEBBCAT  
       11 天前
    > 一怒之下直接全格了
    😄
    ---
    找个英语好,会 Google 的朋友请他吃顿火锅教教你怎么恢复分区表吧。根据正文中的介绍[1],你可能不想投入太多精力学习和维护它,说太多了也没用,主要还是太慌了,或者说……你当时明白自己在做什么吗?

    1. 错误截图、日志都没有贴
    ab
        3
    ab  
       11 天前
    > 一怒之下直接全格了
    Daeyn
        4
    Daeyn  
    OP
       11 天前 via iPhone
    @CEBBCAT 我英语不差,重点是 diskgenius 以前从没出过问题,它说需要 correct ,我就点了 correct 也没 save all operation 操作。
    kneo
        5
    kneo  
       11 天前 via Android
    最后一步的问题。
    ltkun
        6
    ltkun  
       11 天前 via Android
    重要数据一个是备份 一个就是 raid
    cabing
        7
    cabing  
       11 天前
    不重要的数据还好啊~
    defunct9
        8
    defunct9  
       11 天前   ❤️ 1
    吃饱了撑的
    sunshower
        9
    sunshower  
       11 天前   ❤️ 2
    人出的问题,别赖工具
    lzgshsj
        10
    lzgshsj  
       11 天前   ❤️ 10
    你和前两天那位“一怒之下”把微信记录全清了的哥们有异曲同工之妙
    Seria
        11
    Seria  
       11 天前
    控制好情绪
    zealotpuppy
        12
    zealotpuppy  
       11 天前   ❤️ 2
    为什么你会觉得电脑断电后需要去手动检查文件错误?
    一个 ext4 分区,拿 windows 的软件去修复,你觉得可靠吗?
    zfyStars
        13
    zfyStars  
       11 天前
    一时冲动的报应了
    lstz
        14
    lstz  
       11 天前 via Android
    我重要的数据都放云上了,所以笔记本时不时就格掉重来
    尽管有时候会误删一些可能会用到的文件,但对我来说,只要我有一个月没有想起用它的时候,我就觉得这对我来说是没有用,可以删除。
    cev2
        15
    cev2  
       11 天前   ❤️ 16
    哈哈,如果 OP 描述没错,我猜,应该是这里出现了问题。
    “运行 fsck /dev/sdb, 发现好多错误”
    可以看出 OP 之前可能是该磁盘上既没有创建 MBR/GPT 之类的分区表,也没有在此基础上创建分区,而是直接把物理磁盘挂载到了 Debian 上然后对整个磁盘格式化为 ext4 了。注意,这在 Linux 上是允许的,毕竟某上面一切都是文件,OP 把 sdb 还是 sdb1 、sdb2 (前者为磁盘设备,后者为分区)格式化在 Linux 看来都没有毛病。
    但在 Windows 上很少有这么干的,在 Windows 上的 DiskGenius 看来,这块磁盘是没有分区表的,也就是它认为这块磁盘是未经过初始化的,于是提示你该磁盘上分区表错误(没有有效的分区表数据),是否修复分区表?
    OP 选择了修复,于是 DiskGenius“帮你”创建了一个新的分区表,这个分区表数据覆盖掉了部分原 ext4 文件系统的数据,此时在 Windows 上的 DiskGenius 看来这块磁盘现在是一个健康且正常的“新”存储设备了,而在 Linux 上看来这块磁盘现在也是一个健康且正常的“新”存储设备,而不会认为是之前的 ext4 文件系统。所以再 fsck 自然也就没法读取了。
    其实此时 ext4 文件系统上的数据大部分都还在,还是可以恢复的。但 OP 一怒之下全格了,即便如此仍有部分数据可以恢复。如果格了之后又写入了新数据,就不好说了。
    duxiansen
        16
    duxiansen  
       11 天前
    忽然想到,有没有办法定期扫描硬盘,然后把文件目录自动导出为树状图或者思维导图?(不要让我自己写,我不会)
    Daeyn
        17
    Daeyn  
    OP
       11 天前 via iPhone
    @cev2 不是。这块盘买来直接用 diskgenius 检测完坏道,就用
    Daeyn
        18
    Daeyn  
    OP
       11 天前 via iPhone
    @cev2 不是,这块盘买来就用 diskgenius 扫了遍坏道,然后在 diskgenius 建立了一个 ext4 分区,然后直通给 hyper-v 下的 debian 。
    coagent
        19
    coagent  
       11 天前
    硬盘有故障可能丢数据情况下,扫描检查、分区表查看与修复等各种操作都要谨慎,全格之前更应该思考清楚,不要那么快就死心,冷静处理,当然如果是非重要数据另当别论。

    现在已经全格了,别再继续操作其他,联系数据恢复的人,应该还能恢复一些。

    顺便简单说下我最近 NAS 数据的一次经历:

    因为网络配置错误导致无法访问,在熟悉 NAS 且做数据恢复的朋友的明确数据不会丢情况下重置了下,结果报存储池错误,因为我加密了存储池,要我重置保管库密码,然后就要上传加密恢复密钥,当初配置存储池时下载保存的密钥不知道放哪了,再电话朋友,告之那没救了,只能全格,数据恢复也不行,再问客服、谷歌搜索、油管翻,没有可以解密的方法,都是全格。翻自己的移动硬盘、网盘(上 NAS 时已清了很多),也没找着密钥。

    照理一般情况下,都会去全格算了,然后重建数据,其实我有绝大部分数据备份在移动硬盘。
    但我有点不死心,就凉一边去,心情很差,但也没办法。
    接下来的时间,我就用本地数据和移动硬盘工作,然后思考回忆首次配置 NAS 时的情况,一周下来无果。
    再后来,就用虚拟机去搭建测试环境模拟我的场景,包括存储池加密,以及出错的恢复等,在测试操作存储池加密后自动下载了密钥文件,这时开始出现大转机,灵机一动,拿到测试环境的密钥文件,然后用这个文件的属性:文件名、后缀、文件大小,再在我几台电脑和移动硬盘上全盘搜、扫描,结果真让我搜到了 NAS 存储池加密恢复密钥文件。
    开机 NAS ,登录,上传密钥,解密存储池,所有数据回来了。
    likunyan
        20
    likunyan  
       11 天前
    有遇到过 U 盘插在 Windows 提示要格式化,但是实际上是可以用的,忘记什么问题了。
    vincent7245
        21
    vincent7245  
       11 天前
    "一怒之下直接全格了", 楼主脾气不小啊 /狗头
    Daeyn
        22
    Daeyn  
    OP
       11 天前 via iPhone
    其实也不是一怒之下全格,因为前段时间在 debian 下把一个 lvm 磁盘重新创建分区为 GPT ,都是 ext4 ,发现数据还在。所以在 diskgenius 上备份了原来分区表,删除分区,重新建立分区,选了 ext4 ,发现 diskgenius 在格式化。。。
    wellerman
        23
    wellerman  
       11 天前
    看起来是快速格式化,如果要找回,推荐一个我用了 20 年的神器 R-Studio ,可以恢复大部分。
    ma836323493
        24
    ma836323493  
       11 天前
    没事你扫它干嘛
    jackerbauer
        25
    jackerbauer  
       11 天前   ❤️ 1
    有多少小姐姐的啊
    Xbluer
        26
    Xbluer  
       11 天前
    我犯了差不多的错误,但是小米智能插座后面接着 UPS ,UPS 耗完之前,NAS 自动关机了,幸免于难。
    Daeyn
        27
    Daeyn  
    OP
       11 天前 via iPhone
    @wellerman 我正在用 diskgenius 恢复,扫出很多,但是没文件名和目录名,感觉没啥用呀
    coagent
        28
    coagent  
       11 天前
    用 UFS 扫一下看看,
    官网: https://www.ufsexplorer.com/
    zephyru
        29
    zephyru  
       11 天前
    @duxiansen 只要名字?这功能可能的确是写个脚本定时执行会简单些...从根目录遍历文件夹,然后随便找个自己喜欢的方式输出图片/文件,功能太简单了,反而很难想象会有软件专门做...
    Chad0000
        30
    Chad0000  
       11 天前 via iPhone
    @lzgshsj
    op 的电影还可以恢复,那个哥们儿的客户余额算是说不清楚了
    totoro625
        31
    totoro625  
       11 天前
    推荐使用 NTFS 格式的硬盘,debian 又不是不能读取,因为你的主要维护环境是 Windows ,这样可以减少 Windows 下问题的发生
    SoyaDokio
        32
    SoyaDokio  
       11 天前
    @cev2 #15 感谢大佬详尽描述带我全面了解磁盘和分区的基本知识。
    amber0317
        33
    amber0317  
       11 天前
    @cev2 居然还能不创建分区表直接格式化为分区?受教了,还有这种操作,下次试试(
    SoyaDokio
        34
    SoyaDokio  
       11 天前
    我也是 8T 的盘,直接挂在路由器下,存了一千多部个人喜欢的经典电影。当然另外还有些“学习视频”。
    如果有天也遇上这问题,只能说格了就格了吧,就当治疗松鼠症了(笑
    wellerman
        35
    wellerman  
       11 天前
    @Daeyn #27 再强调一下吧,目前非专业恢复领域,如果 r-studio 恢复不了的,其他软件也不可能恢复出来。r-studio 可以保持目录的完整。
    YanxuGong
        36
    YanxuGong  
       11 天前
    @lzgshsj 看笑了😅
    duxiansen
        37
    duxiansen  
       11 天前
    @zephyru 对,只想要名字,因为重要数据都会备份,不重要的也无所谓。但如果硬盘突然出问题的话,我只想知道哪些数据丢了,以便及时补充备份。
    确实不值得单独做一个软件,不过之前看过一些文件管理器,也没找到集成这个功能的
    nevadax
        38
    nevadax  
       11 天前
    @duxiansen @zephyru 没那么复杂吧,linux 有个命令叫做 tree ( dnf install tree ),就是输出目录树形结构图的。
    [hola@service-sg ~]$ tree
    .
    ├── cloudreve
    │ ├── conf.ini
    │ └── key.bin
    ├── dataset.yaml
    ├── elk.yaml
    ├── gw.yaml
    ├── istio-1.20.0
    │ ├── bin
    │ │ └── istioctl
    │ ├── LICENSE
    │ ├── manifests
    │ │ ├── charts
    │ │ │ ├── base
    │ │ │ │ ├── Chart.yaml
    .....
    配合 crontab 就可以定时了
    sky96111
        39
    sky96111  
       11 天前
    我也怕出现误触断电这个问题,所以给插座设置了安全密码
    0superx0
        40
    0superx0  
       11 天前
    如果宽带够快的话,直接主机跑 alish 挂载网盘到本地吧,这样数据安全多了,系统怎么坏也影响不到网盘的数据,
    建议用不限速的 189 网盘,开一年会员 4T 也才 123 元,硬盘的费用都能跑几年会员了.
    PS:我也是数据丢失多次后,才这么玩的,本地保护数据虽然保密性好点,但安全性跟方便性真比不上网盘.
    layxy
        41
    layxy  
       11 天前
    我用联想官方镜像重装系统,我两个硬盘,主硬盘分了 C 和 D,数据盘是 E,然后重装很多人说会清除硬盘数据,我以为会清除 C 盘,撑死就是清除我主硬盘,结果重装后把我数据盘也清了,问题数据盘是单独的硬盘,清这个盘有必要吗,害得我花一天时间下载游戏(即便明知清数据盘其实也会选择这样,只是不明白为啥会清无关硬盘数据)
    june4
        42
    june4  
       11 天前
    ext4 不是日志文件系统吗,按理说不受断电影响,顶多是丢了内存中未保存的数据,并不会损坏数据结构
    ixixi
        43
    ixixi  
       11 天前
    小米的这个插座 确实很容易误触 !
    zhywang
        44
    zhywang  
       11 天前
    @coagent 心态很好,能够冷静下来,判断情况,复盘细节,深挖解决方案并且最终解决,赞
    MillaMaxwell
        45
    MillaMaxwell  
       11 天前
    @lzgshsj #10 匹夫一怒!
    ChainLock
        46
    ChainLock  
       11 天前
    > 一怒之下直接全格了
    busier
        47
    busier  
       11 天前   ❤️ 1
    年轻没经验而已,多吃几次亏就好了

    我用 btrfs 的时候,遇到断电或死机后,文件系统检查的时候,都是先用只读模式检查一遍看看故障情况 (当然很幸运,没出现文件存储位翻转,更没出现文件系统结构错误)

    你这一上来不备份就执行修复操作 也是没谁了
    fengpan567
        48
    fengpan567  
       11 天前
    细说什么电影?
    Jirajine
        49
    Jirajine  
       11 天前
    这种盘确实没有备份的必要,只备份元数据就行。
    LaoDahVong
        50
    LaoDahVong  
       11 天前
    题外话, 小米的这个开关电源没有确认提醒我觉得是真的很傻...
    当时买来想检测一下 homelab 的耗能的, 发现开关电源这么容易误触后直接丢一边了.
    busier
        51
    busier  
       10 天前 via iPhone
    @LaoDahVong
    1 、小米智能开关设置操作密码!防止误操作!
    2 、设置充电保护,功耗小于 5W 持续 5 分钟就自动关闭插座。实际关机时,通过软件关闭系统。稍后小米智能插座会因为低功耗自动关闭。永远不要直接操作小米插座关闭电源。(配合第一条防止误操作)
    luckyjack
        52
    luckyjack  
       10 天前
    果然再精密的系统,最大的漏洞还是人(狗头
    igenhao
        53
    igenhao  
       10 天前
    手贱是电子设备的第一大杀手
    xzaf
        54
    xzaf  
       10 天前
    我之前从群晖往 gen10+搬数据的时候,丢了我收藏的所有套图。几个月之后才发现,不知道哪里出了问题,淡定,佛系,安慰自己,丢就丢了吧,反正本来也不会看的。
    qxdo1234
        55
    qxdo1234  
       10 天前
    我之前也有 一怒之下 全部格盘重装的冲动,并且前面十几年的电子设备都是这么过来的,手机定期 格盘刷机,电脑也定期全部格盘重装系统,后来发现没意义,出问题要修,而不是从头开始,更何况,不同设备上或多或少会有一些难以找回来的资料,有问题要解决问题。
    24Arise
        56
    24Arise  
       10 天前
    一怒之下怒了一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1370 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 17:12 · PVG 01:12 · LAX 10:12 · JFK 13:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.