x86 硬件上的 Mac OS X 2008–2024 技術文獻庫
InfiniteMac OSx86 › Leopard 10.5 › 如何將 Mac OS X 整合版映像檔寫入至 USB 手指開機安裝?
232,072 reads · 2008-10-18 – 2010-05-09
技術報告 Leopard 10.5 Retail DVD / USB

如何將 Mac OS X 整合版映像檔寫入至 USB 手指開機安裝?

我想將 USB 手指當作零售版安裝 DVD 使用,方便隨時更換不同 Kext 測試各款 OSx86 發行版(Distro)。請問該如何將 Mac OS X 整合版映像檔寫入至 USB 手指並引導開機?

主筆作者
@nexusmac 發表於 2008-10-18
所屬專區
Leopard 10.5
典藏規模與紀錄
232,072 次歷史閱讀 · 32 則精選技術筆記(萃取自 37 則原始回帖) · 2008-10-18 – 2010-05-09
參與貢獻成員 (14)
@nexusmac (10)@nfoav8or (9)@naquaada (4)@dvkch (2)@zuz242 (2)@ArKayDe (2)@Dies@milanca@rocafellabryan@natewill18@Pyrokenesis_17@Taisto@00010@fairlyodd
相關硬件參考
USB 3.2 Boot Flash Drives ↗ SATA III & NVMe SSDs ↗ AMD Radeon GPUs (QE/CI) ↗
香港繁體精譯技術專卷 · 完整保留原始指令、Kext 名稱、ACPI 節點與開機參數查看英文原版 (Original English) →

我想將 USB 手指當作零售版安裝 DVD 來使用,

藉此把 USB 手指當成光碟機,方便測試不同的 OSx86 整合版(Distros)與各種核心延伸模組(Kext)組合。

我的電腦支援從 USB 手指開機,因此想把 OS X 整合版映像檔寫入到 USB 手指上。

請問具體該如何操作才能達成呢?

社群實測與技術補充筆記

自 37 則原始討論回帖中萃取 32 則高價值技術回應

技術筆記 #1 @nfoav8or 2008-10-19

你只需要確保在 USB 手指的分割區上啟用並安裝好開機引導程式(例如 Chameleon 或 EFI)就可以了。

作者修訂 #1 @nexusmac 2008-10-19 ↳ Re: @nfoav8or

nfoav8or,感謝你的回覆。

請問我該如何確保或透過開機引導程式(Bootloader)在 USB 手指上建立可開機分割區?

我的意思不是要在 USB 手指上直接運行已經安裝好的 OS X 系統。

我的意思是想把像 Kalyway 這類安裝 DVD 放進 USB 手指裏面運行。
也就是用插入 USB 手指來取代放入 DVD 光碟,直接從 USB 手指啟動安裝程序。

請問你能詳細說明具體需要哪些操作步驟嗎?

技術筆記 #2 @nfoav8or 2008-10-19

先正常開機進入 OS X 系統,然後開啟「磁碟工具程式」(Disk Utility)。放入安裝 DVD 光碟,或者找到你原本用來燒錄 DVD 的 .iso 映像檔(直接用 .iso 速度會快得多),接著在左側清單選取你的 USB 手指。然後點擊頂部的「回復」(Restore)分頁,將來源與目標項目分別拖放到「來源」(Source)與「目標」(Destination)欄位中。這個過程需要花上一段時間,你可以泡杯茶看本書或上網等它跑完。完成後,關閉磁碟工具程式並開啟 Chameleon 安裝程式……將安裝目標選為你的 USB 手指,這樣應該就能正常開機了。

技術筆記 #3 @dvkch 2008-10-21

我對這個方案非常感興趣!如果你有任何測試結果,請務必貼上來分享。

技術筆記 #4 @nfoav8or 2008-10-22

透過磁碟工具程式將存放在電腦裏的安裝 DVD 映像檔直接「回復」到 USB 手指後,我還能在同一隻 USB 手指上一併放入許多專屬的修復補丁與常用應用程式(有一隻 8GB 的 USB 手指確實幫了大忙)。

