Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 207|回复: 4

[求助] 关于双架构(x86/x64)在同一镜像分别引导的实践与求助 [复制链接]

Rank: 2Rank: 2

UID
4412953
帖子
50
PB币
20
贡献
0
技术
0
活跃
66
发表于 2017-8-4 09:43:24 |显示全部楼层

我最终需要的是这种效果

1.PNG

这样通过一个启动U盘,我就可以实现对单位所有预装不同架构Windows 7 的电脑进行升级安装、引导修复、还原点还原、备份映像还原、安装。


但我把天朝的互联网搜了个遍,发现所有关于win7 3264合一光盘的都是千篇一律地将64install.wim文件挂载到32的中去,以单引导的方式安装两个架构的操作系统。这样安装盘无法对另外一种架构的操作系统进行维护。不是我所想的

   启动菜单可以通过bcdedit编辑镜像根目录下的\boot\bcd从形式上实现,但如何布局镜像内文件结构,从而功能上实现呢?

   无意中我发现通过微软的官方工具MediaCreationTool 可以下载创建包含X86X64两者合一的windows 10 光盘镜像。

经测试,灰常牛鳖

捕获1.PNG


4.PNG




双引导完美实现。而且如果在系统内运行根目录的setup.exe安装的话,会根据当前系统的架构自动选择32位还是64位。

Windows 10 官方光盘内文件结构如下

5.PNG



打开一看

X64,x86这两个文件夹下的内容完全就是win10 32位,64位光盘的内容嘛。再仔细一看根目录下的setup.exe,x86文件夹下的大小,修改日期,完全一致,就是一个文件。可见是通过32pe引导的。

好了,这下清楚了,根据官方win10的文件结构,我依葫芦画瓢整个win7的。

Win10根目录下的启动项,查看bcd文件,显示如下


C:\Windows\system32>bcdedit /storeg:\boot\bcd /enum all


Windows 启动管理器

--------------------

标识符                  {bootmgr}

description             Windows Boot Manager

locale                  en-US

inherit                 {globalsettings}

default                 {default}

displayorder            {default}

                       {2797e058-7724-11e7-8c06-4ccc6a4fe7c4}

toolsdisplayorder       {memdiag}

timeout                 30


Windows 启动加载器

-------------------

标识符                 {2797e058-7724-11e7-8c06-4ccc6a4fe7c4}

device                  ramdisk=[boot]\x86\sources\boot.wim,{7619dcc8-fafe-11d9-

b411-000476eba25f}

path                   \windows\system32\boot\winload.exe

description             Windows 10 Setup (32-bit)

locale                  en-US

inherit                 {bootloadersettings}

osdevice                ramdisk=[boot]\x86\sources\boot.wim,{7619dcc8-fafe-11d9-

b411-000476eba25f}

systemroot              \windows

custom:250000c2         0

detecthal               Yes

winpe                   Yes

ems                     No


Windows 启动加载器

-------------------

标识符                  {default}

device                  ramdisk=[boot]\x64\sources\boot.wim,{7619dcc8-fafe-11d9-

b411-000476eba25f}

path                   \windows\system32\boot\winload.exe

description             Windows 10 Setup (64-bit)

locale                  en-US

inherit                 {bootloadersettings}

osdevice                ramdisk=[boot]\x64\sources\boot.wim,{7619dcc8-fafe-11d9-

b411-000476eba25f}

systemroot              \windows

custom:250000c2         0

detecthal               Yes

winpe                   Yes

ems                     No


Windows 内存测试程序

---------------------

标识符                  {memdiag}

device                  boot

path                    \boot\memtest.exe

description             Windows Memory Diagnostic

locale                  en-US

inherit                 {globalsettings}


EMS 设置

------------

标识符                 {emssettings}

bootems                 No


调试器设置

-----------------

标识符                 {dbgsettings}

debugtype               Serial

debugport               1

baudrate                115200


