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

在 Linux 系统运行的时候 dd 系统到新硬盘

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

    有试过这样干的老哥吗,我的 PVE 磁盘报 I/O error 了,badblocks 扫了一下有很多坏块;我买了一块和原本 PVE 系统磁盘相同容量的新 SSD ,准备用dd if=/dev/sda of=/dev/new_disk,这样会有什么问题吗,有人试过吗,或者有没有更好的办法。( PVE 系统磁盘上装了一个比较重要的虚拟机)

    11 条回复    2023-06-11 17:09:46 +08:00
    ashong
        1
    ashong  
       324 天前   ❤️ 1
    dd 遇到坏块会出问题吧
    试试 fsarchive

    omv 系统都是用 fsarchive 备份恢复的,没出过问题
    xyjincan
        2
    xyjincan  
       324 天前   ❤️ 1
    先把重要数据用 ubuntu live cd 逐个复制出来,然后你可以试试 dd
    cxh116
        3
    cxh116  
       324 天前 via Android
    新硬盘分好区,挂载新旧硬盘,直接 cp -a 就可以了,顺便还能调整分区大小。
    CapNemo
        4
    CapNemo  
       324 天前
    pve 保虚拟机的话备份后下载?
    ysc3839
        5
    ysc3839  
       324 天前 via Android   ❤️ 1
    用外部系统拷吧,嫌麻烦且是 Ubuntu 的话可以加内核参数 break=premount 然后在里面拷
    Arthur2e5
        6
    Arthur2e5  
       324 天前   ❤️ 5
    首先全都 `mount -o remount,ro`,免得因为中间写入出现不一致,然后用 `ddrescue /dev/sda /dev/sdb /tmp/mapfile` 忽略坏块复制。最后开图形分区软件(例如 gparted )调整一下分区表,处理一下磁盘大小不一样之类的问题。你觉得大小一样,实际上多少几个 M 很正常。

    dd 对坏块的处理比较麻烦,需要 conv=noerror,sync iflags=fullblock 。调整块大小提速什么的也很烦,不如让 ddrescue 管。

    你也可以让坏块消失。数据已经读不出了,不如起个 WinPE 交给 diskgenius 或者 victoria 写点数据强行重分配。定点用 `hdparm --write-sector` 也行,就是你得去自己找 LBA 。

    @ashong fsarchiver 不能对拷,只能进文件再出。https://manned.org/fsarchiver.8
    @xyjincan 没必要。
    @cxh116 确实,就是引导……哦对哦,现在 GPT 都不管那玩意了。可是 cp -a 遇到 I/O 错误大概会中止,所以还得先把坏道消失掉。
    Paulownia
        7
    Paulownia  
       324 天前
    以前试过一次 dd ,但是也是各种问题,后来找了个 liveusb ,然后 rsync 到新硬盘,再修复 grub
    Andim
        8
    Andim  
       324 天前
    两块盘容量相同可以用 Clonezilla
    ExplodingFKL
        9
    ExplodingFKL  
       324 天前   ❤️ 2
    还是基于文件拷贝最靠谱 ...

    只不过要先把 pve 完全停掉



    mount -o remount,ro

    然后

    rsync -av --exclude xxx /old /new

    最后

    mount -o bind /dev /new/dev
    mount -o bind /proc /new/proc
    mount -o bind /sys /new/sys

    chroot /new /bin/bash

    # grub-install --target xxx /dev/sdx
    # update-grub
    ExplodingFKL
        10
    ExplodingFKL  
       324 天前
    hanssx
        11
    hanssx  
       313 天前
    @Arthur2e5
    @ExplodingFKL
    两位老哥,能帮忙看一下我这个情况吗,现在再生龙跳坏块拷贝 win10 ,卡住了,当前块好久不动了
    https://v2ex.com/t/947711
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2714 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:31 · PVG 13:31 · LAX 22:31 · JFK 01:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.