
我按照本指南在 Mac OS X Yosemite 的 MacBookPro11,5 (Retina) 上安裝了 Ubuntu 14.04.2 LTS:https://help.ubuntu.com/community/MacBookPro11-1/Saucy
問題是我已經透過 Boot Camp 安裝了 Windows 8.1 Pro,因此 Mac OS 上的磁碟工具無法用於重新分割 SSD。我resizeStack
在終端機中使用來縮小 OS X 分割區(在這裡指導)。現在SSD分割區為:
/dev/sda1
:EFI分割區/dev/sda2
:OS X 優勝美地/dev/sda3
:OS X 恢復高清/dev/sda4
: Windows 8 新手訓練營/dev/sda5
:Ubuntu磁碟安裝到/
/dev/sda6
: 烏班圖Swap
選擇安裝 Ubuntu 引導程序/dev/sda1
,但安裝程序通知 Windows 引導程式也存在於sda1
.安裝後,Ubuntu 和 Mac OS 成功從 GRUB2 啟動,但 Windows 無法從 GRUB2 啟動,也無法從本機 Apple 啟動管理員(option
啟動時按下)啟動。我使用 Parallels Desktop 將 Boot Camp 分割區作為虛擬機器加載,並且 Windows 可以正常工作。
解決方案#1
我安裝了啟動修復在 Ubuntu 上並使用推薦維修, 沒有運氣;修復後,Grub2 選單中添加了更多條目。 GRUB 運作正常,Mac 作業系統可以啟動。這是建立的啟動資訊頁面:http://paste.ubuntu.com/11897269/
解決方案#2
我插入 Windows 安裝閃存驅動器並嘗試自動啟動修復,這沒有用。然後我嘗試透過命令提示字元修復主引導記錄:
bootrec /fixmbr
修復後Mac OS被設定為第一啟動系統,因此啟動電腦時沒有出現Grub選單。我efibootmgr
在 Ubuntu 安裝快閃磁碟機上使用將 Ubuntu 設定為第一個啟動驅動器,將 Mac OS 設定為第二個啟動磁碟機。 Windows 仍然無法啟動。
奇怪的是,這次點擊「Windows」磁碟圖示後,Apple 啟動管理員並沒有嘗試啟動 Windows;而是嘗試啟動 Windows。 「Macintosh HD」和「Windows」圖示都將導致 Mac OS 啟動。所以修復肯定改變了Apple啟動管理器。
幾個問題
看來 Windows Boot Loader
/dev/sda1
被 Grub 覆蓋了。那麼有沒有辦法讓Windows Boot Loader和Linux boot loader(現在是Grub了,對吧?)共存呢?需要注意的一點是Boot Camp Windows 8 在 MacBook Pro 上以 EFI 模式啟動,如圖
setupact.log
所示Callback_BootEnvironmentDetect: Detected boot environment: EFI
。指導我還檢查了 Grub 它可以在 EFI 模式下工作。那麼Windows是否也像Mac OS一樣使用GUID分割區表(GPT)來取代MBR呢?如果是這樣,修復 MBR 可能沒有用。我不確定 Apple 啟動開關位於何處,以及如何透過 Windows 安裝驅動器更改它?也是在嗎
/dev/sda1
?
我是這個主題的初學者。非常感謝你的回答!
更新:
我在 Windows 安裝命令提示字元中嘗試了以下命令:
bootrec /fixmbr
: 成功的bootrec /fixboot
: 成功的bootrec /scanos
: 已識別 1 個 Windows 安裝D:\Windows
bootrec /rebuildbcd
:已識別 1 個 Windows 安裝D:\Windows
;找不到要求的系統設備。bcdedit
: 找不到要求的系統設備。
Windows 無法啟動,錯誤代碼0xc000000e
。
更新#2
我按照 Rod Smith 的回答將我的 EFI 分割區從 轉換MBR: MBR only
為MBR: protective
和GPT: present
,但隨後「Windows」選項從 Apple 啟動管理員中消失,並且無法啟動 Grub。
我也按照特倫斯的回答rebuildbcd
但沒有成功。看看他們的答案的評論。
答案1
您的問題是您的 Windows 安裝處於 EFI 模式,但您的磁碟配置了混合膜生物反應器,這會強制 Windows 將磁碟視為 MBR 磁碟。 Mac 開機載入程式也可能將此視為嘗試 Windows BIOS 模式開機的訊號,但磁碟上沒有 BIOS 模式開機載入程式。由於 Windows 只能從 GPT 磁碟以 EFI 模式啟動,因此此配置會導致啟動失敗。可能還有其他問題,但這是我看到的第一個問題,它會確實導致啟動失敗,所以你應該解決這個問題。
幸運的是,解決方案相當簡單,儘管不直觀:
- 啟動至 Ubuntu。 (您也可以在 OS X 中執行此操作,但需要安裝
gdisk
並使用不同的磁碟裝置檔案名稱。) - 打開終端機視窗。
- 類型
sudo gdisk /dev/sda
。系統提示您輸入密碼後,您gdisk
應該啟動並告訴您,除其他事項外,MBR: hybrid
. - 鍵入
p
以查看分區表。假設您對分割區有足夠的了解,您應該能夠驗證您正在查看正確的磁碟。如果沒有,請鍵入q
退出並嘗試另一個磁碟裝置。 - 鍵入
x
以進入專家選單。 - 鍵入
n
建立新的保護性 MBR 以取代現有的混合 MBR。 - 再次鍵入
p
以驗證您的分割區是否仍然存在。這只是一種預防措施,以確保您不會意外按錯鍵。 - 鍵入
w
以儲存分區表。系統會要求您驗證此操作。這樣做。
運氣好的話,這應該可以解決您的問題。
答案2
如果 Bootrec 顯示「無法找到請求的系統裝置」錯誤,以下步驟將協助建立新的 BCD:
鍵入此命令:
bcdedit /export D:\BCDBackup
類型
d:
d:
你的 Windows 安裝在哪裡類型
cd boot
鍵入此命令:
attrib bcd -s -h -r
鍵入此命令:
ren d:\boot\bcd bcd.old
鍵入此命令:
bootrec /RebuildBcd
希望這可以幫助。