全局设置

---------------

标识符                 {globalsettings}

inherit                 {dbgsettings}

                        {emssettings}


启动加载器设置

--------------------

标识符                 {bootloadersettings}

inherit                 {globalsettings}

                        {hypervisorsettings}


虚拟机监控程序设置

-------------------

标识符                  {hypervisorsettings}

description             Hypervisor Settings

hypervisordebugtype     Serial

hypervisordebugport     1

hypervisorbaudrate      115200


设备选项

--------------

标识符                 {7619dcc8-fafe-11d9-b411-000476eba25f}

ramdisksdidevice        boot

ramdisksdipath          \boot\boot.sdi


我于是照着把win7bcd文件改了,成品显示如下。

C:\Windows\system32>bcdedit /storeh:\boot\bcd /enum all


Windows 启动管理器

--------------------

标识符                  {bootmgr}

description             Windows Boot Manager

locale                  en-US

inherit                 {globalsettings}

default                 {default}

displayorder            {default}

                       {40a36935-776e-11e7-b340-40b89aa1f244}

toolsdisplayorder       {memdiag}

timeout                 30


Windows 启动加载器

-------------------

标识符                 {40a36935-776e-11e7-b340-40b89aa1f244}

device                  ramdisk=[boot]\x64\sources\boot.wim,{7619dcc8-fafe-11d9-

b411-000476eba25f}

path                   \windows\system32\boot\winload.exe

description             Windows 7 Setup (64-bit)

locale                  en-US

inherit                 {bootloadersettings}

osdevice                ramdisk=[boot]\x64\sources\boot.wim,{7619dcc8-fafe-11d9-

b411-000476eba25f}

systemroot              \windows

detecthal               Yes

winpe                   Yes

ems                     Yes


Windows 启动加载器

-------------------

标识符                  {default}

device                  ramdisk=[boot]\x86\sources\boot.wim,{7619dcc8-fafe-11d9-

b411-000476eba25f}

path                   \windows\system32\boot\winload.exe

description             Windows 7 Setup (32-bit)

locale                  en-US

inherit                 {bootloadersettings}

osdevice                ramdisk=[boot]\x86\sources\boot.wim,{7619dcc8-fafe-11d9-

b411-000476eba25f}

systemroot              \windows

detecthal               Yes

winpe                   Yes

ems                     Yes


Windows 内存测试程序

---------------------

标识符                  {memdiag}

device                  boot

path                    \boot\memtest.exe

description             Windows Memory Diagnostic

locale                  en-US

inherit                 {globalsettings}


EMS 设置

------------

标识符                 {emssettings}

bootems                 Yes


调试器设置

-----------------

标识符                 {dbgsettings}

debugtype               Serial

debugport               1

baudrate                115200


全局设置

---------------

标识符                 {globalsettings}

inherit                 {dbgsettings}

                        {emssettings}


启动加载器设置

--------------------

标识符                 {bootloadersettings}

inherit                 {globalsettings}

                        {hypervisorsettings}


虚拟机监控程序设置

-------------------

标识符                 {hypervisorsettings}

description             Hypervisor Settings

hypervisordebugtype     Serial

hypervisordebugport     1

hypervisorbaudrate      115200


设备选项

--------------

标识符                 {7619dcc8-fafe-11d9-b411-000476eba25f}

ramdisksdidevice        boot

ramdisksdipath          \boot\boot.sdi


那个EMS到底是开还是关,有什么作用,我不甚明了,反正MSDN下载下来的光盘里面默认是开启的,开启就开启吧

至于语言,官方的光盘默认是US,不理它,没必要改。

对了根目录\efi\microsoft\boot\bcd 也是有两个启动加载器的。

X86X64文件夹下的bcd文件跟单架构镜像下的完全一样,不修改。


BCD引导文件我做好了,接着照着WIN10合盘布置win7合盘文件结构。结果如下

7.PNG

