电竞比分网-中国电竞赛事及体育赛事平台

分享

Win7 + VirtualBox 安裝 MacOS X 10.9 Mavericks 操作步驟

 長翅膀的牛8558 2016-02-14

今天試著用 Win7 + VirtualBox 4.3 + MacOSx 10.6 + hdiutil + Mavericks.app.dmg 純手工制作用于 VirtualBox 虛擬機(jī)安裝的 MacOSx 10.9 Mavericks ISO 安裝盤鏡像文件,本文中未使用github上那個基于 ruby 的 InstallESD 制作工具,也未用變色龍等啟動工具,就只用到下載的 Mavericks.app.dmg 安裝包、hdiutil 和幾個 kexts 等核心文件來制作虛擬機(jī)安裝盤 ISO/DMG 鏡像。

由于純手工安裝 mavericks 的過程相當(dāng)折騰,沒有一兩斤耐心,估計很難堅持到最后。不過,這一通折騰下來,相信自己對 MacOSX 系統(tǒng)的了解一定比只用鼠標(biāo)亂戳更深入一些。

為了理清思路,折騰過程被人為分成了零~五共六個階段。另外注意:試驗電腦為聯(lián)想 Thinkpad (Intel 芯片),家里沒有基于 AMD 芯片的電腦,所以本文中操作步驟還沒有在 AMD 電腦上作測試,結(jié)果亦未知。

下圖為安裝后虛擬機(jī)截屏:



## 第零階段:準(zhǔn)備工作

首先將從 apple.com 或一些云網(wǎng)盤下載得到的 Mavericks 安裝包文件 mavericks.app.dmg (約5GB) 放在一個 Win7 目錄中(假設(shè)為 F:\downloads),不必將其復(fù)制進(jìn)到 MacOSX 虛擬機(jī)中,以免使虛擬機(jī) VDI 占用過大磁盤空間;

將此目錄在 Win7 中共享出來,權(quán)限設(shè)置為當(dāng)前用戶擁有“讀寫”權(quán)限,稍后可以在 MacOSX 中以當(dāng)前用戶的身份連接到該共享目錄;然后打開 VirtualBox,并啟動 MacOSX 10.6,連接到這個 Win7 共享目錄;具體方法是在 Finder 中選擇“前往 - 連接到服務(wù)器”,輸入 Win7 系統(tǒng) IP 或主機(jī)名稱,象這樣:smb://t400s 或 smb://192.168.1.13,然后提示輸入你在 Win7 中的登錄帳戶和密碼;連接共享目錄成功后,你的 Win7 目錄就會出現(xiàn)在 /Volumes 目錄下面,根據(jù)上面假設(shè)應(yīng)該為:/Volumes/downloads

注意:要想 MacOSX 成功連接 Win7 共享目錄,除了在 Win7 中正確設(shè)置共享帳戶/權(quán)限等,還必須在 [MacOSX 控制面板/共享] 中勾選 [文件共享] 選項;在 Win7 中設(shè)置共享時,記住一定要勾選中“寫”權(quán)限,因為下面命令會利用宿主機(jī)器的硬盤空間,而不必復(fù)制到虛擬機(jī)VDI中,前面說了,是為了避免虛擬機(jī) VDI 文件搞的過大。

還有一點切記:在 MacOSx 中操作這個共享目錄過程中,千萬不要到 Win7 中再對這個共享目錄作任何操作,哪怕是瀏覽都不可,否則極易導(dǎo)致 Win7 + VirtualBox 4.x 訪問該共享目錄出錯,并且此問題似乎來自 netbios 核心驅(qū)動程序,掛了就不可修復(fù),重啟 VM 不管用,除非重啟 Win7 再來。

下面假設(shè)掛載 Win7 共享目錄一切順利過關(guān),然后進(jìn)入該目錄,下面所有命令均以此為當(dāng)前目錄;

# cd /Volumes/downloads

# ls -trlF (列一下目錄看是否正常)

注意:當(dāng)前目錄 /Volumes/downloads 所在磁盤要留足夠空間,最好留夠20GB空閑磁盤空間,下面操作中涉及的 dmg/iso 文件都是尺寸在 6GB 左右的大塊頭兒。


