[教学] 在MBPR/MBA 2015上安装Win7

楼主: mhc (唸书唸书..)   2016-11-16 20:37:23
试了一阵子总算在Macbook Pro Retina 2015成功的装上Win7
Macbook Air 2015安装做法极为类似, 因此也可以参照进行
补充: 有人好奇跑来问为什么装Win7这么难搞, 所以简单说明如下
1. Win7默认使用BIOS来处理开机问题, 不是用EFI, 为了解决第二点并跟MacOS共存
必须要让Win7要改用GPT+EFI模式才行 (Win7支援但默认不这样做, 所以要手动改)
2. MBPR/MBA 2015的显示硬件不支援Win7用的int 10, 并且把相关的内存锁死了
所以会需要另外手动加挂VgaShim EFI引导程式来模拟int 10功能并打开内存限制
不挂这个的话, Win7就只会给你一片黑画面看, 因为根本无法显示
因此开机程序会变成: VgaShim EFI -> Win7 EFI -> Win7 System
3. Win7默认不支援USB3驱动程式, 所以原来的状况下, 进安装程式后会没键盘鼠标用
因此要patch原来的Win7安装程式让它支援USB3
(所以如果你有别人做好已经支援Intel USB3的Win7 ISO, 理论上可以略过相关程序
Wireless/显示卡/KB2775511可能可以等安装完之后再装, 不整进去大概也没差
我甚至有看过把上述这些差不多都整合进Win7 ISO的版本, 懒人可以考虑试试)
4. KB2775511通常不被包含在Win7更新里面, 但可以解决一些Apple驱动程式签章的问题
其他驱动程式的问题就不赘述了, 大体上就是得靠自己, 因为Apple给的支援不完整..
补充结束.
首先要感谢macrumors的tl166115和davidcie
他们提供了最初在MBA和MBPR 2015上的Win7可行安装方式
特别是davidcie还写了vgashim, 让MBA/MBPR 2015能够成功的安装并执行Win7
他们提供的安装指引连结如下, 如果有兴趣请自行参考
davidcie's thread for MBA: https://goo.gl/EmgpRa
tl166115's thread for MBPR: https://goo.gl/ibJyk5
我的安装方式跟他们有些地方不太相同, 但许多部份也是蛮类似的
进行以下操作时, 我的执行环境是MacOS EI Capitan (MBPR) + Windows 7 (PC)
但理论上Sierra应该也可以按照这样的程序完成Win7的安装
A. 取得所有需要的东西
1. 准备Win7 SP1 ISO & 授权资料, 建议Pro/x64以上版本.
另外也建议准备Win8/8.1/10的任一个ISO, 没有授权资料没关系
2. 下载hotfix KB2775511 for x64 : https://goo.gl/eqwssW
3. 下载Intel usb 3.0 driver, 用WinRAR之类解压 : https://goo.gl/WT6WGq
4. 下载Intel HD graphics driver, 用WinRAR之类解压 :https://goo.gl/KoJwWA
(如果你不是用Intel的显示卡就另外抓吧)
5. 下载Bootcamp提供的Drivers
5a.Broadcom无线网络驱动程式, 用WinRAR之类解压 :
https://goo.gl/hiHX5c (uploaded by tl166115)
5b. Apple trackpad driver, 用WinRAR之类解压 (5c里的不适用) :
https://goo.gl/yX8de2 (uploaded by tl166115)
5c. davidce提供了Bootcamp 5给MBA的driver pack, 也可以抓下来:
https://goo.gl/fvALuT (uploaded by davidce)
or 或者直接从这里抓Bootcamp 5.1.5769的driver pack:
https://support.apple.com/kb/DL1837
5d. Bootcamp 6提供的driver pack
你可以在启动Bootcamp后在menu bar的 动作-下载Windows支援软件 下载到
或先用Bootcamp装Win8/8.1/10, 档案复制好重开机时, 用随身碟+WinPE开机
把OSXRESERVED磁区里的Bootcamp资料夹复制出来也可以
另一个方式是让Win8/8.1/10安装跑完, 然后再把Bootcamp资料夹复制出来.
如果你用WinPE, 则这步骤可以跟后面的B.1一起完成, 详见后面步骤B.1描述.
6. 下载davidce撰写编译的vgashim, 用WinRAR之类解压 : https://goo.gl/oPr7eT
7. 下载davidce撰写的do_boot.wim.bat script :
https://dl.dropboxusercontent.com/u/12435741/MBPR/do_boot.wim.bat (备份)

