找到终端打开
命令 sudo fdisk -l
sudo临时获取权限,其他版本用su登录root后再执行fdisk -l
此命令用作查看本机硬盘分区列表
一定要根据磁盘大小和分区样式分辨出源盘和目标盘,错了可就全反了。切记。
不要弄错!
如图原盘为/dev/sda 目标盘为/dev/sdb
用命令
sudo dd if=/dev/sda of=/dev sdb
执行即可,
dd命令比较老,默认的传输块比较小,大约只是几百kb,不难理解平时拷贝大文件速度快遇到小文件速度特别慢。因此加上bs参数,也就是每个传输块大小设置一下bs=32M(32mb为一个传输单元,这个自己决定,本人两块ssd对拷,硬盘速度500,参数bs超过20mb后基本dd速度在300多mb/s,已经跑到了这个dd命令速度的上限)
新命令为:
sudo dd if=/dev/sda of=/dev sdb bs=32M
这个dd在后台运行,想要实时看进度的话需要另开一个终端后输入下命令:
sudo watch -n 10 killall -USR1 dd
(其中的10为10s显示一次进度,可自行设置,新终端里会每10s显示一下速度和完成数)
因为是全盘扇区对拷所以时间=容量/速度。
500g硬盘如果按照300m/s计算
500x1024mb/300=1700s=28分钟
也可以of改为一个文件,做备份文件,文件大小和硬盘一样=500g,
想要压缩文件的命令改为:
dd if=/dev/sda1 bs=32M | gzip > sda1.dd.gz (大于号后面:备份文件位置和文件名)
gzip对系统盘的压缩率特别高,500g盘压缩后为30G左右,相当小,利于存储,只是反向还原时候没有1比1文件还原的速度快。大家有兴趣保留硬盘文件可以试试。
完成后关机换回新硬盘即可使用。
但是,因为新盘多数容量很大(比如256g升级为512g容量),那么dd做好的新盘,前面几个分区和老盘一样,后面会出现256g未格式化的容量,现在就用到分区移动工具把后面三到四个隐藏分区移动到硬盘尾端,应用。
此步骤目的是把未分配的容量一步一步挪到C盘旁边,有几个隐藏分区就移动几次,直到未使用容量紧挨着数据盘之后。
然后用自带的磁盘管理扩展数据盘,把新盘的大容量扩展给了数据盘。