古董电脑(intel处理器,无USB3.0接口)突然坏了,已经没有维修价值了,硬盘还是完好的。欲把硬盘拆下来,装到USB3.0硬盘盒上,然后在新电脑(AMD R5-4650G/A520)上从USB3.0硬盘盒上启动。
一、需要工具
- SATA数据线
- PS/2鼠标
- SkyIAR v2.75
- AMD主板Win7驱动(主要是USB3.0)
把硬盘从旧机器上拆下来,通过SATA数据线接入到新机器主板上,同时使用PS/2鼠标操作(因为旧机器没有USB3.0驱动,无法使用)。
二、硬盘传输接口从IDE模式转换到AHCI模式
旧硬盘上的Win7系统是IDE模式,新电脑上没有IDE模式,只能转换到AHCI模式。步骤如下:
- 下载SkyIAR v2.75到WinPE中。
- 进入BIOS,把SATA Mode改为AHCI模式。
- 进入WinPE,运行SkyIAR,磁盘控制器驱动选择【精确匹配】,工具会自动勾选识别到的对应驱动,直接点击【开始】,弹出提示信息,点击【确定】,最后提示导入完毕。
- 重启电脑进入Win7系统,桌面右下角自动安装AHCI和硬盘驱动,安装完成的后根据提示重启电脑。
- 打开Win7系统的设备管理器,点击IDE控制器是不是有“AHCI”,如果有,说明安装成功。
三、安装USB3.0驱动
- 打开Win7系统的设备管理器,点击【通用串行总线控制器】,右键【更新驱动程序】,选择【浏览我的电脑以查找驱动程序】,然后选择对应的主板驱动或者USB3.0驱动。
- 根据提示,重启电脑。USB3.0驱动安装成功后,普通USB键鼠都可以使用了。
四、设置Win7从USB3.0启动
注册表 ControlSet001、ControlSet002以及CurrentControlSet
注册表HKLM\system注意 注册表项包含windows启动的三个控件组(额外还可能存在一个备份控件组)。在初始状态下。它们各自是ControlSet001、ControlSet002以及CurrentControlSet。这些控件组中包括了操作系统配置的信息,比方服务、驱动、系统控制、枚举信息等等。
默认情况下,ControlSet001是系统真实的配置信息。可是为了避免序号混乱,windows启动时会从ControlSet001复制一份副 本,作为操作系统当前的配置信息。也就是CurrentControlSet。
我们对于计算机配置所作的改动都是直接写入到 CurrentControlSet,在重新启动过程中。windows会用CurrentControlSet的内容覆盖掉ControlSet001。以保证这两个控件组一致。
当操作系统每成功启动一次(指成功登录),它都将CurrentControlSet和ControlSet001中的数据拷贝到 ControlSet002中。这样,ControlSet002就成了“近期一次成功启动的配置信息”(非常熟悉吧?在启动windows前按下F8所调出的菜单中有这个选项)。所以我们一般系统注冊表中都仅仅是有这三个控件组,而且序号都是current、001和002。
可是,这个顺序和数目不是一成不变的。改变就发生在使用过“近期一次的正确配置”之后。这个时候,系统会把002当作系统真实的配置信息。而001这个存在问题的控件组会被备份封存起来。系统启动时会从002复制副本到current。启动成功后又会把002和current的信息复制一份到一个新的控件组作为新的“近期一次的正确配置”,也就是003。这个时候系统就存在4个控件组:current、002、003和备份的001,这里的001是一个存在问题的组,除非我们想把系统恢复到上次使用“近期一次正确配置”之前的状态,否则001的内容将不再被使用。
根据上面注册表知识,假设ControlSet00α是系统真实的配置信息,可以把如下代码合并到注册表中(实际执行请把α换为实际值):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00α\Control]
"BootDriverFlags"=dword:00000014
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00α\Control\PnP]
"PollBootPartitionTimeout"=dword:00007530
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00α\services\iusb3hcs]
"BootFlags"=dword:00000010
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00α\services\iusb3hub]
"BootFlags"=dword:00000010
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00α\services\iusb3xhc]
"BootFlags"=dword:00000010
合并成功后,关机。把硬盘装入到移动硬盘盒上,开机就可以从启动菜单中选择USB3.0移动硬盘进入Win7系统(初次进入系统会比较慢)。进入系统后可以选择驱动人生、万能驱动等安装相应的驱动。
五、说明
5.1 蓝屏0X0000007B
Win7启动出现蓝屏0X0000007B表现:系统启动载入Win7 Logo突入出现蓝屏,或者安全模式下卡在\windows\system32\dirvers/disk.sys出现蓝屏。
蓝屏0X0000007B的原因很多,可能因为SATA Mode,也可能因为没有USB3.0驱动,也可能是其它原因。
5.2 PS/2鼠标
有的电脑插入PS/2鼠标不一定能用,可以尝试BIOS启用PS/2接口(PS/2 Y-cable、PS/2 Mouse Support、PS/2 Keyboard/Mouse Emulation),BIOS禁用USB键鼠,甚至断开主板CMOS供电以清除BIOS设置等多种措施。
5.3 防止USB移动硬盘休眠
在USB移动硬盘运行Win7系统要防止USB硬盘休眠,在控制面板➤电源选项中设置:“从不关闭硬盘”,“禁用USB选择性暂停”。
5.4 页面文件配置问题
系统提示:由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。所有磁盘驱动器的总页面大小可能稍大于你所指定的大小。
解决办法:进入控制面板系统➤高级系统设置➤性能设置➤高级➤虚拟内存,关闭C盘的分页文件,在其它非USB盘设置分页文件。
5.5 USB3.0 Win7驱动
本文用到AMD 520主板,AMD官方并没有提供Win7版本驱动,是Chiphell论坛大牛制作的驱动。可以去论坛下载,也在这里下载:AMD 300/400/500/TRX40/WRX80/600系平台主板芯片组驱动 for Win7/Win8.1。Intel系平台请自行在网络上寻觅。
5.6 UASP协议设备
UASP全称USB Attached SCSI Protocol,中文译名USB附加SCSI协议,很多移动硬盘盒支持UASP协议。这时系统会出现无法安装UASP协议设备(或者把系统盘装到UASP协议设备中启动,出现0x0000007B蓝屏),这是因为系统中没有安装设备驱动,也不能自动安装。需要在系统中的设备管理器中找到设备,手动安装USB 3.0驱动。
5.7 NVME Win7驱动