## 第一階段:初步制作 mavericks.sparseimage 啟動盤鏡像


掛載 MacOSX 10.9 下載包 mavericks.app.dmg 到 MacOSX 虛擬機(jī)的文件系統(tǒng);

# hdiutil attach ./mavericks.app.dmg -noverify -nobrowse -mountpoint /Volumes/app

再掛載 mavericks.app.dmg 內(nèi)部的 InstallESD.dmg (所在目錄:/Volumes/app/Install\ OS\ X\ Mavericks.app/Contents/SharedSupport/)

# hdiutil attach /Volumes/app/Install\ OS\ X\ Mavericks.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/iesd

然后將 InstallESD.dmg 中的 BaseSystem.dmg 轉(zhuǎn)換成 UDSP 格式的 dmg,大概2GB左右,耗時約5分鐘;

# hdiutil convert /Volumes/iesd/BaseSystem.dmg -format UDSP -o ./mav.sparseimage

將轉(zhuǎn)換得到的 mav.spareimage 空間擴(kuò)至 8GB,以便稍后添加 packages 等內(nèi)容;

# hdiutil resize -size 8g ./mav.sparseimage

再將轉(zhuǎn)換得到的 mav.spareimage 掛載到文件系統(tǒng),以便復(fù)制 packages 包文件進(jìn)去,并對其內(nèi)容進(jìn)行適當(dāng)調(diào)整;

# hdiutil attach ./mav.sparseimage -noverify -nobrowse -mountpoint /Volumes/mav

先刪除 /Volumes/mav/System/Installation/Packages 文件,這只是一個符號連接,直接刪除,稍后會復(fù)制進(jìn)真正的 Packages 內(nèi)容;

# rm /Volumes/mav/System/Installation/Packages

復(fù)制進(jìn)真正的 Packages 內(nèi)容,大概需要10多分鐘;

# cp -rp /Volumes/iesd/Packages /Volumes/mav/System/Installation/

復(fù)制完成后,這個 mav.sparseimage 大概就超過5GB了,為了制作 ISO,需調(diào)整一下其尺寸;

# hdiutil detach /Volumes/mav (調(diào)整尺寸前必須先卸載 DMG,否則會提示資源暫時不可用)

# hdiutil resize -limits ./mav.sparseimage (先查詢一下最小尺寸)

這個命令會顯示出三個數(shù)字,象這樣:Num1 Num2 Num3,這里只需要記下第一個數(shù)字 Num1,然后運(yùn)行下面命令;

# hdiutil resize -size Num1b ./mav.sparseimage  (其中:將Num1換成上面顯示的第一個數(shù)字,注意后面加一個小寫‘b’字母,其他照寫)

完成以上步驟,基本就可以轉(zhuǎn)換成 ISO 安裝盤了,可用來安裝到 macbook,但在非 mac 硬件或虛擬機(jī)中還無法使用;


## 第二階段:調(diào)整驅(qū)動程序和核心模塊

以下步驟將調(diào)整這個安裝包內(nèi)容,為了使其能安裝到非 mac 硬件或虛擬機(jī)中;針對不同硬件,以下步驟全盤照搬也許不能成功啟動/安裝,請根據(jù)硬件情況作調(diào)整;

首先需要準(zhǔn)備一些第三方核心和驅(qū)動程序文件,可從網(wǎng)絡(luò)上下載;我是從這里下載的:http://www./downloads/install109.zip 其中包含有 mach_kernel, kexts 等文件,下面步驟中主要用到其中的 mach_kernel 和 kexts 驅(qū)動程序文件。

由于第一階段中,在調(diào)整 DMG 尺寸時將其從文件系統(tǒng)卸載了,現(xiàn)在我們需要將其重新掛載到文件系統(tǒng),以便進(jìn)行修改;

# hdiutil attach ./mav.sparseimage -noverify -nobrowse -mountpoint /Volumes/mav

掛載成功后,將 mach_kernel 文件復(fù)制到 /Volumes/mav 中,即安裝盤鏡像 DMG 文件的根目錄中;

# cp -rp ./Install109/Kernel/mach_kernel /Volumes/mav

再將以下三個驅(qū)動程序復(fù)制到安裝包 Extensions 目錄中;

ElliottForceLegacyRTC.kext

