V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
a251922581
V2EX  ›  问与答

不小心用 dd 把硬盘/dev/sdb 的前 1MB 用零填充了 有办法补救吗

  •  
  •   a251922581 · 2018-02-03 08:17:16 +08:00 · 2993 次点击
    这是一个创建于 2264 天前的主题,其中的信息可能已经有所发展或是发生改变。
    dd if=/dev/zero of=/dev/sdb bs=1M count=1
    想 U 盘刻录个 ISO,结果 U 盘是 /dev/sdc,硬盘是 /dev/sdb 把硬盘的前 1MB 给弄掉了。纯数据盘,不影响系统。有办法补救吗,上面就一个分区。
    12 条回复    2018-02-04 10:42:31 +08:00
    Osk
        1
    Osk  
       2018-02-03 08:36:22 +08:00 via Android
    用 diskgenius 找分区吧,如果第一个分区起始扇区号小于 2048 就坑大了
    heyeshuang
        2
    heyeshuang  
       2018-02-03 08:40:56 +08:00 via Android
    试试 testdisk ?
    xratzh
        3
    xratzh  
       2018-02-03 09:40:28 +08:00
    那个 1MB 是用来保护磁盘出现坏道时不会从头开始坏的吧,这样危害小点。我一直这样以为的。不知道对不对,所以我觉得无所谓啦。
    shiyouming91
        4
    shiyouming91  
       2018-02-03 10:00:17 +08:00
    你要是那个分区是从 1MiB 开始的( 1048576 字节 /2048 扇区)你可以试试用 losetup -o 1048576 -f /dev/sdb 把你的数据盘从 1MiB 开始创建一个 loop device 然后试试能不能 mount 这个 loop device,如果能成功你可以手动创建一个分区表或者更安全地先直接把文件备份出来

    不行的话试试用 r-studio 之类的全盘扫描恢复吧
    shiyouming91
        5
    shiyouming91  
       2018-02-03 10:03:02 +08:00
    手动创建一个分区表 -> 手动在你的硬盘上创建一个分区表,以及一个从 1048576 字节 /2048 扇区开始的分区

    当然先备份文件出来是最安全和推荐的
    wzxlovesy
        6
    wzxlovesy  
       2018-02-03 10:08:31 +08:00
    如果是 MBR 的分区表的话,尝试修复 MBR 吧
    ryd994
        7
    ryd994  
       2018-02-03 13:24:21 +08:00 via Android
    再买一块同样容量或更大的,全盘镜像出来随便尝试
    lifanxi
        8
    lifanxi  
       2018-02-03 13:30:10 +08:00 via Android
    先恢复分区,然后用那个分区上的别的 Superblock 修复头上的那块,然后大部分文件应该都可以正常访问了。
    ytjfmv
        9
    ytjfmv  
       2018-02-03 14:01:14 +08:00
    @ryd994 dd 到另外的硬盘上就行, 还可以用 gzip lzo 压缩一下
    msg7086
        10
    msg7086  
       2018-02-03 16:19:22 +08:00
    现在一般分区都是从 1M 起分,你知道分区大小的话,fdisk 进去用同样参数创建分区并且不抹签名就能恢复了。

    如果就一个分区的话,fdisk 进去,new 一个全盘大小的分区出来就修完了。

    当然,如上面所说,安全做法是先 dd 备份。
    metorm
        11
    metorm  
       2018-02-03 16:26:58 +08:00 via Android   ❤️ 1
    dd 原名 disk destroyer 果然名不虚传呀……
    Kmzl
        12
    Kmzl  
       2018-02-04 10:42:31 +08:00 via Android
    @metorm 把虚拟机格过
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5362 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 09:24 · PVG 17:24 · LAX 02:24 · JFK 05:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.