作者修訂 #2 @nexusmac 2008-10-22 ↳ Re: @nfoav8or

我用磁碟工具程式(Disk Utility)建立了一個空白映像檔(DMG),因為磁碟工具程式直接讀取 ISO 時會提示找不到索引之類的錯誤。先建立 DMG 並從 ISO 回復到該 DMG 後,再從 DMG 回復到 USB 手指所需的時間就縮短了許多。

我暫時還沒時間實際測試開機,稍後測試完會再上來回報結果。

不過我心裏有個疑問:我準備在 SB700 晶片組的底板上嘗試這個方法,但有時某些整合版(Distro)在等待識別 USB 裝置時會出問題,甚至直接無法識別而卡死停住。

我測試完整合版的 USB 開機引導後,會再向大家回報情況。

多謝 nfoav8or!

作者修訂 #3 @nexusmac 2008-10-22

好消息,它確實成功開機引導了!但它看不到我的 IDE 硬碟,只把 USB 手指自己當成了硬碟。

請問這該怎麼解決呢?我甚至還沒在 USB 手指上安裝 Chameleon,它自己就成功開機了 ;)

作者修訂 #4 @nexusmac 2008-10-22

天啊,我剛才正在打字回帖,轉頭看了一眼電腦,居然發現 Mac OS X 已經直接啟動進入系統了 :)

沒錯,它真的直接在 USB 手指上運行起來了,我什麼額外設定都沒做。

就只是插著 USB 手指而已 :) 我簡直驚呆了 ;)

我現在正在檢查有哪些硬件驅動被系統成功識別。

作者修訂 #5 @nexusmac 2008-10-22

它運作得非常完美,速度甚至比我的 SATA 硬碟還要快 :)

真的難以置信!誰能告訴我這到底是怎麼回事!
這只是一隻普通的 Kingston 4GB USB 手指,從 DMG 回復花了足足 2 個小時,但啟動運行 OS X 卻只需要幾秒鐘!

技術筆記 #5 @nfoav8or 2008-10-22

發生什麼烏龍了?

順帶一提,4GB 的 USB 手指要裝下像 OS X 這樣龐大的作業系統,空間其實非常吃緊。

我自己都是用 8GB 的 USB 手指來存放安裝 DVD 映像檔,這樣我就有充裕的空間隨意修改裏面的檔案,確保它能為我的硬件安裝好所有正確的驅動與組件。

技術筆記 #6 @dvkch 2008-10-23

我最後也試著拿我的 Zen Vision M 播放器上的 UMS 分割區(設定為 8GB)來照著做。它可以成功透過 Chameleon 開機引導,但隨後不是卡在「still waiting for root device」,就是整個系統直接死機凍結(同時我的 Zen 螢幕上會顯示已斷開連線)。請問這是怎麼回事?

附註:為了讓 USB 在 OS X 下正常運作,我之前在 BIOS 中關閉了 Legacy USB;但為了能從 USB 磁碟開機,我剛才又把它重新啟用了。

技術筆記 #7 @milanca 2008-10-23

你在 USB 手指上放的是哪一個整合版(Distro)?
如果 USB 安裝碟裏沒有對應你底板晶片組的核心延伸模組(Kext),你就必須先將它們注入進去,安裝程式才能識別到你機內的 SATA / IDE 硬碟。

技術筆記 #8 @naquaada 2008-10-24

我把 Leo4All 放進了 USB 手指,在修改 Extensions 資料夾之前它都能正常運作。請問修改後我該如何重新建立 Extensions.mkext 檔案?即使我以單一使用者模式(Single User Mode)開機並將 USB 手指掛載為讀寫模式,執行 kextcache -k /System/Library/Extensions 依然無效。請問在正常開機引導過程中,要如何取得完整的讀寫權限?有沒有類似 startup-sequence 或 autoexec.bat 的啟動腳本機制?

技術筆記 #9 @nfoav8or 2008-10-25

當你使用「-s」參數開機進入單一使用者模式時,需要先執行以下指令來掛載磁碟:

/sbin/mount -uw /

請問你有執行這一步嗎?

