Linux系统备份还原工具1(DD)(应用实例)

dd 命令显示执行进度

dd 接收 USR1 信号

# 启动 dd 进程并将 dd 进程的 PID($!)保存到 shell 变量 PID
$ if=/dev/sda1 of=/dev/zero bs=4096 & PID=$!

# 每隔 2 秒向 dd 进程发送一个 USR1 信号,要求 dd 进程输出拷贝进度
$ while kill -USR1 $PID; do sleep 2; done

使用 status 选项

# GUN 的 dd 版本必须大于 8.24
$ dd --version
dd (coreutils) 8.25
Copyright (C) 2016 Free Software Foundation, Inc.

$ dd if=/dev/sda1 of=/dev/zero bs=4096 status=progress
2870411264 bytes (2.9 GB, 2.7 GiB) copied, 20 s, 144 MB/s

使用 pv 命令

$ pv -tpreb /dev/sda1 | dd of=/dev/zero
1.02GiB 0:00:08 [ 108MiB/s] [====>   ..............   ]  0% ETA 0:20:11

在 Mac OS X 中安装 gun coreutils 就可以使用 status 选项,或使用 pv 命令显示进度。

///

以下实例没经过大量测试,可能在一些机器上不会有效。

一般围绕以下几点进行设置:

1、dd完后调整分区正式大小

# umount /dev/sdb1 #在操作之前先卸载所有挂载
# e2fsck -f /dev/sdb1
# resize2fs /dev/sdb1

2、如果是dd整块硬盘的,需要修改新硬盘的UUID,在下面这个文件中,但是要注意挂载新硬盘分区的位置

/etc/fstab

查询UUID方法:Linux下查看硬盘UUID和修改硬盘UUID(转) - EasonJim - 博客园

3、更新GRUB,如果装上新硬盘后能正常启动系统时,运行以下命令更新

sudo update-grub

或者使用Boot-Repair进行修复(没用过)

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair

4、如果不能正常启动系统,那么需要进去Live CD中,然后挂载新硬盘分区,然后更新GRUB,比如下面的操作

#首先挂载根目录
sudo su
mount /dev/sdb1 /mnt
#接下来将一些需要的目录“绑定到” Live CD的系统上去
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
#最后切换root根目录到/mnt
chroot /mnt
#执行update-grub来更新引导
sudo update-grub

提示:如果硬件驱动不一样,要注意卸载(没实践过)。

或者直接安装和更新GRUB(没实践过):

grub2-install /dev/sdb
grub2-mkconfig -o /boot/grub2/grub.cfg

用完后记得卸载

#退出chroot环境
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt

参考:

https://www.v2ex.com/t/342283

Ubuntu 通过 Live CD 更新Grub恢复引导Boot Menu_Linux教程_Linux公社-Linux系统门户网站(更换主板)

IBM Developer 正在整合其语言站点组合。 – IBM Developer(迁移Linux)

把整个Linux系统迁移到另一个硬盘 - 简书(迁移到另一个硬盘)

[原]迁移(克隆)Linux系统 - linuxの飘扬 - Power by www.linuxfly.org(迁移系统到虚拟机)

https://www.v2ex.com/t/183310(复制到新硬盘)

技术|Linux下修改引导器的工具:Boot-Repair(GRUB修复工具)

https://www.findhao.net/easycoding/2070(迁移到新硬盘)

Ubuntu 通过 Live CD 更新grub恢复引导Boot Menu - 普兒 - 博客园

Ubuntu下使用Ubuntu Live CD 修复Grub引导 - 卡饭网(修复GRUB)

Linux下如何删除驱动-reesun-ChinaUnix博客(卸载驱动)

unity - How can I uninstall a nvidia driver completely ? - Ask Ubuntu(卸载驱动)

Ubuntu桌面生存指南 (4) --- Ubuntu系统备份恢复升级策略 - 张佳伟的博客

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值