http://forums.macrumors.com/attachments/do_boot-wim-bat-txt.621577/
(需要macrumors免费帐号, 下载后自行移除.txt副档名)
8. 下载RT 7 Lite :
https://goo.gl/v0IdIZ (uploaded by tl166115)
或于此连结下载
http://www.softpedia.com/get/System/Boot-Manager-Disk/RT-Seven-Lite.shtml
B. 环境准备:
1. 用Bootcamp来安装Win8/8.1/10的ISO, 并调整好大小, 这也会是之后给Win7的空间.
这个方式是用Bootcamp的操作来取代原来安装指引中较复杂/危险的磁盘操作
(选项: 完成档案拷贝自动重开机时, 改用随身碟+WinPE开机, 不要进安装程式,
然后把OSXRESERVED分割区中的bootcamp资料夹, 也就是驱动程式们复制出来备用
但如A.5d所述, 其实可以直接在MacOS的Bootcamp里面下载就可以了)
重开机进入安装程式后, 直接取消安装退出, 接着会自动重开机
重新进入MacOS后, BOOTCAMP分割区会持续存在, 但OSXRESERVED分割区会被自动移除
之后我们要使用的就是BOOTCAMP分割区来安装Windows 7
如果这步骤你不想用Bootcamp或没有Win8/8.1/10的ISO
则可以考虑手动用diskutil或第三方软件手动完成空间重新分配
这边要注意的是, 要给Windows 7的分割区一定要是HFS, 不能是FAT之类
此外在每个分割区之间, 也要保留128MB的未使用空间
千万不要删掉MacOS的两个分割区(MacOS跟Recovery)
怕出错的话, 建议预先参照以下连结做一个MacOS可开机救援随身碟备用
https://support.apple.com/en-us/HT201372
2. 在Windows电脑安装Rt7Lite
2a. 在Rt7Lite中开启Win7的ISO, 指定一个空目录让他解压ISO档案.
完成后根据你的ISO档案选择Win7版本. 你也可以把语言改成繁体中文
2b. 到Task页面, 勾选"Integration."
2c. 到Integration页面, 加入以下项目:
i. hotfix: (必要)
windows6.1-kb2775511-v2-x64_ec18cc10e27faf443c17e7a8073c9eba773eb13e.msu
ii. Driver: [USB_3.0_Driver]\Drivers\HCSwitch\x64\iusb3hcs.inf (必要)
[USB_3.0_Driver]\Drivers\Win7\x64\iusb3hub.inf (必要)
[USB_3.0_Driver]\Drivers\Win7\x64\iusb3xhc.inf (必要)
[Graphics_Driver]\Graphics\igdlh64.inf (看显示卡,建议要)
[Broadcom_Wireless_Driver]\bcmpciedhd6.inf (非必要)
2d. 到Log页面, 选择Re-Build all images.
注: 我猜Rt7Lite产生的boot.wim可以直接用, 因为USB3驱动程式也整合在里面了
如果可以用的话可以跳过整个步骤3. 但因为我没有测过, 所以请自行试试看.
3. 用davidce提供的 do_boot.wim.bat 建立新的 boot.wim
3a. 建立资料夹 C:\inject, C:\inject\drivers
3b. 把 [USB_3.0_Driver]\Drivers\HCSwitch\x64\*.*
复制到 C:\inject\drivers
3c. 把 [USB_3.0_Driver]\Drivers\Win7\x64\*.* 复制到 C:\inject\drivers
3d. 把 [Win7Data]\sources\boot.wim 复制到 C:\inject
3e. 把 do_boot.wim.bat 复制到 C:\inject
3f. 在 do_boot.wim.bat 按鼠标右键, 以系统管理员身分执行
3g. 用 C:\inject\boot.wim 覆蓋 [Win7Data]\sources\boot.wim
4. 建立可开机的FAT32 EFI随身碟
4a. 搜寻 cmd.exe 在上面按鼠标右键, 以系统管理员身分执行
4b. 执行指令 diskpart
4c. 执行指令 list disk
4d. 根据随身碟的容量, 去判断磁盘机编号[number]
4e. 执行指令 select disk [number]
4f. 执行指令 clean
4g. 执行指令 convert gpt
4h. 执行指令 create partition primary
4i. 执行指令 format fs=fat32 quick
4j. 执行指令 exit
5. 准备Win7安装随身碟
5a. 把 [Win7Data] 的所有内容复制到随身碟中
5b. 把 [Win7Data]\Boot\EFI\bootmgfw.efi
复制到随身碟的 efi\microsoft\boot
5c. 在随身碟中建立 efi\boot 资料夹
5c. 把 [VgaShim-v0.97]\VgaShim.efi
复制到随身碟的 efi\boot 并将其改名为 bootx64.efi
5c. 把 [VgaShim-v0.97]\VgaShim.bmp
复制到随身碟的 efi\boot 并将其改名为 bootx64.bmp
6. 关闭MacOS系统完整保护
6a. 重开机
6b. 按住 Command-R 直到进入救援模式
6c. 在上方menu bar找到Utilities > Terminal, 执行终端机
6d. 执行指令 csrutil disable
6e. 重开机 (并同时插入随身碟, 准备安装)
7. 安装Windows 7
7a. 按住 Option, 选择由随身碟开机
7b. 安装 Windows 7 注意选择安装分割区时要进入进阶模式
格式化BOOTCAMP分割区, 并将Win7安装在这个分割区上
7c. 第一次要求重开机时, 按住 Option, 选择进入 MacOS
8. 将VgaShim安装到EFI分割区
8a. 执行终端机 Terminal.app
8b. 执行指令 mkdir efidisk
8c. 执行指令 diskutil list
8d. 找出TYPE是EFI的分割区, 记住他的[IDENTIFIER], 通常会像是disk0s1
8e. 执行指令 sudo mount -t msdos /dev/[IDENTIFIER] efidisk
8f. 用Finder.app找到随身碟中的efi/boot资料夹
把boot资料夹复制到efidisk/EFI/里面
8g. 执行指令 sudo bless
作者: seebrave (undercover)   2016-11-16 21:06:00
谢谢分享
作者: kennyf506 (Kenny)   2016-11-16 21:59:00
可以收精华区了~
作者: sixf0ld (coldrain)   2016-11-16 22:01:00
优文
作者: chadhsieh (谢老板)   2016-11-16 22:35:00
看到眼花 感觉很麻烦 pass
作者: roymarlon (大步走~)   2016-11-17 06:56:00
push
作者: royhsia (转档真是大哉问)   2016-11-18 14:41:00
原PO没写到从do_install.wim.bat弄到的bootmgfw.efi

Links booklink

Contact Us: admin [ a t ] ucptt.com