補充編輯:如果你是從 USB 手指開機,為什麼還要特地重建 .mkext 呢?直接用 rm 把它刪掉,然後重新開機,系統就會自動載入所有 Kext 並重新建立快取了。

技術筆記 #10 @naquaada 2008-10-25

如果我只用 -uw 參數,磁碟依然無法寫入。我也試過 -rw 和 -ruw,請問這幾個參數有什麼分別?

技術筆記 #11 @naquaada 2008-10-27

我專門為 USB 手指製作了一個整理得非常乾淨的 Leo4All v3 映像檔。雖然這個安裝映像檔版本較舊,但在我看來,Leo4All v3 是我自 Tiger 時代以來用過超過 25 個版本當中最優秀的一個。如果有人感興趣,我已經將它上傳到 RapidShare,不過拿掉了主安裝套件 Leopard-10.5.2.pkg(這個檔案必須從原版 DVD 複製過來)。因此下載大小「只有」約 980 MB,下載起來會快得多。

實測數據:開機時間(從 Darwin 倒數計時結束到出現語言選擇畫面)僅需 41 秒;安裝時間(選完驅動程式後)只需 8 分 30 秒。這是在 Athlon 64 4000+ 上的測試成績,如果是更快的電腦,解壓縮檔案的速度會更快,整體耗時還會進一步縮短。

我使用了一隻 8 GB 的 USB 手指,並分割出一個 4.25 GB 的分割區,實際產生的分割區大小為 4.38 GB(4,697,620,480 bytes),剛好也能塞進一張單層 DVD(4,698,669,056 bytes)。另一個分割區則用來存放系統更新檔與安裝所需的各類軟件。我對這個映像檔做了一些最佳化,讓你可以直接存取常用的資料夾(System、Library、Applications、Installation 等)而無需任何特殊技巧,同時主視窗依然保持整潔,只會顯示兩個圖示。最重要的一點是,這個映像檔已經過重組最佳化:原本主安裝套件的檔案碎片散落在磁碟各處,我先將它刪除並用 iDefrag 徹底整理了磁碟,現在最核心的檔案(特別是 Kernel 與 Extensions)都直接排列在磁碟最前端,最後再用 Chameleon 將它製作成可開機磁碟。

若要用它來製作可開機 USB 手指,請準備一隻 8GB 或更大容量的 USB 手指並建立兩個分割區,第一個分割區必須設為 4.25 GB,並確認開機磁區類型設為 MBR 模式。接著將映像檔回復到第一個分割區(該映像檔已預先執行過回復掃描驗證),整個回復過程大約需要 1.5 小時。完成後,放入 Leo4All 安裝 DVD,開啟光碟並按下 Windows 鍵盤上的 Alt+Shift+G(或 Mac 鍵盤上的 Command+Shift+G),輸入路徑:System/Installation/Packages 並按 Return。找到 Leopard-10.5.2.pkg 套件後,建議先將它從 DVD 複製到電腦硬碟,再從硬碟複製到 USB 手指中。在 USB 手指上你不需要再次輸入隱藏路徑,可以直接透過映像檔內的「Leo4All」資料夾存取該目錄。完成後再用 Chameleon 讓 USB 手指具備開機引導能力即可。注意:如果你只有 4GB 的 USB 手指,空間可能會不夠用,這時你需要先刪除一些你用不到的多國語言包來騰出空間。

即使你不打算使用 Leo4All 映像檔,也可以參考這份指南,用你自己偏好的 OSx86 版本製作可開機安裝手指。把安裝映像檔放在 USB 手指上真的非常方便,不僅省去了漫長的等待時間,應用程式的啟動速度也快得多,而且還能直接用在現在那些沒有內置 DVD 光碟機的新款 Netbook 上。

技術筆記 #12 @naquaada 2008-10-28

是啊,我原本也不確定該不該直接貼出下載連結……起初我不太想貼,但考慮到有些人不喜歡每次都要發私訊(PM)索取,直接貼出來對大家還是方便得多。

作者修訂 #6 @nexusmac 2008-11-03 ↳ Re: @naquaada

nfoav8or,你可以幫幫我嗎?

我的 USB 手指在重新開機後,依然只把本身識別為硬碟。