FakeSMC.kext

NullCPUPowerManagement.kext

# cp -rp ./Install109/Kexts/*.kext /Volumes/mav/System/Library/Extensions

# chmod -R 0755 /Volumes/mav/System/Library/Extensions (可能需要設(shè)置一下目錄/文件屬性)

為了方便后續(xù)操作,除了將 kexts 驅(qū)動程序復(fù)制到 /System/Library/Extensions 目錄中,我們還可以在此 ISO 安裝盤中創(chuàng)建一個 /Backup 目錄,用于保存這些第三方驅(qū)動和工具軟件,稍后會用到;

# mkdir /Volumes/mav/Backup

# cp -rp ./Install109/* /Volumes/mav/Backup

做完這一步,基本就可以轉(zhuǎn)換生成 ISO 用于虛擬機(jī)中啟動安裝了。網(wǎng)上還看到有一些教程,包括改動 OSInstall.pkg 等內(nèi)容,但那種情況似乎是要求在同一塊硬盤上同時安裝多個系統(tǒng) windows / macosx。若只安裝于 VirtualBox 似乎沒必要折騰它。

這里還考慮到一個具體情況,Mavericks 安裝要求電腦具備至少2GiB內(nèi)存,而目前一般電腦多配置4GB內(nèi)存,運(yùn)行 Win7 + VirtualBox + MacOSX 比較拮據(jù);若為虛擬機(jī)分配 2GB 內(nèi)存,宿主 Win7 系統(tǒng)運(yùn)行起來就顯得有點力不從心了。其實 Mavericks 安裝程序有 1GB 內(nèi)存就基本可以運(yùn)行了,不知為何 Mavericks 安裝程序默認(rèn)要求至少 2GB 內(nèi)存;考慮到這種情況,為了減少安裝時這個內(nèi)存最小需求,還得動手在上面安裝包中改一處設(shè)置;當(dāng)然,如果電腦中內(nèi)存不是問題就不必要改這個設(shè)置了,直接往下跳過這幾步即可。為了改這個2GB設(shè)置,有點興師動眾,可能需要安裝 XCode,需要利用其中一個開發(fā)工具:Flat package editor;首先將 /Volumes/mav/System/Installation/Packages/OSInstall.mpkg 復(fù)制到桌面或其他某個目錄;運(yùn)行 Flat package editor:

# open /Developer/Utilties/PackageEditor.app (此工具深藏在 XCode 中)

再在該軟件中通過菜單打開 Flat package editor,載入復(fù)制出來的 OSInstall.mpkg 文件,將其中的 distribution 文件拖出來放到桌面,再用文本編輯器修改其中這一行:

minRam=2048  (改為 1024,表示只要多于1GB內(nèi)存就能運(yùn)行 Mavericks 安裝程序了)

改好保存,再將其拖回放入 OSInstall.mpkg 包中,并把其中原版 distribution 文件刪除,然后將此 OSInstall.mpkg 包復(fù)制覆蓋到 mav.sparseimage 包的相應(yīng)目錄中;

# cp ~/Desktop/OSInstall.mpkg /Volumes/mav/System/Installation/Packages/

# ls -trlF /Volumes/mav/System/Installation/Packages (確認(rèn)一下是否更新成功)

至此,安裝包制作的準(zhǔn)備工作基本就緒,接下來就是發(fā)布命令,轉(zhuǎn)換生成 iso 或 dmg 啟動盤鏡像,此轉(zhuǎn)換過程大約耗時18分;

# hdiutil convert ./mav.sparseimage -format UDTO -o ./mav  (由此生成 ./mav.cdr 改名為 ./mav.iso 即可)

或者,

# hdiutil convert ./mav.sparseimage -format UDRO -o ./mav  (這將生成 ./mav.dmg 包)

完成以上步驟,就得到一個 6GB 大小的 ISO 或 DMG 文件;這時,可以將當(dāng)前運(yùn)行的虛擬機(jī)關(guān)閉,如果內(nèi)存不足以再多開一個虛擬機(jī)同時運(yùn)行的話;

如果不關(guān)閉此虛擬機(jī)進(jìn)行后續(xù)操作,則最好及時將上面掛載的 DMG 和共享目錄全部卸載,如下:

