请教Win7系统盘符如何固定为D盘?
win10吧
全部回复
仅看楼主
level 6
因为原来的操作系统所在硬盘发现坏道,原硬盘是2TB使用MBR分区表,买了新硬盘是3TB要识别超过2TB容量必须才用GPT分区表,况且单纯从备份历史数据的角度来看也确实需要更大容量,所以事件背景就是从MBR分区的硬盘迁移Win7所有目录去GPT分区的硬盘,这个步骤经过@Kakushiki 的指导已经完成并且加入引导数据可以启动,但是我的是双系统Win7安装在原始硬盘中的D,还有个win10安装在原始硬盘的C盘,目前这两个系统都迁移成功,win10因为本来就在C盘启动和使用都很好完全看不出问题,但是Win7就惨了启动以后改了操作系统盘符以为系统所在盘符是C盘,但是操作系统内置程序有很多,相当多一部分都记录了Win7是安装在D盘的所以都去D盘找文件导致Win7启动异常,而且如果我犯贱擅自进入Win7图形操作界面安全模式并强行用Win7管理员帐号启动资源管理器,那么Win7就强行执行了其实是win10系统分区下的user;program等目录下的文件后果是一篇狼藉,因为不仅仅是读取还会留下Win7的配置文件导致下次win10启动时看到了Win7在系统中留下的操作配置而且因为系统有差别某些些配置变化还无法单纯通过界面方式修改。但是幸好我原盘还在所以备份数据都在系统迁移过程可以重来,但是win7盘符变C盘的问题如何解决呢?
其实还有其他小问题但是目前分析下来不影响使用所以暂不提。
2019年01月10日 08点01分 1
level 6
顺便说一句,上面提到Win7系统改了盘符当然不是我改的,我怀疑是系统引导触发了某些配置(但只是怀疑)因为Win7系统文件是原始不变的,迁移期间发生变化的只有引导信息。研究半天bcdboot;bcdedit;甚至是bootrec因为脑力实在是太笨所以,至今认为或许在win10写入启动信息以后再手工编辑bcd追加Win7启动信息就能够启动Win7,但一直困扰我的是bcd的那个标识符就是这个大括号的内容{}到底指向的是什么,因为bcdboot每次写入这个标识都会更新搞得我完全没有方向。所以也就无从尝试单纯手工添加Win7的引导信息,现在才用的是完全信赖bcdboot能够自行区分win10和Win7的启动引导信息,多次执行bcdboot不会覆盖对方,确实bcd信息没有被覆盖,但问题是从启动界面来看Win7会覆盖win10的启动文件导致使用旧的文字启动界面,当然如果再次执行bcdboot用win10再覆盖调win7能够换回win10启动界面而且看不出区别,但这时我说的事情就发生了Win7启动认为自己在C盘。
2019年01月10日 09点01分 2
level 14
Windows安装器了解一下
2019年01月10日 09点01分 3
你确定各路神仙软件能够解决这位问题?
2019年01月10日 09点01分
我觉得无论那些软件看起来多么牛,至少它在后台的逻辑不了解的情况下去执行风险很大,这是要随时准备重新安装啊
2019年01月10日 09点01分
level 11
我不知道你为什么把那么简单的问题搞得这么复杂,我都已经看不懂你需要干什么了。
如果你原来有两个系统装在 MBR 分区上,而你想把两个系统迁移到新的 GPT 硬盘上。
最简单的方法就是先用 dism 或者 dism++ 把两个系统做成 wim 映像,然后给 GPT 的新硬盘分区,创建一个 EFI 分区和两个放系统的主分区。
用 dism 或者 dism++ 把两个系统的 wim 映像恢复到分区上。
如果用的是 dism++ ,恢复的时候把引导勾上,选择 EFI 分区。
如果是用 dism ,恢复完就用 bcdboot 把两个系统的引导写上 EFI 分区。
2019年01月10日 09点01分 4
请教一下,你正好也有win10和Win7双系统对吧?如果你把这个系统恢复到其他硬盘上,Win7的系统盘符会变成C盘吗?还有前提是原系统中Win7不在C盘
2019年01月10日 09点01分
我现在系统已经迁移了,只剩下一个大问题和几个小问题,其中大问题就是Win7系统盘符会变成C盘,win10迁移以后暂时没有问题,小问题但暂时不影响使用,比如恢复winre;以及进入安全模式的菜单等。 其实我一直没有去理解dism的用法到确实有这个命令,dism++这个命令没有找到,都是官方的吗?
2019年01月10日 09点01分
你完全把盘符的概念弄错了。盘符只是 Windows 下的 虚拟地址,每个 Windows 环境下 C 盘符都是系统盘。第二个挂载的分区是 D ,于此类推。 你在 Windows 7 下,系统盘怎么可能是 D 盘。
2019年01月10日 09点01分
@Kakushiki 也有人这样说,但问题是我之前有坏道的MBR硬盘上的Win7就是这样的,运行时Win7识别自己盘符为D盘,但如果一旦变为C盘,那么对于已经安装好的Win7系统就麻烦了,因为有太多文件记录自己在D盘,这样直接导致Win7登入异常等表现。
2019年01月10日 10点01分
level 6
@Kakushiki 或者是这样我在迁移win10以后的win10系统上做过一次盘符变更,是在win10运行的情况下执行的,因为当时D盘被其他分区挤占成为E盘,导致win10原本安装在D盘下的第三方应用找不到文件,在修改盘符的过程中我注意到,diskpart命令行挂接盘符是不会被系统保存的,比如操作系统重启以后分区不会被挂接到盘符上,但是通过图形界面分区工具比如傲梅分区工具挂接的盘符即便是不合理的配置比如挂接了EFI分区win10不允许挂接该分区,但通过傲梅挂接以后在操作系统再次启动以后仍然会挂接,就等于在系统分区表中做了固化,而diskpart命令只是个单纯的挂接动作并不会去配置系统文件,所以我感觉这里会导致一些问题。
2019年01月10日 10点01分 5
level 11
我不知道你是如何搞成这样的。
你原来的 Windows 7 安装时不知道修改了啥或者安装后修改的。
在 Windows 7 下系统盘变成了 D 。
而你把系统迁移到新硬盘上后,启动 Windows 7 时,盘符被默认回去 C ,所以导致一堆地址问题。
解决手段我就不知道了,没试过把系统盘挂到别的盘符上。
解决思路是有的,只要你找到办法(我觉得是在注册表上),修改 Windows 7 的盘符回去 D 就可以。
2019年01月10日 10点01分 6
如果在win10环境下直接运行Win7安装镜像就应该可以复制我的情况,安装完成以后win7就应该是安装时选定的盘符肯定不会是C盘,因为引导环境下C盘还是win10系统盘。
2019年01月10日 10点01分
不会的。Windows在初始化过程时会指定系统盘符为C。
2019年01月10日 10点01分
你原来的系统是被非正常手段修改为D的。
2019年01月10日 10点01分
level 11
帮你搜索了一下,具体更改系统挂载的盘符都是通过注册表。
你尝试下吧。
2019年01月10日 10点01分 7
可以试一下,但我直觉认为不会是win7配置文件的问题,即我认为,触发这个问题与Win7注册表无关,因为Win7文件是被原封不动迁移到新盘的,原来Win7识别系统盘是D盘这点不应发生改变,如果变了就说明Win7的设置收到外部条件输入的影响。我觉得还是添加Win7引导信息时的方式问题可能性比较大,你觉得呢?
2019年01月10日 10点01分
那你试试在Windows 7下bcdedit修改device值改成partition=d看看
2019年01月10日 10点01分
大概无法更改。你这问题有点坑
2019年01月10日 11点01分
level 11
如果你有时间,就做一个这样的测试。
在旧硬盘上启动 Windows 7 ,下载 dism++ ,给系统盘做一个热备份,为了快就选择不压缩的。
把新硬盘的分区表清了,重新初始化成 GPT ,创建一个 EFI 分区和一个主分区。
然后用 dism++ 把刚才备份的映像写到新硬盘的主分区上,勾上添加引导。
完成后启动新硬盘的 Windows 7 ,看看系统盘符是 C 还是 D 。
2019年01月10日 11点01分 8
那我猜Win7系统是挂到C盘,因为很大可能性是引导系统发现挺干净的环境干嘛不用C盘呢?
2019年01月10日 11点01分
那我猜Win7系统是挂到C盘,因为很大可能性是引导系统发现挺干净的环境干嘛不用C盘呢?引导写入程序也会做判断的嘛
2019年01月10日 11点01分
level 6
@Kakushiki
呵呵,既然你说了我去试一下,其实你也知道bcd中系统启动项目下的device和sodevice都是动态的。
对于手工编辑bcd其实一直已来的障碍是如何确定当前标识符?是否有注册机制?总不见得只是一个无意义的名字吧?以及标识符对应的应该是是啥?我猜测不是设备。
你也可以在有空时试一下,新安装一个win10并在win10运行环境执行Win7安装镜像,这样得到的双系统,应该与我描述的一致。
但其实就算完成这些修复动作,都还远远没完,因为微软如何解释这样的双系统配置?以及双系统的winre、安全模式菜单等等是否适用?都不知道。系统升级回退程序是否兼容也不知道,微软啊就是太小气啥都不说,还是说我没找对地方?
2019年01月10日 11点01分 9
level 11
是我认输了,装了两次 Windows 7 ,第一次是使用从来没有试过的在高版本的 Windows 下使用低版本的 Windows 安装程序安装 Windows,第二次是用 dism++ 把映像写入分区安装。
总结一下,等下发图。
第一次:
在 Windows 10 下使用 Windows 7 的安装程序选择一个分区安装后,Windows 7 的 BCD 直接使用 Windows 10 的,所以盘符不再调整。
第二次:
在 Windows 10 下使用 dism++ 把映像写入分区,同时添加引导,Windows 7 使用的是全新的 BCD ,初始化后盘符是 C 。
最后给你想出一个解决办法 。
先在旧硬盘使用 dism 或者 dism++ 备份了 Windows 10 和 Windows 7 。
新硬盘上创建 EFI 分区和两个主分区。
把 Windows 10 写上新硬盘第一个主分区上,创建引导。
在 Windows 10 上使用 Windows 7 的安装程序把系统安装到 D 盘。
在 Windows 10 上格式化 D 盘,把备份的 Windows 7 映像恢复到 D 盘上。
2019年01月10日 12点01分 10
你的意思我理解如下: 迁移win10随意只要确保能够迁移成功,但是添加Win7引导信息时,采用Win7安装过程去修改,因为此时Win7安装过程会采取一种目前不知晓的方式修改BCD使得最终效果是Win7盘符没有被修改。谢谢,我去试一下,回来达答复你
2019年01月10日 12点01分
level 11
第一次安装:
安装前的磁盘装。
装到 J 盘上。
安装后在 Windows 7 上。
2019年01月10日 12点01分 11
抱歉是我眼拙,因为没有宽带手机看到的图片不清楚,我看到了bcd信息Win7的标识符是{current}且device项目是partition=j:这个表达方式非常清晰而简单,再次谢谢。
2019年01月10日 13点01分
level 11
第二次安装:
用 dism++ 写入映像,同时添加引导到 EFI 分去上。
安装后。
2019年01月10日 12点01分 12
level 6
@Kakushiki
对你认真参与讨论的热情我感激万分。
看到你又为我的提问做了那么多尝试我实在没有恰当的回馈方式,感谢感谢~
下面我要好好理解一下你的实验过程,总之众人拾柴火焰高。
唉,无论结果如何,总比那些整体瞎捣鼓的靠谱很多
而且我觉得,如果有效地组织玩家一起努力,有的放矢地参与讨论和有计划地进行测试实验,早就没有那么多问题了,包括那些什么显卡吧,图拉丁吧的硬件性能指标问题,真的是鹦鹉学舌的太多晕的很。
2019年01月10日 12点01分 13
做完这两个实验我想说的是,不要、不要、不要在 Windows 10 上使用 Windows 7 的安装程序直接安装。盘符依赖 Windows 10 的了,如果将这两个系统分开就会遇到你这个问题了,是一个很深的坑,很难发现。
2019年01月10日 12点01分
@Kakushiki 你说的很有道理啊😊,如果单独抽取Win7那么就惨大了,因为上面记录的都是其他盘符路径,系统会无法启动的
2019年01月10日 12点01分
level 11
最后送上额外的 winre 重新指定的文字教程。
使用 Windows 的安装程序默认分区都会有一个标识为恢复的分区。
系统安装完后,在初始化过程会把 winre.wim 放到恢复分区,然后更新 BCD 。
如果在一个初始化后的系统上 bcdboot 创建引导会丢失 RE ,需要重新指定。
可以指定到系统盘下或者自己创建一个恢复分区。
这里介绍如何创建恢复分区。
使用 diskpart ,最好在磁盘最后一个分区上压缩出 1GB 空间创建一个 NTFS 的分区,防止以后升级大版本的 winre.wim 过大。
在 diskpart 上使用 help create partition primary ,找到恢复分区的 ID 。
选择新创建的分区 set id = de94bba4-06d1-4d40-a16a-bfd50179d6ac 。
把分区标识为恢复后再添加一个 OEM 标识,可以防止误删。
help gpt ,第一个示例复制了,把最后的 0 改成 1 。
GPT ATTRIBUTES=0x8000000000000001 。
assign letter = R ,给它一个盘符,等下指定完需要删除。
这样就完成了。
在重新指定 RE 位置前先准备 winre.wim 。
可以在 ISO 安装介质里的 install.wim 或 install.esd 上 Windows\System32\Recovery 目录下找到 winre.wim ,是隐藏的受保护文件。
在恢复分区或者系统盘的根目录下创建 Recovery\WindowsRE 目录,把 winre.wim 复制上去。
CMD 上:
reAgentc /setreimage /path R:\Recovery\WindowsRE
reAgentc /Enable
reAgentc /Info (如果没任何意外,Windows RE 状态和位置都好了)
2019年01月10日 13点01分 14
感谢,我赶快用本子拷贝下来。
2019年01月10日 13点01分
忘记说了,wim 文件使用 7zip 可以打开。其它压缩软件应该可以,我比较喜欢 7zip 。
2019年01月10日 13点01分
@Kakushiki 7z是吧?我以前Unix环境用过唉可惜当时不认真学习啊,什么管道符的应用方式,都应该搞懂的。 我不急慢慢来,智商有高低,但总有一天能够领会。谢谢
2019年01月10日 13点01分
@Kakushiki 多谢你提醒我用解压缩软件的方式抽取wim中的文件,多谢多谢。
2019年01月10日 15点01分
level 11
第三次安装(这次就不上图了):
这次安装是在系统外使用 Windows 的安装程序安装。
虽然结果预先猜到,但还是想证实一下。
安装完后 BCD 是新的,不是使用 Windows 10 的 BCD 。
所以系统盘符是 C 。
2019年01月10日 13点01分 15
1 2 尾页