在開機引導選單中,我也只能看到這隻 USB 手指的名稱被列為硬碟。

我完全看不到機內的硬碟,開機引導期間也偵測不到它。

另外我要更正一下前面幾篇回覆裏擺的烏龍 :)

我完全忘了機內原本就有一顆已經安裝好 OS X 的硬碟,結果誤以為系統是真的在 USB 手指上運行,實在太搞笑了!我自己都笑了好久!

唉,真是太丟臉了 :)

所以問題依然存在:從 USB 手指開機時,我該如何讓它識別到機內的硬碟呢?

技術筆記 #13 @nfoav8or 2008-11-03 ↳ Re: @nexusmac
@nexusmac我的 USB 手指在重新開機後,依然只把本身識別為硬碟。在開機引導選單中,我也只能看到這隻 USB 手指的名稱被列為硬碟。我完全看不到機內的硬碟,開機引導期間也偵測不到它。所以問題依然存在:從 USB 手指開機時,我該如何讓它識別到機內的硬碟呢?

當你說 flash memory 時,你指的是能夠保存寫入資料的 USB 手指/快閃儲存媒體,對吧……?

只要你放入了對應你硬件的正確核心延伸模組(Kernel Extensions),照著我們前面討論過的方法操作,系統就應該能順利看到機內硬碟。

請務必先進入硬碟上已經安裝好的 OS X 系統,在系統內對 USB 手指上的這些 Kext 進行編輯與修改……千萬不要在從 USB 手指開機運行的狀態下嘗試把檔案複製回該 USB 手指上。

我有點跟不上你前面幾篇回帖的思緒,你能再說清楚一點嗎?

作者修訂 #7 @nexusmac 2008-11-04 ↳ Re: @nfoav8or

我打算重新開始整個安裝流程,先把所有東西重新整理好。
之後我再來釐清其他細節。

順帶一問,你有看到我發的另一篇帖子嗎?就是關於載入多個 mkext 檔案選項的那篇?

技術筆記 #14 @rocafellabryan 2008-11-18

好吧,我一直很努力在跟進這篇討論,而且在自己的機器上也觀察到了類似的現象。我第一次嘗試安裝時,誤把 OS X 直接安裝到了我的 8GB USB 手指上。結果直到那次安裝完成之後,Mac OS 安裝程式才突然能夠識別到我機內的硬碟。現在只要開機時插著這隻 USB 手指,Darwin 提示畫面過後就會像正常 Mac 一樣顯示灰色 Apple 載入畫面;但如果拔掉 USB 手指開機,它就會退回典型的黑底白字畫面,瘋狂滾動大量文字(就像開啟了 -v 詳細模式一樣)。

我的問題是:這隻 USB 手指是不是在協助電腦完成開機引導?有沒有辦法把這個「開機引導磁碟」做成電腦機內硬碟上的一個分割區,讓我以後不再需要插著 USB 手指才能開機?雖然聽起來有點蠢,但我在 YouTube 影片上看過別人只要按下電源鍵,「啪」一聲電腦就像真正的 Apple 電腦一樣直接開機進系統了 lol。我現在就只希望能把自己的電腦調校到那種狀態!

技術筆記 #15 @nfoav8or 2008-11-19 ↳ Re: @rocafellabryan
@rocafellabryan好吧,我一直很努力在跟進這篇討論,而且在自己的機器上也觀察到了類似的現象。我第一次嘗試安裝時,誤把 OS X 直接安裝到了我的 8GB USB 手指上。結果直到那次安裝完成之後,Mac OS 安裝程式才突然能夠識別到我機內的硬碟。現在只要開機時插著這隻 USB 手指,Darwin…

我想先問第一個問題:你是照著這篇討論串的方法製作了「MAC OS X 安裝專用 USB 手指」,還是你真的拿安裝 DVD 把完整的 Mac OS X 系統安裝到那隻 USB 手指裏面去了?

我在這篇討論串分享的做法,目的是讓大家能更快速地開機進入可運作的「MAC OS X 安裝專用 USB 手指」,方便直接修改安裝碟內容,測試市面上各種不同整合版(Distro)對自己硬件的支援度。