# hdiutil detach /Volumes/mav

# hdiutil detach /Volumes/iesd

# hdiutil detach /Volumes/app (iesd, app 這兩項卸載順序不要弄反)

# hdiutil detach /Volumes/downloads (安全卸載共享目錄)


## 第三階段:VirtualBox 中安裝 Mavericks

首先在 VirtualBox 4.3.x 中創(chuàng)建一個 Mavericks x64 虛擬機(jī)項目,多數(shù)默認(rèn)參數(shù)即可,除了以下幾項:

Memory 內(nèi)存 最好 1500MB 以上
VDI 硬盤 加大到 80GB,默認(rèn) 20GB 太小
CD/DVD 光驅(qū) 掛接到第二階段中生成的 ISO 或 DMG 文件
EFI 必須啟用
Network Adapter 網(wǎng)卡 可默認(rèn)用 NAT,也可改為 Bridge adapter,如果有帶DHCP路由器,選擇后者比較好,LAN中可分配獨立的IP地址。
Boot order 啟動順序 設(shè)置為從 CD/DVD 優(yōu)先啟動

創(chuàng)建好虛擬機(jī)并啟動。。。如果啟動順利,此虛擬機(jī)會在2~10分鐘內(nèi)進(jìn)入圖形安裝界面,顯示出多國語種“歡迎”。。。通常,這個啟動過程通常會有各種“卡死”,可能會卡死在多個地方,我在此過程中就卡了無數(shù)次,通過反復(fù)試驗上網(wǎng)查資料,最終摸索出上述操作步驟才得以順利通關(guān),浪費了大量時間,你看上面步驟中動不動就是6GB的大塊頭兒和原地等待近20分鐘的轉(zhuǎn)換/復(fù)制!卡死的情況主要有以下一些情況:

Loading kernel cache 卡死

Could not load mach_kernel 卡死

IOHDAFamily triggered rebuild 卡死

current thread: kernel_task 卡死

AppleIntelCPUPowerManagement timed out 卡死

Missing Bluetooth Controller Transport 卡死(可能與藍(lán)牙沒關(guān)系,可能是下一操作卡死了)

Waiting for DSMOS 卡很久,但最終一般能通過

如果你遭遇不同的卡死情況,可能需要返回第二階段重新操作,根據(jù)情況調(diào)整或刪除一些驅(qū)動程序后,再制作 ISO 安裝盤。。。注意:若要禁用某些驅(qū)動程序,建議將其暫時移動到安裝包 ISO/DMG 內(nèi)的 /Backup 目錄中,而不是直接刪除,以備未來不時之需。

如果在 VirtualBox 中順利啟動并進(jìn)入到圖形安裝界面,那就基本上宣告成功在望了。這時可作一些初步設(shè)置,讓安裝程序運(yùn)行完成;注意:其間,在選擇安裝盤時,最初磁盤分區(qū)列表可能為空白,因為虛擬機(jī) VDI 硬盤還沒有分區(qū)/格式化,你需要進(jìn)入菜單中的“磁盤工具”,抹掉 VDI 硬盤內(nèi)容,并設(shè)置一個卷標(biāo)號,這里假設(shè)為:Mavericks

這階段 Mavericks 安裝過程實際上大概需要50分鐘,盡管畫面提示只要23分鐘,那很可能是在 macbook 上的估算時間,在VirtualBox中安裝時,你的二分鐘被折算成了一分鐘;

## 第四階段:在 VDI 硬盤中補(bǔ)充安裝驅(qū)動程序

安裝完成后 Mavericks 就會自動重新啟動;這時你也許會長舒一口氣,以為大功告成,其實不然,這時你禁用光驅(qū)并直接從 VDI 硬盤啟動將 1000% 無法啟動成功;不過,也不要著急,只是還有點問題需要手工處理一下;為了處理這個啟動問題,暫時還是從上面制作的安裝光盤 ISO 鏡像啟動,當(dāng)進(jìn)入圖形安裝界面后,不要選擇繼續(xù)安裝,而是通過上方菜單直接進(jìn)入 Shell 終端控制臺,我們要對虛擬機(jī) VDI 硬盤中驅(qū)動程序進(jìn)行補(bǔ)充;

