[教學] 在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