X86 X64文件夹的内容分别来源于在MSDN我告诉你下载的cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso

cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso32/64位光盘镜像

ei.cfg文件删除了。其余文件由32位镜像提供,bcd文件替换成编辑好的双引导bcd文件。


就两步:编辑BCD,布置文件结构

好了,UltraISO制作镜像,刻录到U盘。

系统内运行安装试试。结果悲剧。setup.exe无法运行,提示却少组建。可见win7光盘根目录下的setup.exe无法脱离相邻文件夹sources里的内容独立运行。

死马当活马医,windows10根目录下的setup.ex替换过来。

运行测试,正常,而且,系统还根据我当前系统是64位的,自动帮我选择64位的

捕获3.PNG

启动U盘拿到一台安32位系统的电脑试试,自动选成32位的了。这是方便升级。

此合成的Windows 7光盘在系统内运行完美

开机安装尝试

1.PNG



选项可完美实现,尽管安装环境下F8高级选项没什么用。(虚拟机方便截图,实际开机安装也一样)

进去

捕获4.PNG



实际开机测试,修复计算机可完美实现,无论是32位还是64

激动中,现在安装

2.PNG




这!!!!!!

经排查,什么重新插拔U盘(list disk命令下一直能显示到U盘的),什么BIOS开启兼容模式,写入方式、隐不隐藏,镜像再添加USB3.0驱动,新老机器都尝试过,同一电脑单一架构原版镜像能正常安装。不是USB3.0的驱动问题。

也就是说此系统WINPE加载成功了,但启动安装程序的时候出错了。求大神解惑。

Rank: 2Rank: 2

UID
4412953
帖子
50
PB币
20
贡献
0
技术
0
活跃
66
发表于 2017-8-4 11:23:52 |显示全部楼层
我做好的window7 双引导的bcd文件上传如下
bcd.rar (4.92 KB, 下载次数: 0)

Rank: 2Rank: 2

UID
4412953
帖子
50
PB币
20
贡献
0
技术
0
活跃
66
发表于 2017-8-4 15:17:10 |显示全部楼层
哪位大神能帮忙解决最后找不到介质启动不了安装程序的问题呀,坐等,非常感谢

点评

邝飞奔  64位要GPT,强合在一起,就逄MBR给你装成功,也是很容易崩溃的  发表于 2017-8-5 00:11

Rank: 2Rank: 2

UID
4412953
帖子
50
PB币
20
贡献
0
技术
0
活跃
66
发表于 2017-8-5 00:22:54 |显示全部楼层
经营四方 发表于 2017-8-4 15:17
哪位大神能帮忙解决最后找不到介质启动不了安装程序的问题呀,坐等,非常感谢

什么叫强行合在一起?看清楚是分开引导的。谁说WIN7安装就一定要GPT。如果分开引导成功,格式化盘的依然可以选择GPT。本次讨论跟所谓GPT,MBR毫无关系。现在的困难在于还要修改什么地方,使启动安装成功。系统内安装测试通过了

点评

zerozerone  最后的错误提示就是安装引导文件镜像找不到了/访问不了,32位单镜像uefi引导支持能起来么?  发表于 2017-8-5 01:44

Rank: 2Rank: 2

UID
4412953
帖子
50
PB币
20
贡献
0
技术
0
活跃
66
发表于 2017-8-5 01:50:55 |显示全部楼层
经营四方 发表于 2017-8-5 00:22
什么叫强行合在一起?看清楚是分开引导的。谁说WIN7安装就一定要GPT。如果分开引导成功,格式化盘的依然可 ...

对,就是安装引导找不到启动文件。我这就照着这微软WIN10那个DVD文件结构布置的,最后没找到路径,说明除了根目录BCD文件,还有哪应该改的我没找到。关于uefi引导,无论32位还是64位,我没尝试,默认传统BIOS
关闭

站长推荐

回顶部
Copyright (C) 2005-2017 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件