Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save muink/b7a63c35762467b3ca8440e3ea439fcf to your computer and use it in GitHub Desktop.
Save muink/b7a63c35762467b3ca8440e3ea439fcf to your computer and use it in GitHub Desktop.
换ssd无损迁移windows系统(重建mbr引导)

换ssd无损迁移windows系统(重建mbr引导)

  1. 将ssd挂上现有电脑系统
  2. 把ssd用mbr方式分区
  3. 创建第一个100M-200M的ntfs主分区, 并将其设置为活动分区, 作为引导分区放置引导文件
  4. 创建第二个ntfs主分区作为系统分区放置系统文件
  5. 可选的其他分区
  • 并不建议分过多分区, 尤其是逻辑分区, 一般1-3个主分区足矣
  1. 在PE或其他电脑使用Link Shell Extension进行分区对分区的智能镜像(为了处理windows下的硬链接), 将原有c盘文件同步到ssd系统分区
  2. Link Shell Extension无法镜像NTFS压缩文件, 须使用fastcopy-m完全复制文件/文件夹的时间和其他属性,勾选复制ACL控制列表连带复制权限
  3. 使用bootsect /nt60 G: /mbr命令对ssd引导分区添加引导代码(其中G:是ssd引导分区的盘符)
  • 这个命令行工具通常可以在系统安装光盘根目录下的boot文件夹中找到
  1. 使用bcdboot H:\windows /l zh-tw /s G:命令将系统引导文件复制到ssd引导分区(其中H:是ssd上系统分区的盘符 zh-tw是语言区域码)
  • 通常情况下执行完这个命令, 系统就能正常启动, 但有时需要使用bcdedit命令进行部分参数调整
  • 当然你也可以从旧的硬盘中拷贝旧bcd文件文件修改后使用, bcdedit命令或bcd修改程序都可以做到   - 这个文件通常在保留分区或系统盘(如果没有保留分区)的boot目录下
  • 如果你是在系统安装盘的dos环境下使用命令diskpart可以很方便的查看各分区盘符
  1. 最后你可以使用winhex等工具备份ssd引导分区的首16扇区, 保存到G:\BOOTSECT.BAK(虽然并没什么卵用)
  2. 现在重启进入bios, 将ssd的启动优先级调整到高于原有硬盘, 然后保存退出bios, 你应该正常进入ssd中的系统了
  • 进入新系统后, 你可能需要调整各分区所分配的盘符与原系统一致, 否则可能导致部分程序、快捷方式和字符链接无法使用
  • 或者在进入系统前用reg挂载H:\Windows\System32\config\SYSTEM对其中MountedDevices项下的CH盘符进行调换

PS: 把引导装在c盘, 操作同理,无非改一下盘符


可参考资源:

[Windows 7]使用 Bootsect 命令列選項還原 Master Boot Record(MBR)
Bootsect 命令列選項
BCDEdit 命令列選項
發現WIN7自建100M隱藏分區的真正作用
Win7重建100M BCD系统保留分区

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment