两个硬盘,换没有系统的硬盘还需要更换硬盘不重装系统统吗?

查看: 14716|回复: 41
更换新硬盘无需重装系统用克隆工具就行(详细教程)
发贴请勿包含网站外链(直接下载地址和网盘除外),屡犯者将封禁ID、网址永久屏蔽,感谢支持!
更换新硬盘无需重装系统用克隆工具就行(详细教程)
&&一块新硬盘想装到老电脑里,一般人认为要再次重装Windows如:或即将发布的,以及所有应用程序。其实完全不必要这样做,使用一些简单的克隆工具将旧硬盘克隆到新硬盘如:SSD即可。
&&下面为大家介绍三款易于使用的免费的克隆实用工具,可以帮你将数据从一个硬盘迁移到另一个硬盘,没必要从头开始重装操作系统和应用程序。
在你打算克隆硬盘或SSD之前,强烈建议先备份好所有数据。此外,确保要克隆的硬盘有足够的存储空间装得下所有的克隆数据。这里的克隆是指将一个存储磁盘里面的内容拷贝到另一个存储磁盘或克隆到“映像文件”,其内容克隆到另一只硬盘或SSD的磁盘叫做源磁盘,将接收来自源磁盘的克隆映像的磁盘自然就是目标磁盘。
三星Data Migration
现在三星的SSD市场占有率非常高,介绍的第一种数据拷贝方法就是使用三星Data Migration数据迁移软件。运行该程序后,点击末尾的“接受”同意相关条款和条件,初次运行时会自动更新下载它的最新补丁。
5.jpg (68.16 KB, 下载次数: 36)
19:06 上传
游客,如果您要查看本帖隐藏内容请
04软件更新完毕后就可以你从该窗口中选择Source Disk(源磁盘)和Target Disk(目标磁盘)。目标磁盘只能是三星SSD,但源磁盘可以是目前装有操作系统的任何磁盘(盘符为C:)。选择好磁盘后就可以开始克隆了,只要点击Start(开始),克隆过程就会开始。注意在克隆操作系统时尽量不要对电脑有任何操作,如果其他进程同时在运行可能会破坏克隆,这一点同样适用于其他克隆实用工具,用户不要掉以轻心。软件完成克隆后,你可以重启电脑进入BIOS,选择刚克隆好的三星SSD来启动操作系统。
Acronis True Image WD
固态硬盘方面有三星,而HDD中做得最好的就是Acronis True Imaged WD软件。不过要想使用新的硬盘一定要是WD磁盘,而源硬盘则品牌不限。运行安装后启动软件选择Clone disk(克隆磁盘)。克隆选项中有Automatic(自动)和Manual(手动)之分,其中自动选项可克隆整个磁盘,而手动让你可以选择想把哪些数据克隆到新磁盘上,这也是Acronis True Image WD软件比较特色的一点。选择模式后选择Source Disk(源磁盘)和Destination Disk(目的地磁盘),然后你就可以开始克隆磁盘了。
游客,如果您要查看本帖隐藏内容请
09Macrium Reflect
如果硬盘并非三星或者WD也不要紧,Macrium Reflect软件适合任何种类的硬盘,通用性是其最大的优势,不过速度方面会比品牌专用克隆工具要慢上一些。打开软件点击Clone this disk(克隆磁盘),软件会让你选择希望哪些磁盘作为源磁盘和目标磁盘。选择好磁盘后,点击下一步,即可开始克隆硬盘了。
3.jpg (130.93 KB, 下载次数: 43)
19:06 上传
游客,如果您要查看本帖隐藏内容请
更换新硬盘无需重装系统用克隆工具就行
更换新硬盘无需重装系统用克隆工具就行
人人为我,我为人人。
谢谢楼主,长长见识
谢谢,学习了
发贴请勿包含网站外链(直接下载地址和网盘除外),屡犯者将封禁ID、网址永久屏蔽,感谢支持!
真棒!真棒!真棒!真棒!真棒!
更换新硬盘无需重装系统用克隆工具就行太好了
不用重装系统,这样做客户就满意了
新入手一块硬盘,学习下
bjbkjbkjbkjb
学无止境谢谢
发贴请勿包含网站外链(直接下载地址和网盘除外),屡犯者将封禁ID、网址永久屏蔽,感谢支持!
官方免责声明:本站内容来自网友和互联网.若侵犯到您的版权.请致信联系,我们将第一时间删除相关内容!
Powered by Discuz!
过期罐头电脑论坛
win7旗舰版_windows10你敢一键重装系统?谈谈几种方法的利弊
1重装系统:你会重装系统么?  电脑几乎成了家庭、公司必备的工具,处处都可见到它的身影。可是电脑却不像像普通的家用电器那样经得起折腾,它显得比较的娇贵,比较容易出现故障。而大多数情况下,都是它的操作系统或安装的软件出现了问题,许多用户遇到这些问题,只能求助于电脑店,而你遇到此类问题时,会怎么做呢?  操作系统变得缓慢不堪了?出现各种莫名其妙的故障了?中毒了?这一类的软件类故障让人非常的烦恼,但解决的终极方法也很简单,那就是祭起重装系统大法来重新安装一个全新的系统,对付系统软件故障,这种作法通常都很有效。图1  你会重装系统么?你是自己动手丰衣足食还是求助于街边的电脑店呢?你用哪种方式重装系统呢?接下来我们来探讨一下重装系统的几种方式,同时也来看看这几种方式的利与弊。你别笑,术业有专攻,你可别以为重装系统是那么简单的活儿。有个网友的精彩回复,就很好的回答了你的笑意。&图2 网友的机智回答  的确,重装系统在你眼中可能是一个很简单的事儿,但在大多数人眼中,却是个技术活。什么设置BIOS启动设备啊,什么分区啊,什么安装驱动啊的,连名称都是第一次听说,你还让我自己弄去?还是拿到电脑店去给个几十块让他们搞定吧。可是,拿给街边的电脑店不仅需要花费金钱,还需要注意硬盘里的资料与隐私文件的保密,要知道有些技术人员还有浏览一下客户的硬盘里有些啥玩意的嗜好。图3 重装系统很简单?  的确,常规的重装系统方式对于普通用户来说,是具有一定的难度。于是便出现了许多便利的网友DIY版系统,你只需要把它们刻录到光盘或者写入U盘中,然后用它们启动电脑,接下来的操作就可以交给它们了,傻瓜式操作,不但帮你安装好系统,而且还帮你安装好硬件驱动甚至常用软件,省时省心。图4 你的电脑有没有被装过番茄花园这个著名的网友DIY的盗版系统呢  接下来,我们来探讨一下帮电脑重装Windows系统的几种方式,来看看它们的优缺点,有了它们或许可以帮你在操作系统出现问题后,自己搞定系统的重装操作哦。所以,本文针对初学者,老鸟略过。  这里警告一下,重装系统操作有风险,硬盘里的重要资料记得事先备份。重装系统教程之一 傻瓜式的辅助工具你用过没 小心一点免得被加料  发展到了现在,一些更加傻瓜式的工具诞生了,那就是各种各样的一键重装系统工具,让重装系统变得更加的简单。来看看用它们来重装系统简单不?  百度一下&重装系统&,你就会找到很多很多的一键重装系统工具,这里我们拿其中的一个来作为例子。来来来,小白一键重装系统就是你了。首先,这一类的工具通常都很小,不到20M大小难道还包含了系统安装文件,我们往下看?  运行&小白一键重装系统&(后简称小白好了)为啥右下角会提示用户关闭杀毒软件呢?怕误报?笔者便用ESET Smart Security扫描了一下下载到的5种一键重装系统类软件的安装包,结果其中两个被判断为可疑程序。这些情况有可能是误报,因为很多类似的破解黑客加壳工具都会给杀毒软件误报,但也可能会是真的被加了料的。咱接着说。图5 ESET Smart Security扫描结果 两款工具被判为了可疑文件  小白不仅为用户准备了一键重装系统工具,而且还附带了系统的备份还原工具,还有那软件安装工具,可以说功能比较的全面。  点击立刻重装系统,,小白将检测当前的系统环境,并且帮助用户备份旧系统里的关键目录下的资料,这一点做得比较的贴心。但是如果用户在系统分区其它目录下还保存有文件的话,记得手动备份。图6 备份资料  在系统选择方面,小白为用户提供了Windows XP、Windows 7 32位跟64位、Windows 8.1这几个不同版本的Windows系统,用户可以根据自己的喜好进行选择,这里,为了方便测试,笔者就选择了Windows XP。图7 提供多种版本的Windows  接下来就是漫长的下载过程,根据用户的网速及选择的Windows版本,花费时间不一。笔者的8M电信宽带下载Windows XP系统用了差不多1个小时。可以看到,小白下载的是一个gho文件。图8 漫长的下载过程2重装系统:一键重装系统的利弊  下载完毕会自动重启,然后自动进入GHOST恢复界面,进行刚刚下载的gho文件的恢复操作,恢复完毕,自动重启,进入经典的GHOST系统安装界面,也就是Windows的安装、设置及万能驱动的安装过程。图9 自动安装万能驱动  一切搞定后,就能进入一个全新的系统中了,小白还&贴心&的帮你安装了一些常用的软件,甚至还包含了杀毒软件,顺手帮你修改了浏览器首页。为啥要这么贴心,因为这些都可以为小白作者带来收益的。  有了万能驱动的帮忙,系统里的硬件大多都被安装好了通用驱动,使用上是没什么问题的,不过建议大家为显卡重新安装一下官方驱动。图10 新系统桌面图11 硬件驱动已经安装完毕  怎么样,用这类的&一键重装系统&类工具重装系统够简单吧,接下来咱就说说它的利弊。  优点在哪里?  1、傻瓜式操作,点点鼠标即可,初学者都可轻松搞定。也不用担心GHOST误操作。  2、无需设置BIOS启动顺序。  3、无需安装主板、显卡、声卡、网卡等的硬件设备驱动。(有些还是得自己安装的)  4、常用软件已经安装好,比如Office、压缩软件。看图软件,浏览器、聊天工具、下载软件等。  缺点在哪里?  1、容易出现兼容性问题:由于所用DIYT系统是经过修改及优化的,而且安装的是万能驱动,因此会带来一些莫名其妙的故障。而这些故障通常不易于排查。比如在小白系统中,在笔者测试时,就因为小白所用GHOST系统优化而关闭了一个无线网的系统服务,导致了无法连接无线网络,这一故障初学者根本就无从修复。诸如此类的故障可能还会有打印机无法打印,游戏顿卡等。图12 无线网络无法使用图13 关键服务被优化关闭  2、修改系统配置:修改浏览器首页是肯定的,还有搜索引擎也会被修改(添加合作标识),这都不是事儿。甚至有些网友DIY版系统为了防止用户修改这些设置,还有设置后台程序守护。最过分的的,还会在系统里安装一个下载器,在一定时间一定条件下自动启动,自动下载安装一大波的合作软件。  3、后门:所用GHOST系统是经过修改定制的,那么制作者就可以轻易地为它添加后门,比如加上一个隐藏的管理员帐号,比如用木马代替一下系统文件,这样一来,你的电脑就成为了肉鸡,黑客既可以轻松获取你的隐私资料文件,也可把它当成肉鸡去做他想做的事儿。你的网银、你的支付宝、你的游戏帐号,危矣!  4、限制:这类的工具使用还有限制条件,首先是你的旧系统尚能正常运行(通常都是不能正常运行了才去重装系统的好不好),正常的要求是能进入桌面,能运行该工具,还有能够连接互联网络。  5、盗版:这类工具所提供的系统多是盗版系统,而且还非常&贴心&的为用户自动激活了系统,因为补丁升级而破解失效重回未激活状态&你是盗版软件的受害者&提示随之而来。而附带的诸如Office、Winrar、Acdsee甚至还有Photoshop之类的软件也皆为盗版。使用盗版公司用户可得悠着点,个人用户也别说无所谓。  不得不说的是,现在如果你把电脑拿到街边的电脑店去要求重装系统的话,大多数店里,他们会熟练的拿出光盘或者U盘,然后轻松的帮你装上一个GHOST系统,同样是盗版系统,同样也附带上一大波的合作软件。既赚了你的重装系统的钱,也能跟软件厂商拿到合作费用。  当然,你也可以用&一键GHOST&工具来恢复事先下载好的GHOST系统的gho文件,操作也是傻瓜式的,在旧系统中安装一键GHOST的硬盘版,然后选择导入gho文件,导入后你就可以在旧系统中傻瓜式的恢复该gho系统备份。和上边的工具不同的是,在旧系统出问题而无法进入桌面时,也可以在其一键GHOST的开机恢复模式下来进行gho系统的恢复操作。图14 &一键GHOST&工具3重装系统:最基本的重装系统方式重装系统教程之二& 光盘/U盘安装方式 想要纯净系统就选它  其实,最好的方法就是自己安装一个纯净版的Windows,然后安装好硬件驱动,打好系统补丁、安装好常用软件,再用一个靠谱的杀毒软件扫描一下有无病毒木马,接着做个GHOST备份,以后有啥问题直接恢复该GHOST备份就可,这是最佳的解决方案。  那么,我想要安装一个纯净版的系统要怎么做呢?  首先,你得有个原版的操作系统安装镜像,你可别下载到那些经过修改的系统镜像文件,天知道里边会给加了什么料进去呢。上一篇的文章里有网友问到,在哪里可以下载到原版的系统安装镜像呢?我不会告诉你我是在msdn i tell you下载的。  相关文章推荐:  有了原版的系统安装镜像iso文件后,你可以选择把它刻录成光盘,也可以把它写入U盘中。可不是单纯的拷贝哦。我们需要动用UltraISO这个软件。  先插入U盘,然后用UltraISO打开系统安装镜像文件,然后在UltraISO菜单栏&写入&写入硬盘映像&硬盘驱动器里选择U盘(别选错,且U盘里的资料记得事先备份出来,之后的操作会将U盘里的所有文件删除)&写入。写入完毕后你就有了个可以进行系统安装的U盘了。图15 UltraISO  接下来就是重启电脑,现在的电脑很多在开机时可以通过按某个特定的键盘键就可以选择由哪个设备引导启动的功能,你可以在一开机时尝试不停地按动键盘的F11或F12键来尝试进入,然后选择由U盘或光盘引导启动。不行的话,就只能进入bios设计界面设置启动引导设备。图16 选择引导启动引导设备  用U盘或光盘成功电脑启动之后,就进入Windows的安装界面,Windows 7之后的安装过程都比较的傻瓜式,这里就不详细描述了,只写一个关键的地方。图17 Windows 7安装界面  在安装类型的选择上,如果你要安装一个全新的操作系统,那么就选择&自定义&,如果你想要覆盖安装,就选择&升级&。建议采用全新安装方式,下边介绍的步骤为全新安装方式,要注意的是,你必须事先把位于系统盘(一般为C盘)的资料文件进行备份后操作,否则将丢失。图18 自定义  接下里选择系统要安装到的磁盘分区,咱先点驱动器高级选项,然后选择需要安装系统的分区(通常为c)不要选错分区,原则上选择旧系统所在分区,接着选择格式化操作(再次提示你必须事先把该分区的资料文件进行备份后操作,否则将丢失)。格式化后点击下一步就可进行系统的安装操作了。图19 格式化操作将清除分区资料记得事先备份  安装完系统后,还没完,你还要做一大波的事儿呢。首先就是安装主板、显卡、声卡、网卡等等硬件设备的驱动,这些驱动可以在你买电脑时附赠的光盘中找到,没有的话,品牌机上官网下载,兼容机则到各个硬件的官网下载。没有安装驱动的后果是没有声音、无法联网、显示图像差、游戏顿卡等。在Windows 7以后的系统已经可以帮你安装上大部分的驱动,让你只需要安装显卡驱动即可。&图20 安装驱动时又是一个坎  你还有一个方法就是用驱动人生之类的驱动自动识别下载工具来安装驱动,要事先下载好它们的集成万能网卡驱动版的,不然新系统连网都上不了,它们还怎么帮你下载安装驱动呢。软件名称:驱动人生网卡版(万能网卡驱动)软件版本:6.2.29.110软件大小:120.85MB软件授权:免费适用平台:Win2000 WinXP Win2003 Vista Win8 Win7下载地址:图21 驱动精灵  驱动安装完毕后,还要激活操作系统,正版的可以用正版key来激活(安装时记得注意key对应的操作系统版本,否则无法激活),盗版的就只能自己看着办了。接下来就是系统Windows Update打补丁操作,打完补丁再安装常用软件(最好官方下载,以免被恶意捆绑),一切就绪后再GHOST备份操作吧。  优点在哪里?  1、纯净系统,安全有保障。  2、没有恶意的修改,没有被恶意开辟的后门,新系统中无需担心是否隐藏病毒木马,但也不可大意。  3、兼容性为最佳,正确地安装硬件驱动将能最大程度的发挥你电脑的性能。  4、即使旧系统无法启动,也能完成新系统的安装操作。  缺点在哪里?  1、花费时间长,安装系统、硬件驱动、常用软件,没有1、2个小时搞不定。  2、操作较为复杂,容易遇到一些技术问题,初学者得求助专业人士或百度一下。  3、虽然说Windows 7以后系统会自动识别安装大部分的硬件驱动,但是还有些硬件的驱动必须靠用户安装。用户得自行下载对应的驱动程序,还得分清系统版本。4重装系统:系统自带的恢复工具重装系统教程之三 何须到处寻找 Windows 自带的系统备份恢复工具你用了没?  其实,Windows 7还自带了系统备份还原工具,你知道么?你只需要事先将正常运行的Windows做个备份(创建系统映像),在系统出问题时就可以轻松还原。图22 Windows 7自带的系统备份还原工具  优点在哪里?  1、类似于GHOST的映象备份还原操作,操作比GHOST简单。  2、恢复系统于为备份时的良好状态。  3、在旧系统无法进入桌面时可借助系统修复光盘来进行恢复操作。  缺点在哪里?  1、备份的映像文件较大。  2、有时需要创建系统修复光盘才能使用。  对比起Windows7的备份还原工具,Windows 8就里的系统恢复功能就显得更加的强大了。它为用户提供了两种系统恢复方式,一种是恢复形式,可以理解为保留用户文件式的恢复操作。还有一种就是完全的初始化状态,将系统恢复到刚刚安装时的状态,用户文件及系统配置、安装的软件等都将遭到清除,可以理解为清除式的恢复系统操作。图23 Windows 8的系统恢复工具  相关文章推荐:    优点在哪里?  <span style="color: #、操作相当简单,傻瓜式操作。  2、恢复的系统较为靠谱。  3、无需事先备份系统。  4、在Windows 8无法进入桌面时可以借助安装光盘(U盘)来修复系统。  缺点在哪里?  1、慎用初始化功能,系统连激活状态都将被改变。  2、该操作没有密码锁定功能,容易被恶作剧。重装系统教程之四 可能因此被批枪稿的 国产的工具推荐  在前几年,国产安全软件的其中两巨头金山和360分别推出了傻瓜式的系统重置工具,可以帮助用户在无光驱、无U盘、无操作系统安装光盘、无操作系统安装文件的情况下帮助用户重装系统。  这两个工具的原理大概是采用了在线的智能匹配用户当前系统与云端原版的微软系统差异,动态下载被云端未被修改的系统文件和注册表然后进行替换,经过重装引擎重新封装和配置系统。可惜的是目前金山已经停止了重装高手的更新。  相关文章推荐:&图24 360系统重装大师  优点在哪里?  1、傻瓜式操作,初学者也能轻松完成。  2、无需用户准备什么,只要计算机能联网就能搞定系统的重装。  缺点在哪里?  1、稳定性有待提高。  2、并非真正的全新安装系统,可能会导致一些莫名问题的出现。相关论坛已经出现一堆的出错求助信息。  3、在旧系统无法进入桌面时无法进行重装操作。  4、电脑无法连接互联网也无法进行重装操作。总结  上边介绍了几种重装操作系统的方法,你会选用哪一种呢?如果你的目标是要一个比较纯净安全的操作系统,那就尽量不要选择网友DIY版的系统,至于盗版,现在许多品牌电脑都为用户提供了正版的操作系统,你没理由放着不用反而装个盗版系统去吧。大胆心细,事前备份,你也可以完成重装系统这个技术活,祝你成功。
最新资讯离线随时看
聊天吐槽赢奖品
相关软件:
大小:13.8 MB
授权:免费
大小:25.29 MB
授权:免费503: Service Unavailable
503: Service Unavailable
访问太频繁了,服务器要炸。在硬盘留下后门,重装系统都没辙 - CSDN博客
在硬盘留下后门,重装系统都没辙
这篇文章相关内容已在 OHM2013 公开。原理是利用硬盘的一些智能机制,在某个位置嵌入一些信息(比如:登录信息),然后操作系统验证用户登陆时,会不自主地读取黑客预留下的用户名和密码。
硬盘:如果你在看这篇文章,我肯定你起码用过一两个硬盘。硬盘很简单,基本就是一些512字节的扇区,由递增的数字标明地址,称之为 LBA,也就是“逻辑块寻址”。电脑可以向连接的硬盘的扇区中读写数据。通常会有个文件系统把这些扇区抽象成文件或文件夹。
如果你从这个幼稚的角度看硬盘,你会认为硬件应该也很简单:你需要的就是个能连接SATA接口的东西,然后可以定位读写头,从盘片上读写数据。但是可能不止这么简单:硬盘不是还有处理坏块、S.M.A.R.T.属性的功能么?不是还有什么缓存需要管理的么?
以上这些意味着硬盘中有些智能的东西,有智能就意味着可以黑掉它。我就喜欢可以黑的东西,于是我决定要看看硬盘是如何在非机械层面上工作的。这种研究以前在很多硬件上做过:从笔记本的PCI扩展模块到嵌入式控制器,甚至是苹果的键盘。通常这些研究都是为了证明这些硬盘可以被破解,导致其受到软件的影响,于是我决定达到同样的目标:我要在这次破解中让硬盘绕过软件安全机构。
PCB上的部件
要想知道硬盘是否可以被破解,我需要更了解它们。如你们大多数一样,我也有一摞或坏或旧的硬盘来一看究竟:
当然了,我们都知道硬盘的机械结构应该是好用的,我对那些部分也不感兴趣。我的兴趣在于大多数硬盘背面都有的那一小块PCB板子,上面有SATA接口和电源接口。这种PCB看起来是这样的:
可以看见PCB上有四块芯片。接下来说说这些芯片:
这是一块DRAM(动态随机存储器)。这块很好处理,芯片手册很好找。这些芯片的容量一般在8MB到64MB之间,对应的就是硬盘标称的缓存容量。
这个是电机控制器。这不是个标准器件,数据手册不好找,但是这些控制器一般都有容易找的差不多的同系列产品。ST Smooth控制器大概是最常用的一种了;除了驱动电机,它还能进行电源整流,还带一些A/D变换通道。
这是一块串行闪存。这个也好处理,容量一般在64KB到256KB之间。看起来这个是用来存储硬盘控制器的启动程序。有些硬盘没有这个芯片,而是在控制器芯片内部有闪存来存储程序。
这些小东西不是芯片,而是压电震动传感器。当硬盘受到撞击时,它们可以把磁头移到安全的地方,但是更有可能它在某个地方标记一个&#20540;,表示你的保修无效,因为是你自己摔的硬盘。
这里才是奇迹将要发生的地方:硬盘控制器。多是由Marvell、ST或者其他的LSI公司制造。有些硬盘厂商自己做控制器:我见过三星和西数就有自己的控制芯片。因为其他的部分都很好处理,这一块才是我的兴趣所在。
不幸的是,这些芯片都没有文档。话说这些制造控制器的厂商不公开文档有些不厚道真是说轻了:他们甚至在自己的网站上都不提这些芯片!更不幸的是,整个互联网也帮不了我:搜这些芯片手册只能找到没有手册的手册网站,和卖芯片的中国厂商……
那么,没有最重要的芯片手册,就意味着我们的计划搁浅了么?
幸运的是,总有些办法找到除了芯片手册以外的有用信息。我就搜到这么一个。
我找的是HDDGuru论坛上一个叫Dejan的人做的。Dejan不知怎么把他硬盘控制器的内部闪存废掉了,然后想知道有没有办法,要么从外部闪存启动控制器,要么重写一下内部闪存。过了五天,没人回应他,但是这哥们很有创造力:他又发了个帖子说他找到了JTAG口的管脚。这真是个重大发现:JTAG接口可以用来控制控制器。你可以用它启动控制器、重启、修改内存、设置断点等等。然后Dejan发现了如何关掉控制器的启动ROM,找到了硬盘一个串口,然后试图恢复他的闪存ROM。后来他又提了一些关于更新闪存的过程,最后消失在茫茫人海中了。
这些都是有用的信息:至少我知道了西部数据的控制器是ARM内核的,有JTAG接口。这些硬盘通常有串口,虽然没有使用但是可以用来调试程序。有了这些,我应该有足够的信息可以开始破解了。
嗯,这些是我的准备工作:
那个红色的是一块FT2232H的小板,大概30欧元,很便宜,可以用来进行JTAG调试,串口,还有SPI通信。把它连到硬盘的JTAG口,还有串口上。硬盘直接连到我电脑主板的SATA口上,还有外部ATX电源。我用OpenOCD来驱动JTAG接口。
现在的问题是:这玩意真能工作么?Dejan用的是88i6745控制器的2.5” 250G硬盘,他检测到的是ARM9内核。我找的是88i6745控制器的3.5” 2TB硬盘,有不同的&#26684;式因素,而且有点新。幸运的是,OpenOCD可以自动检测JTAG连接的设备。如下所示:
这我就有点搞不懂了……我本来估计会有一个tap,就是单独的ARM内核……可这里竟然有三个tap……难道这个片子有三个ARM内核?
一番研究后,我发现这个芯片真的是有三个内核。两个是Feroceon的内核,是比较牛&#36924;的类&#20284;ARM9的内核,还有一个是Crotex-M3内核,比较小,相比更像微控制器的核心。鼓捣了一阵(以及后来的研究)发现这些控制器各自有不同的功能:
现在从哪个核心开始破解呢?我的目标是通过使用修改的硬盘固件来影响系统的安全。最简单的方法,同时也可能是最难检测的方法就是直接修改数据。这种方法不需要修改磁盘上的数据,固件可以使自己隐身不可见。为此,我需要找到一个合适的核心来进行监听:我需要一个能在从硬盘到SATA线的传输过程中接触到数据的核心,同时可以被操纵在磁盘和SATA线缆之间修改数据。
现在,数据是如何从硬盘盘片上送到SATA借口上的呢?凭黑客的直觉我推测:
如果处理器工作在150MHz,使用标准的内存复制,它们就只能达到150*23/2=2.4Gbp的速率,而实际情况要比这个少很多。硬盘的速度是6Gbps,所以肯定有些加速硬件参与其中。最可能的加速硬件应该就是使用DMA(直接访问内存)。那就意味着数据直接从磁头读回来放进内存,没有处理器的参与。SATA口也是一样:处理器只指明数据在哪里,DMA会直接从内存中读数据。
如果是这样的话,DMA引擎指向的内存会在哪呢?硬盘的缓存是个好地方:数据从磁盘读出来总是要放进缓存的,所以当读取磁盘的时候马上去那里复制也就说的通了。我之前发现第二个Feroceon负责管理缓存;于是它就成了我的首选目标。
就这样,我推断数据通过DMA来读写,不需要任何CPU动作。现在的问题是:既然CPU不会在正常操作中接触数据,那么CPU能不能(非正常地)接触到数据呢?为了解答这个问题,我首先使用JTAG连接,用了一些反汇编,来看看Feroceon2号的内存。
如你所见,内存图有些零碎。RAM中有一些小块散落着,还有一些IO空间和IRQ空间,以及一块内部启动的ROM。还有一块64MB的数据段,我猜这个是用作缓存的DRAM。一起来看看是不是这样。首先,我把硬盘加载到我的电脑上,在硬盘上的一个文件里写入「Hello world」。现在看看我是否能从64MB的内存中找到这个字符串。
没错,找到了!看起来Feroceon2号可以读取缓存,并对这块64MB的DRAM进行了地址映射。
当然了,如果我想要在缓存里修改数据,我可不能每次都完全扫描整个64MB的缓存:我需要知道缓存是如何工作的。为此,我需要进行反汇编并理解硬盘的固件,至少要明白缓存的函数。
对固件进行反汇编,可不是个简单的活。首先,代码混合了ARM和Thumb指令,如果你没有自动切换两种指令的反汇编器就很令人抓狂了。而且,没有那些能使反汇编更简单的信息了:一般程序都被写好了,当有东西出错总会弹出类&#20284;「Couldn’t open logfile!」的信息。这些信息对于了解代码功能有很大帮助。而这个固件,一条信息都没有:你得自己看代码来知道代码在做什么。代码库好像有点老,而且有些时候反汇编的感觉就像给代码加了很多特性,把所有事情都搞得更复杂。
当然,也有几件事使得反汇编相对简单些。首先呢,西部数据没有故意混淆代码:没有在指令中间用些跳转的招数。还有,因为JTAG接口的存在,你可以干预代码的执行,设置断点,或者直接修改,让你非常容易地知道程序在做什么。
我看了很久代码,试着去理解,有时候用调试器验证我猜的对不对,最后我找到了缓存系统的核心代码:在RAM中的一个表,我称之为「缓存描述符表」。
缓存描述表的每一项描述了缓存中的一个块。它包含了可能在缓存中的磁盘扇区的起始LBA、缓存中存有多少硬盘数据、一些标明了缓存项的状态标志符,还有一个标明了缓存数据在内存中未知的数。
现在,缓存描述符表的秘密还没有被揭开,我能否在数据送出SATA口之前截断磁盘读取码?为此,我需要在磁盘控制器上执行我自己的代码。不仅如此,我还需要确定代码能否在正确的时间运行:如果它修改缓存太早,数据还没进去;如果太晚的话,数据已经送到PC了。
我的方法是绑定在一个已存在的任务上。我破解的是Feroceon2号,这个CPU负责所有的SATA传送,所以肯定有个服务是负责设置SATA硬件去缓存中读取数据。如果我找到这个服务,我就可能在它之前运行我的代码。
在看了很多代码,设置了很多断点,修改了很多次之后,我最终找到了某个符合条件的服务。我通过连接让这个服务在执行前先运行我的代码。这是原来的代码:
; r0 - slot in
sub_0_167BE:
000167BE&&&&&&&&&&&&&&&&
PUSH&&& {R4-R7,LR}
&&&&&&&&&&&&&&&&
MOVS&&& R7, R0
&&&&&&&&&&&&&&&&
LSLS&&& R1, R0, #4
&&&&&&&&&&&&&&&&
LDR&&&& R0, =sata_req
&&&&&&&&&&&&&&&&
SUB&&&& SP, SP, #0x14
&&&&&&&&&&&&&&&&
ADDS&&& R6, R1, R0
000167CA&&&&&&&&&&&&&&&&
LDRB&&& R1, [R6,#0xD]
000167CC&&&&&&&&&&&&&&&&
LDR&&&& R2, =stru_0_40028DC
000167CE&&&&&&&&&&&&&&&&
STR&&&& R1, [SP,#0x28&#43;var_1C]
&&&&&&&&&&&&&&&&
LDRB&&& R0, [R6,#(off_0_FFE3F108&#43;2
- 0xFFE3F0FC)]
&&&&&&&&&&&&&&&&
LDRB&&& R5, [R6,#(off_0_FFE3F108 - 0xFFE3F0FC)]
&&&&&&&&&&&&&&&&
LSLS&&& R0, R0, #4
这是改成连接到我的代码之后:
; r0 - slot in
sub_0_167BE:
000167BE&&&&&&&&&&&&&&&&
PUSH&&& {R4-R7,LR}
&&&&&&&&&&&&&&&&
MOVS&&& R7, R0
&&&&&&&&&&&&&&&&
LD&&&&& R6, =hookedAddr
&&&&&&&&&&&&&&&&
BX&&&&& R6
&&&&&&&&&&&&&&&&
.dw&&&& checksumFix
&&&&&&&&&&&&&&&&
.dd&&&& hookedAddr
000167CC&&&&&&&&&&&&&&&&
LDR&&&& R2, =stru_0_40028DC
000167CE&&&&&&&&&&&&&&&&
STR&&&& R1, [SP,#0x28&#43;var_1C]
&&&&&&&&&&&&&&&&
LDRB&&& R0, [R6,#(off_0_FFE3F108&#43;2
- 0xFFE3F0FC)]
&&&&&&&&&&&&&&&&
LDRB&&& R5, [R6,#(off_0_FFE3F108 - 0xFFE3F0FC)]
&&&&&&&&&&&&&&&&
LSLS&&& R0, R0, #4
FFE3F000&&&&&&&&&&&&&&&&
PUSH&&& {R0-R12, LR}
FFE3F004&&&&&&&&&&&&&&&&
BX&&&&& changeThingsInCache
FFE3F008&&&&&&&&&&&&&&&&
POP&&&& {R0-R12, LR}
FFE3F00C&&&&&&&&&&&&&&&&
LSLS&&& R1, R0, #4
FFE3F010&&&&&&&&&&&&&&&&
LDR&&&& R0, =sata_req
FFE3F014&&&&&&&&&&&&&&&&
SUB&&&& SP, SP, #0x14
FFE3F018&&&&&&&&&&&&&&&&
ADDS&&& R6, R1, R0
FFE3F01C&&&&&&&&&&&&&&&&
LDRB&&& R1, [R6,#0xD]
FFE3F020&&&&&&&&&&&&&&&&
BX&&&&& 0x167CC
如你所见,原来的指令被跳转到的新代码替代了,新代码放在本来没用到的地址0xFFE3F000,然后又加了一句,保证代码域的校验和有效。如果没这么做的话,硬盘会尝试从盘片上读取备份,那可不是我想要的。跳转的代码执行了一个服务,叫做「changeThingsInCache」然后执行修改代码本该做的指令。最后接着执行本来的服务好像什么也没发生过一样。
现在我要写的就是修改缓存数据的服务。首先做个测试,我决定用一个下面的用伪代码写的服务:
(cache_struct in
cache_struct_table) {
(is_valid(cache_struct)) {
&&&&&&foreach
(sector in
cache_struct.sectors) {
&&&&&&&&sector[0]=0x;
这一小段代码会在每次调用的时候用0×代替缓存中每个扇区的前四个字节,所以如果我把这个上传到硬盘的话,我在我看到的每个扇区前面都会看到这个数字。我通过JTAG上传了代码……
然后你看:
当然了,我可以将固件完全破解,但是每次硬盘启动都需要用JTAG修改RAM,这就得不偿失了。我得让它保持不变,也就是说,我要把我的修改存在某个地方,每次硬盘启动都会带上这段修改程序。
我选的地方是闪存。我大概也可以放在磁盘本身的保留扇区上,但是如果我一旦弄错的话,我就没法恢复我的硬盘了。闪存芯片只是一个八个脚的标准件,所以我可以轻松地摘下来,刷掉闪存再装回去。为此,我把它焊下来然后放到万用板上,这样我就可以在编程器和硬盘之间轻松切换了。
现在,应该在闪存里写什么呢?很幸运的是,芯片中存储的&#26684;式已经找到了:它包含了多块数据,还有一个表在最开始描述了这些数据。这个表描述了闪存中代码块的位置,如何压缩的(如果压缩了的话),代码块应该在放在RAM的什么位置,而且在最后的地址中是一个执行指针,标记了启动器应该跳到什么地方去执行程序。
不幸的是,我不能修改闪存中的代码;我想加钩子的地方的数据被某种不知道的压缩算法压缩了,我就不能修改了。然而我能做的是增加一个额外的代码块,修改执行地址这样这个代码块就可以在其他之前执行了。这样一来就简单多了。当我的代码块执行的时候,我就可以在已经解压的代码中加入我的钩子了。
当然,我得反汇编,再重编译闪存的二进制代码。我为此做了个小工具,非常俗地起名为「fwtool」。这个小工具可以读出闪存中的很多数据块,并把头翻译成文本文件以方便修改。接着你就可以修改,删除或者加上代码,然后重新编译成一个固件,准备刷回去。我用它把我的代码加到镜像中,再刷回到芯片里,把芯片装回硬盘,启动备份的文件,然后:
结果并不新鲜:就是我之前做过的。唯一的变化就是我不用JTAG就能办到了。
虽然闪存这边有了很大进展,我还是不能开始我的黑客脚本:我相信不会有任何一个服务器公司会接受这些带有反汇编又重汇编的芯片的硬盘。我需要想个办法能让芯片不从板子上摘下来就可以刷固件,最好是能直接在硬盘安装的电脑上刷。
西部数据的固件升级工具为此提供了可能性:这个工具简单地在DOS环境下的把新固件写进闪存和服务区——也就是保留扇区。根据网上资料,这个工具使用的所谓「Vendor Specific Commands」命令。也有一些其他的工具可以修改固件:比如,有一种概念验证性的,可以使用未使用的保留扇区来隐藏数据。最后有一组工具叫做「」可以通过修改固件中的字节来修改硬盘的闲置行为。这个代码同样使用VSC,通过Linux系统的SCSI(小型计算机系统接口)直通IOCTLS(输入输出控制系统)这种「正式」的途径来修改代码。我需要「借用」它的源代码,修改一下然后整合到我的fwtool里面。在胡乱猜了一阵VSC参数之后,fwtool突然可以读写电脑上硬盘的闪存芯片了。
有了这个工具,我的攻击基本完成了,如果一个黑帽子黑客获得了一个带有这样硬盘驱动器的服务器的最高权限,他就可以使用fwtool远程获取硬盘闪存,修改然后刷回去。最终,主机的主人会发现我用他的主机为非作歹,然后可能会重装系统,断掉黑客原来进入主机的路。
但是有了这个破解了的固件,攻击者可以操纵硬盘在新安装的系统里继续为非作歹。首先他需要触发行为,这需要事先在硬盘里写入一个破解固件需要的某个特定字符串。这个字符串可以在任何一个文件中:攻击者可以向服务器上传一个带有代码的.jpeg文件。他也可以通过向服务器发送在URL中追加了特定代码的文件请求来实现。这最终会在服务器的记录文件中结束,触发利用。
接下来,被破解的硬盘固件就开始捣乱了。比如,他会等待主机读出/etc/shadow中的文件,其中存储了Unix/Linux的所有密码,然后立即修改成攻击者之前写进去的一些东西。当攻击者之后尝试用他自己的密码登入系统的时候,主机会根据修改过的/etc/shadow判断密码,攻击者就可以再次轻松登录。
这是我做的演示。你可以看见我没能成功登录主机的根用户。然后我启动破解,给它一个代替密码的哈希&#20540;,也就是密码「test123」。因为Linux系统把影子文件缓存了(如同所有最近存取的文件),我需要制造很多硬盘活动把缓存清出去;这样,当我再次登录的时候,Linux系统会再次读取磁盘上的影子文件。最终,缓存已清空,我可以用假的「test123」密码登录根用户了。
当然了,恢复服务器中清除的隐秘登录方法并不是我研究成果的唯一用法。这同样可以用于防御目的。
例如,你可以做一个不可复制的硬盘:如果扇区的读取模式是随机的话,像正常的操作系统读取文件系统,硬盘会正常工作。如果硬盘是有序的读取,像硬盘复制设备那样的话,硬盘会篡改数据,无法复制出原来的内容。
硬盘控制器作为一个通用控制器也是有的玩的。你手里的是三个性能不错的CPU核心,连着一个相当大的RAM。还有一个UART作为串口,至少两个SPI接口:一个连接到闪存ROM,一个连到电机控制器。你可以通过升级外部闪存芯片来给处理器加载代码,或者甚至在启动加载器上用串口加载。为了演示芯片的能力,我在硬盘上移植了一个相当普及的软件。这个demo只是概念验证性的,串口是唯一工作的外围设备,而且没有用户空间。虽然如此, 我还是很骄傲的宣称我在我的硬盘控制器上装了一个Linux。在顶端,是标准的命令行(硬盘加载在/mnt下),低端是我在硬盘串口上的输出。
在此多解释一下这是怎么工作的:内核和启动都封装成每块大小都是一个扇区的一个个的包,包的前面带有特殊字符串和编号数字。通过从磁盘读取数据,内核和启动最终会进入缓存。写入特殊字符串「HD, Inx!」最终触发了修改过的固件,在缓存中搜索所有扇区,重编译内核然后启动。但是一个没有内存控制单元的内核也需要特殊&#26684;式的用户空间。我不能把这个也编译了,所以内核最终因为找不到init来执行而崩溃。
是的,就是这样。虽然硬盘控制器如同一个不知其究竟的野兽,它仍能通过逆向工程加以了解,并为其写出代码以执行。对控制器的未知,使得通用破解充满难度,令我怀疑这东西是不是永远不会出现一个恶意的固件补丁:相比对每个服务器的每个硬盘固件进行逆向工程加以破解,还是找一个0day漏洞更加简单吧。
我还希望证实一个坏掉的硬盘仍然能够使用。当硬盘的机械部分坏掉的时候,PCB仍然带有可用的嵌入式系统,其性能相当不俗,尤其是坏的硬盘基本都不要钱就能拿到。
开放安全工程的源代码什么的太恶劣了。我想开放代码,但是我不想为由此产生的大量的「永久破解」的服务器负责……我决定做个妥协:你可以在下载代码,但是我移除了影子替代部分的代码。注意:反正我不负责让整个过程完全可运行;黑客,你自己来吧。
本文已收录于以下专栏:
相关文章推荐
在硬盘留下后门,重装系统都没辙
1 条评论 | 标签:
伯乐在线 -
OHM(Observe Hack Make)是一个专为黑客、制造者和那些有探究精神之人举办的国际户外露营节,为期 5 天。今年 7月31日在荷兰 Geestmerambacht 举办,有 3000 人...
在用电脑的过程中,都会遇到要安装系统的经历,无论是系统崩溃还是由于别的原因要重装系统,可是又很多的用户在重装系统的时候都会遇到这样那样的问题而导致系统安装失败,常见的是在安装系统是提示报错:找不到硬盘...
前两天笔记本总是各种卡,一开始以为是
以前装系统时几乎没遇到什么问题,可是今天却遇到了一个棘手的问题。电脑的牌子是华硕的,具体型号是datellite。具体装系统的方法是利用U盘做启动盘,然后引导启动,分区的时候没有多想,直接把所有的盘都...
1.使用vmware自带vmware-vdiskmanager.exe进行扩容第一步。&#160;&#160;&#160; 首先,进入“运行”,cmd,进入vmware-vdiskmanager.exe所在目录(例如:我的是在C:...
电脑重装系统时断电或强制关机,导致开机卡死的解决方法。
主要还是硬盘故障。
由于网络上面有很多安装软件,请自行选择。
电脑 经常 未响应。系统出现莫名其妙的问题。
刚开机 过一段时间,不管点击什么软件 ,都是未响应。重启以后,刚开机 可以使用,过了一段时间 所有软件未响应...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 mac换硬盘重装系统 的文章

 

随机推荐