請問你有沒有在機內硬碟(而不是 USB 手指)上安裝過 Chameleon 開機引導程式?

請告訴我你的具體情況,我再看看怎樣幫你解決。

技術筆記 #16 @zuz242 2008-12-28

Wiki 已更新

我已經在 Wiki 的 Howto 區段中加入了一些關於從 USB 手指安裝系統的說明資訊。

技術筆記 #17 @natewill18 2009-01-04 ↳ Re: @nfoav8or
@nfoav8or先正常開機進入 OS X 系統,然後開啟「磁碟工具程式」(Disk Utility)。放入安裝 DVD 光碟,或者找到你原本用來燒錄 DVD 的 .iso 映像檔(直接用 .iso 速度會快得多),接著在左側清單選取你的 USB 手指。然後點擊頂部的「回復」(Restore)分頁,將來源與目標項目分別拖放到「來源」(Source)與「目標」(Destination)欄位中。這個過程需要花上一段時間,你可以泡杯茶看本書…

請問我可以把同樣的方法套用到外置硬碟(External HDD)上嗎?

- 把我想用的映像檔傳送到 Mac 硬碟上
- 插上我的外置硬碟(已格式化為 HFS+)
- 選擇「回復」,將 .iso 設為來源,並將外置硬碟設為目標
- 開啟 Chameleon 安裝程式(請問這一步具體要在哪裏、怎麼操作?因為我是 Mac 新手),並選擇外置 USB 硬碟作為安裝目標(請問這一步是把實際運行的 OS X 系統安裝到外置硬碟上嗎?因為我並不想那樣做,如果可以的話希望能跳過這一步)

技術筆記 #18 @nfoav8or 2009-01-05 ↳ Re: @natewill18
@natewill18請問我可以把同樣的方法套用到外置硬碟(External HDD)上嗎? - 把我想用的映像檔傳送到 Mac 硬碟上 - 插上我的外置硬碟(已格式化為 HFS+) - 選擇「回復」,將 .iso 設為來源,並將外置硬碟設為目標 - 開啟 Chameleon 安裝程式(請問這一步具體要在哪裏、怎麼操作?因為我是 Mac 新手),並選擇外置 USB…

可以的。你可以透過磁碟工具程式將安裝 DVD 回復到外置硬碟上。當你安裝 Chameleon 時,你只是在安裝「開機引導程式」(Bootloader),而不是安裝作業系統,這樣你的 PC 主機板才會知道可以從這顆磁碟開機引導。若要安裝 Chameleon,請先在已安裝好的 OS X 系統下運行,並從 Chameleon 官方網站(chameleon.osx 86.hu/)下載安裝套件。執行安裝程式後,請務必確認選取了正確的目標磁碟(在你完成映像檔回復之後再執行此步驟)。

這樣一來,你以後安裝系統的速度就會快得多了。祝你玩得開心!

技術筆記 #19 @Pyrokenesis_17 2009-01-19

未能成功

很高興看到你們不少人已經成功走到這一步!但我自己卻無法從 USB 手指開機,畫面一直跳出「EBIOS read error」,就像在讀取一張損壞的磁碟一樣。我已經從 ISO 執行了回復,也在上面安裝了 Chameleon,但全都徒勞無功!請問有人知道是什麼原因嗎?我使用的是 SanDisk Cruzer 4GB USB 手指,配搭 ASUS Striker II Extreme 底板。

技術筆記 #20 @zuz242 2009-02-24 ↳ Re: @Pyrokenesis_17
@Pyrokenesis_17很高興看到你們不少人已經成功走到這一步!但我自己卻無法從 USB 手指開機,畫面一直跳出「EBIOS read error」,就像在讀取一張損壞的磁碟一樣。我已經從 ISO 執行了回復,也在上面安裝了 Chameleon,但全都徒勞無功!請問有人知道是什麼原因嗎?我使用的是 SanDisk Cruzer 4GB USB 手指,配搭 ASUS Striker II Extreme 底板。

