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
参考:
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(卸载驱动)