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

Linux 快速备份系统

  •  
  •   xcaptain · 2019-04-11 01:49:15 +08:00 · 9225 次点击
    这是一个创建于 1814 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有一台 xps 15 9570 的笔记本,512G 硬盘,因为硬盘不够用所以买了一块 1T 的西数 SSD,费了一晚上时间把原有的数据备份到新硬盘,现在分享一下踩过的坑,希望能帮到有需要的人

    我总共尝试了 3 种方法:

    1. dd
    2. tar
    3. rsync

    第一种 dd 是直接拷贝硬盘,速度极快我观察到的平均速度有 800M/s,但是生成的新硬盘大小变为 400G 了,还不好调整分区大小,所以我到这一步就放弃了

    接下来尝试了 tar,照着 https://www.cnblogs.com/skynext/p/4023117.html 这篇文章操作的,速度比较慢,估计 100M 的速度吧,大概花了 1 小时同步完 400G 数据,不过同步完数据之后我重启系统发现不能引导新的硬盘,所以又格式化了

    最后才意识到是引导的问题,但是又不想花 1 小时去复制数据,所以从网上找了一个 rsync 的命令,https://www.ostechnix.com/backup-entire-linux-system-using-rsync/ 照着做了一下速度还挺快,20 多分钟就把 400G 数据同步完了,接下来要做的就是修复引导

    mount /dev/sda3 /mnt/
    mount /dev/sda1 /mnt/boot
    arch-chroot /mnt
    编辑 /etc/fstab,修改对应分区的 uuid,可以通过 blkid 命令查看
    # 生成 efi 文件
    grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
    # 生成 ramfs
    mkinitcpio -p linux
    
    # 生成新的 grub.cfg 文件,生成完之后检查一下对应启动盘的 uuid 是否正确
    grub-mkconfig -o /boot/grub/grub.cfg
    

    以上操作执行完就得到了一块可引导的,包含完整数据的备份硬盘了,接下来设置 bios,给这块新银盘添加一个引导记录,开机按 F2 进入 bios,找到 boot sequence,添加一个 UEFI 引导记录(找到对应的 efi 文件,/boot/EFI/GRUB/grubx64.efi),然后保存开机就能进入了。

    26 条回复    2022-01-17 01:18:17 +08:00
    Bardon
        1
    Bardon  
       2019-04-11 07:04:45 +08:00
    cpio
    wtks1
        2
    wtks1  
       2019-04-11 07:25:27 +08:00 via Android
    其实有一款叫再生龙的 linux 备份软件
    chinesestudio
        3
    chinesestudio  
       2019-04-11 07:40:08 +08:00 via Android
    @wt clonezilla
    neosfung
        4
    neosfung  
       2019-04-11 08:02:13 +08:00 via iPhone
    再生龙是我还在用的台湾软件
    ys0290
        5
    ys0290  
       2019-04-11 08:05:19 +08:00 via iPhone
    进帖子前第一反应,clonezilla,不错的
    cxh116
        6
    cxh116  
       2019-04-11 08:43:40 +08:00 via Android
    我直接用 cp -a 命令,新硬盘分好区,挂载,每个分区执行 cp 拷文件,改 fstab,改引导。1 小时就从 128g 的 ssd 换成 256g 的 ssd,顺便还完美的扩展分区的大小。
    msg7086
        7
    msg7086  
       2019-04-11 08:52:36 +08:00
    一般就是
    1. 建分区
    2. rsync 复制文件
    3. 修引导
    Tink
        8
    Tink  
       2019-04-11 08:59:02 +08:00 via iPhone
    其实 dd 可以的
    itabas016
        9
    itabas016  
       2019-04-11 09:03:17 +08:00 via Android
    clonezilla 的 beginner 模式简直就是一键傻瓜式操作🙈
    xcaptain
        10
    xcaptain  
    OP
       2019-04-11 09:13:14 +08:00 via iPhone
    @msg7086 是的,这应该是最简单最安全的备份方式了
    xcaptain
        11
    xcaptain  
    OP
       2019-04-11 09:22:35 +08:00 via iPhone
    dd 和 tar 我是在 livecd 下操作的,因为如果是当前系统应该没法 dd 正在用的这块硬盘到一个新的硬盘吧(没测试过)

    rsync 不用在 livecd 下操作,在当前系统给新硬盘分区挂在然后同步数据就行,不用在黑呼呼的 livecd 界面操作更有安全感
    修改 /etc/fatab 的时候一定要用 uuid 标识分区,因为换了硬盘接口之后硬盘名可能就不叫 /dev/sda 了,另外每次格式化分区之后对应的 uuid 会变,所以要及时更新到 fatab

    重新生成 cpio 是必要的,系统会解析不了 fstab 里面定义的分区

    硬盘分区推荐使用 gpt 因为引导真是非常方便,直接复制 /boot 分区然后生成 grub 就行,不像 mbr 有个 512 字节的引导分区不好复制
    xcaptain
        12
    xcaptain  
    OP
       2019-04-11 09:25:37 +08:00 via iPhone
    @cxh116 如果是在当前系统备份的话应该要忽略掉一些如 /sys/dev/run 之类的目录,这些临时文件复制到了也没用
    Mithrandir
        13
    Mithrandir  
       2019-04-11 09:30:10 +08:00
    aa514758835
        14
    aa514758835  
       2019-04-11 09:32:52 +08:00
    如果是硬盘对拷的话你可以尝试 ghost,盘对盘拷贝,
    yuhr123
        15
    yuhr123  
       2019-04-11 10:23:37 +08:00
    硬盘对靠直接用 PE 的 diskginues 就可以,无需修复引导。

    另外,大家说的再生龙 Clonezilla 也很好用。

    还有 fsarchive 也很理想。
    momocraft
        16
    momocraft  
       2019-04-11 10:37:25 +08:00
    用基于文件的工具转移根分区总让我觉得不安,害怕丢什么文件系统属性..

    文件系统自带的转移安心点,如 btrfs snapshot/send/receive
    xcaptain
        17
    xcaptain  
    OP
       2019-04-11 10:58:19 +08:00
    大功告成

    ![最终图]( )
    xcaptain
        18
    xcaptain  
    OP
       2019-04-11 11:00:07 +08:00




    zeroDev
        19
    zeroDev  
       2019-04-11 13:19:45 +08:00 via Android
    yulgang
        20
    yulgang  
       2019-04-11 13:35:22 +08:00
    @xcaptain dd 之后,使用 resize2fs 可以扩大分区吧,比如 resize2fs /dev/sda3
    tankren
        21
    tankren  
       2019-04-11 14:12:03 +08:00
    clonezilla
    reus
        22
    reus  
       2019-04-11 15:01:23 +08:00
    用 lvm,新硬盘建 pv,然后直接 pvmove 就能迁移
    herozzm
        23
    herozzm  
       2019-04-11 15:03:50 +08:00 via iPhone
    插移动硬盘(或者用硬盘+盒子外置) 用增量备份 备份时挂载上 备份完毕卸载 计划任务中 已经用了五年 很稳定
    henglinli
        24
    henglinli  
       2019-04-12 19:18:58 +08:00
    @momocraft 備份文件確實有點落後了,但是,目前還有人認爲 btrfs 不穩定呢.
    我曾經將 btrfs 的 snapshot send 到 apfs 的 macos 中后,電腦壞了,然後通過開源的 apfs 工具在 choromeos 中把它提取出來,折騰一番照樣啓動了,由於當時用的-native 編譯的,後來又重新安裝了.
    metalbitch
        25
    metalbitch  
       2020-06-02 15:46:58 +08:00
    fdsafasdfasdfsdafsadf
    HackLiu
        26
    HackLiu  
       2022-01-17 01:18:17 +08:00 via iPhone
    l 云服务器 Linux 系统热备份有没有推荐方案
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5423 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 07:45 · PVG 15:45 · LAX 00:45 · JFK 03:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.