我不太清楚這個 EBIOS 錯誤的具體成因,但我建議你先用 diskutil 將 .iso 檔案轉換為 .dmg 格式,接著再用 diskutil 對這個新產生的 .dmg 執行映像檔掃描驗證,最後才將它回復到 USB 手指上。完成後再安裝 Chameleon,應該就能正常運作了。

技術筆記 #21 @ArKayDe 2009-03-22

請問將 ISO 轉換為 DMG 時,應該選擇哪種映像檔格式(壓縮、稀疏映像檔……)?

我之前嘗試直接使用 iPC 的 ISO 檔,結果從來沒能成功做出可開機的 USB 手指;電腦雖然會嘗試從 USB 手指開機,但畫面上就只有一個不斷閃爍的游標。

我之前的嘗試步驟如下:

- 在我的 8GB USB 手指上採用 MBR 分割表建立了一個 Mac OS 擴充格式(日誌式)分割區
- 直接從 ISO 進行回復,並取消勾選「清除目標」(Erase Destination)——因為如果勾選的話,程式會報錯抱怨映像檔未經掃描(source needs to be imagescanned/scanned)
- 使用 OSX86Tools 安裝了 EFI 開機引導程式

技術筆記 #22 @Taisto 2009-03-22

如果你打算從 CD/DVD 光碟開機,應該使用「未壓縮」(non-compressed)的映像檔格式。如果你把 ISO 映像檔燒錄到 DVD 後依然無法開機,我建議你調低燒錄倍速再重新燒錄一次。正常情況下它應該都能開機,所以很可能是你的 ISO 檔案本身已損毀,或者是 DVD 燒錄過程出了問題?

技術筆記 #23 @ArKayDe 2009-03-22

這個 ISO 燒成光碟是完全可以正常開機的,但我還是希望能改用 USB 手指來加快安裝速度。問題在於如果直接從 iPC 的 ISO 檔回復到 USB 手指上,開機時就會直接卡死。我是參考這篇指南操作的:

i hackintosh.com/2009/02/make-bootable-mac-osx86-usb-stick-installer-yourself/

該作者是使用 osx86tools 安裝 PC_EFI v8 引導程式。有可能是這個引導程式在我的機器上不起作用,也有可能是不能直接拿 ISO 檔來回復。因此我想先試著將它轉換成 DMG 格式,看看能不能解決問題——雖然我心裏對此還是有點懷疑。

技術筆記 #24 @00010 2010-02-07

我專門為 Toshiba L305 手提電腦修補了一份 Leopard DMG 映像檔,而且做成 LIVE 版本,開機後就能直接進入完整的桌面環境使用所有功能;接著你還可以直接使用 Carbon Copy Cloner 應用程式,將這隻 USB LIVE Leopard 磁碟完整複製(Clone)到機內硬碟上完成安裝。效果非常完美,甚至連我的 CPU 與記憶體(RAM)資訊都能正確顯示。

00010

技術筆記 #25 @fairlyodd 2010-05-09

好,我現在已經能透過 Chameleon 從 USB 手指成功開機引導了,但載入進入安裝程式後,卻完全看不到我的機內硬碟?請問有人知道為什麼會這樣嗎?

參與實測與協作驗證成員: @Dies @nfoav8or
文獻來源與貢獻者溯源名錄(共 14 位具名成員 · 原始討論串 #1448)
成員用戶名本卷貢獻角色發帖數活躍時間窗
@nexusmac主筆作者102008-10-18 → 2008-11-04
@nfoav8or核心貢獻者92008-10-19 → 2009-01-05
@naquaada核心貢獻者42008-10-24 → 2008-10-28
@dvkch協作成員22008-10-21 → 2008-10-23
@zuz242協作成員22008-12-28 → 2009-02-24
@ArKayDe協作成員22009-03-22
@Dies協作成員12008-10-19
@milanca協作成員12008-10-23
@rocafellabryan協作成員12008-11-18
@natewill18協作成員12009-01-04
@Pyrokenesis_17協作成員12009-01-19
@Taisto協作成員12009-03-22
@00010協作成員12010-02-07
@fairlyodd協作成員12010-05-09

選擇語言 · Choose your language