經(jīng)過上述安裝后無法啟動的原因是我們在 ISO 中加入的 kexts 驅(qū)動程序沒有被正確安裝到 VDI 硬盤 /System/Library/Extensions 目錄中,所以,我們需要再次手工安裝它們;

由于 Mavericks 安裝程序默認(rèn)按只讀方式掛載了 VDI 虛擬硬盤,所以得先卸載掉,再重新掛載為讀/寫模式,命令如下:

# umount /Volumes/Mevericks (先卸下只讀盤,Mevericks是我們在上面安裝時格式化 VDI 硬盤時設(shè)置的名稱)

# hdiutil attach /dev/disk0s2 -mountpoint /Volumes/mnt

(用mount -t hfs+-o rw /dev/disk0s2 掛載失敗,提示:no such file or directory,而/etc/fstab又為只讀無法編輯,所幸換用 hdiutil 掛載,成功!)

# cp -rp /Backup/Kexts/ElliottForceLegacyRTC.kext /Volumes/mnt/System/Library/Extensions

# cp -rp /Backup/Kexts/FakeSMC.kext /Volumes/mnt/System/Library/Extensions

# cp -rp /Backup/Kexts/NullCPUPowerManagement.kext /Volumes/mnt/System/Library/Extensions

(安裝這三個驅(qū)動程序,其他幾個暫時不要安裝進(jìn)去;這里就用到了上面早有預(yù)謀的 /Backup 目錄和備份內(nèi)容,而不必又抓狂去掛載U盤啥的)


# chmod -R 0755 /Volumes/mnt/System/Library/Extensions

# chown -R root:wheel /Volumes/mnt/System/Library/Extensions (更正文件目錄屬性)

# hdiutil detach /Volumes/mnt (完成后立即卸下虛擬機(jī) VDI 硬盤)

操作成功后,直接關(guān)機(jī),然后在 Virtualbox 中將 iso 光驅(qū)卸下,或者更改啟動順序為從 VDI 硬盤重新啟動。。。如果一切順利,很快就能啟動進(jìn)入 MacOSX 10.9 了。。。
這一階段的操作,也可以選擇將此虛擬機(jī) VDI 硬盤臨時掛載到第一階段中用于制作 ISO 鏡像文件的那個 MacOSX 虛擬機(jī)中,進(jìn)行以上操作可能會更簡便。


## 第五階段:調(diào)整 MacOSX 設(shè)置

進(jìn)入 MacOSX 10.9后,最好先打開控制面板,在節(jié)能器中將節(jié)能選項全部關(guān)閉,以免過一會兒不用,虛擬機(jī)自動進(jìn)入節(jié)能導(dǎo)致無法喚醒。

還有一點,當(dāng) Reboot 時一般會在 "Waiting for DSMOS" 卡上好一陣子才能過關(guān),有人說用這個命令:

# sudo chown root:wheel / 

可解決;試了一下,似乎有效,通關(guān)卡的時間有所減少 :)

注意:按上述步驟安裝出來的 MacOSX 10.9 在 VirtualBox 4.3.6 中運(yùn)行沒有聲音,聲卡驅(qū)動程序的安裝步驟有待進(jìn)一步研究。。。

默認(rèn)安裝后,屏幕尺寸為 1024*768,為了加大屏幕尺寸,最簡單的方法是添加以下設(shè)置到虛擬機(jī)目錄中的 mavericks.vbox 文件中:

<ExtraDataItem name="VBoxInternal2/EfiGopMode" value="4"/>

其中“4”表示:1440×900

0 – 640×480
1 – 800×600
2 – 1024×768
3 – 1280×1024
4 – 1440×900

關(guān)于virtualbox設(shè)置,可以參考 https://www./manual/ch03.html


本章就到此為止,以上就是本篇所有內(nèi)容,歡迎大家交流。


最后還是拉票階段:http://vote.blog.csdn.net/blogstaritem/blogstar2013/yorhomwang ,支持我的朋友不妨投我一票吧~

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

歡迎大家轉(zhuǎn)載我的文章。

轉(zhuǎn)載請注明:轉(zhuǎn)自Yorhom's Game Box

http://blog.csdn.net/yorhomwang

歡迎繼續(xù)關(guān)注我的博客

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多