保留原厂一键还原隐藏分区的正确方法

很多人购买品牌台式机、大部分的笔记本出厂自带的系统 , 厂家都制作了还原出厂 , 系统出问题想要回到最初状态的时候还是很有用的 。这些多数都被制作在硬盘的隐藏分区里 。
如下图 , 后面三到四个分区都是厂家制作系统备份和工具的分区 。

保留原厂一键还原隐藏分区的正确方法

文章插图
 
OS(C)后面三个分区即是系统还原出厂的功能区 。
一些人觉得硬盘太小 , 需要升级硬盘但是又想保留这些出厂分区的时候 , 如笔者更换512g的时候就想保留下原始的隐藏分区 , 在简单使用几款常用工具后 , 开机用recovery工具均出现卡死在启动界面的情况 。
去电售后得到的答复这个隐藏分区使用只有厂家出厂制作 。本着生命在于折腾的原则 。对比两块硬盘的分区参数唯一发现了分区id有所不同 。如下:
保留原厂一键还原隐藏分区的正确方法

文章插图
 
大概原因是还原程序需要读到相应的id才会进入此分区 。
下面介绍一种保险但是比较复杂的操作 。linux下硬盘克隆 。
因为linux系统对分区的id很严谨 , 用自带命令dd对两个硬盘做对拷就可以 。
(简单说下dd命令 , linux命令下格式
dd if=/a of=/b
if后输入拷贝源 , 可以是硬盘名称可以是分区可以是某个文件 , 总之输入源
of后输入目的位置 , 可以是硬盘名称可以是分区也可以是文件形式 。
简单吧  , 盘---盘就是克隆硬盘 , 分区----分区就是分区克隆 , 盘----文件就是做备份为文件 , 文件----磁盘就是还原 。dd命令很多功能这里就不赘述了 。)
下面要做的是就是进入linux环境 , 最简单的就是live版 ,  ubuntu 18 19都可 。
保留原厂一键还原隐藏分区的正确方法

文章插图
 
镜像做个启动U盘就可以
重启电脑 , U盘启动后进去环境 , 我用虚拟机做演示
保留原厂一键还原隐藏分区的正确方法

文章插图
 
找到终端打开
保留原厂一键还原隐藏分区的正确方法

文章插图
 
命令 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未格式化的容量 , 现在就用到分区移动工具把后面三到四个隐藏分区移动到硬盘尾端 , 应用 。


推荐阅读