前言
無論是因為喜歡、還是工作需求將macOS作為主力系統(tǒng),windows總不能完全脫離,但不可能每次通過重啟主機來切換使用,所以使用虛擬機來運行多系統(tǒng)是慣用做法,雖然Parallels Desktop虛擬機表現(xiàn)不錯,可以明確的弊端是,Parallels Desktop僅支持已安裝Windows的物理盤掛入虛擬機使用,原生不支持加入第二塊甚至多塊物理硬盤,如果你的物理Windows系統(tǒng)使用多塊硬盤,那么就無法愉快的通過虛擬機玩耍了!
筆者手頭SSD較多,為了macOS免驅(qū)兼容Nvme驅(qū)動入手intel 760P 500G,Windows系統(tǒng)盤前段時間改用英睿達(dá)P1 500G,用于存放系統(tǒng)分區(qū)、游戲等不重要數(shù)據(jù),重要數(shù)據(jù)則存放于另一塊WD 藍(lán)盤 256G,將macOS、Windows、Windows數(shù)據(jù)盤完全分離對于搞機型玩家來說是常規(guī)操作,避免手抖手殘將系統(tǒng)搞殘之后,影響其它數(shù)據(jù)或主機的運行。
最早可以找到關(guān)于PD掛入第二塊物理盤需求的帖子,是在遠(yuǎn)景發(fā)布的求助帖,帖子發(fā)布時間近2年了吧?至今沒有大神給出有效方案,找遍國內(nèi)主流黑蘋果論壇均無方案,那只能自己動手豐衣足食了!~
折騰的意義
方便macOS作為主系統(tǒng)運行的同時兼顧Windows在物理盤同時運行,且在需要切換到Windows通過硬件物理運行時,能繼續(xù)無縫使用macOS虛擬機運行時的系統(tǒng)和軟件數(shù)據(jù)。
某些應(yīng)用在win下的版本比較好用,或者僅有Windows版本,比如IDM下載神器,偶爾看到值得收藏的Little movie通過IDM搭配瀏覽器插件,可以直接獲取到視頻的真實地址而下載,但在macOS下找不到同類軟件;比如Windows下的聊天軟件,千牛對于玩淘寶的商家來說不可或缺,但是macOS系統(tǒng)下的千牛版本很殘且官方停更,導(dǎo)致各類插件均不兼容且及其難用;再比如Windows版QQ等聊天軟件的聊天記錄,無法導(dǎo)入到macOS下繼續(xù)使用,都不得不選擇沿用Windows版本,再比如……此處省略一萬字……
常規(guī)方式使用PD虛擬機建立虛擬磁盤會占用macOS磁盤容量,且數(shù)據(jù)在虛擬磁盤文件里,不方便調(diào)用,但是通過虛擬機運行物理盤的Windows則不會有這個問題;或者macOS系統(tǒng)下通過PD虛擬方式啟動物理盤Windows運行輕量應(yīng)用,需要玩游戲時,又可以無縫切到物理主機運行Windows發(fā)揮硬件最大性能,這樣Windows軟件數(shù)據(jù)、聊天記錄等都可以在物理和虛擬系統(tǒng)之間進(jìn)行無縫切換使用,從而發(fā)揮硬件最大價值!
需求不同,對每個人的意義則不同,本文僅提供折騰方式,個中意義請自行對號入座!~
環(huán)境準(zhǔn)備
1. 在運行的macOS系統(tǒng)(本文使用版本Mojave 10.14.6,沒有黑蘋果系統(tǒng)的機友,可以點“那是云Mojelly”頭像看之前分享的三篇黑蘋果裝機分享文章。)
2. 已安裝Parallels Desktop虛擬機軟件(本文使用版本14.1.3-45485)
3. 已安裝好Windows的硬盤(本文使用Windows 10當(dāng)前最新版本)
4. 待添加到Parallels Desktop的第“二”塊物理盤(已分區(qū))
實現(xiàn)步驟
通過PD添加物理盤Windows系統(tǒng)到虛擬機
▲如果首次安裝Parallels Desktop,且檢測到帶有Windows系統(tǒng)的磁盤,會提示使用Boot Camp,按提示配置即可。
需要提醒的是!虛擬機運行方式因硬件環(huán)境改變,使得物理盤上的Windows在虛擬運行時提示系統(tǒng)激活,如果使用數(shù)字賬戶激活權(quán)利,會在切回物理主機運行時會自動激活。也有網(wǎng)友提議,可以花點小錢,給虛擬機再用另一個激活碼激活一次,這樣虛擬、物理環(huán)境都是激活狀態(tài)。因為本人不介意虛擬運行時的未激活提示,所以暫未做實測,有興趣的機友可以自測。
獲取備用信息
獲取需要添加到PD的第二塊物理盤的磁盤信息和分區(qū)信息。
▲打開macOS的磁盤工具,確定需要掛入PD虛擬機硬盤在macOS系統(tǒng)下的位置,disk4s2,disk4表示系統(tǒng)盤序,s2表示硬盤分區(qū)序號
▲打開macOS終端,輸入sudo -i 切到root用戶,輸入gpt -r show /dev/disk4,獲得硬盤信息,可以看到該盤已有2個分區(qū)?!緦⒋瞬襟E注釋為“硬盤信息”下文待用】
▲打開macOS終端,輸入diskutil info disk4s1和diskutil info disk4s2,獲取分區(qū)信息,若上一步“硬盤信息”獲取到更多分區(qū),則繼續(xù)diskutil info disk4s3、diskutil info disk4s4等等,以此類推?!緦⒋瞬襟E注釋為“分區(qū)信息”下文待用】
▲通過該網(wǎng)頁生成一個新的uuid,【將此步驟注釋為“UUID”下文待用】。
編譯虛擬磁盤配置文件
▲打開Paralls Desktop虛擬機,對生成的Windows虛擬機右鍵,在Finder中顯示。
▲對pvm格式文件,右鍵,顯示包內(nèi)容。
▲正常應(yīng)該可見通過Boot Camp自動導(dǎo)入生成與硬盤名同名****(disk1).hdd的虛擬磁盤文件,按住Option鍵,拖拽鼠標(biāo),生成一個副本文件并更名,比如我現(xiàn)在要添加的第三塊,為了遵循PD的規(guī)則,也按照磁盤名稱命名為“ZA480NM10001 Media (disk3).hdd”,當(dāng)然你也可以隨意命名。
▲對“ZA480NM10001 Media (disk3).hdd”右鍵,顯示包內(nèi)容,里面還可見一個****.hdd文件,按照虛擬磁盤文件名修改一致“ZA480NM10001 Media (disk3).hdd”
▲接下來編譯修改虛擬磁盤包內(nèi)容中的“DiskDescriptor.xml”文件,使用macOS自帶的文本編輯器或者其它代碼編輯工具都可以。找到<Disk_Parameters></Disk_Parameters>項,修改其中的<UID></UID>和<Name></Name>參數(shù)。UID參數(shù)使用前面提前準(zhǔn)備“待用信息”中的UUID,注意保留前后的中括號{ };Name則使用所需新增的虛擬磁盤完整文件名。
▲繼續(xù)修改“DiskDescriptor.xml”文件,找到<StorageData></StorageData>項,找到Type類型為Bootcamp_UID的<Storage></Storage>子項。
▲因為本次添加的硬盤僅分區(qū)2有實際用途,分區(qū)1實為GPT格式化時預(yù)留16M分區(qū)無實際用處,所以僅保留一個<Storage></Storage>子項,將【硬盤信息】中的分區(qū)2的start起始扇區(qū)32768作為<Storage></Storage>子項中的<Start>參數(shù),將下一分區(qū)start起始值937699328,填入<Storage></Storage>子項中的<End>參數(shù)中,如果你的硬盤有多個分區(qū),以此類推,按分區(qū)順序添加多個<Storage></Storage>子項。
▲將之前提前備用的【分區(qū)信息】disk4s2中的Disk / Partition UUID參數(shù)填入<Storage></Storage>子項中的<File>參數(shù)中,注意<File>值對應(yīng)上一步相應(yīng)分區(qū)的<Start>、<End>起止值,如果有多個分區(qū),以此類推。OK,至此“DiskDescriptor.xml”文件即修改完畢,保存即可。
重建磁盤信息轉(zhuǎn)儲文件
▲訪達(dá)底部路徑右鍵,復(fù)制虛擬磁盤文件包內(nèi)容所在路徑
▲打開終端,如果當(dāng)前非root,輸入sudo -i切到root用戶,再輸入cd+空格+粘貼上一步復(fù)制的虛擬磁盤文件路徑,如果如圖報錯-sh: syntax error near unexpected token `(',可以將路徑前后加上英文的單引號,或者如圖刪除路徑中磁盤名稱后部分內(nèi)容以星號*代替,回車看到root用戶前的路徑名稱為虛擬磁盤文件名即可。
▲編譯虛擬磁盤的最后一步,在上一步路徑下重建虛擬磁盤包內(nèi)容中的PhysicalMbr.hds、PhysicalGpt.hds、PhysicalGptCopy.hds三個磁盤信息轉(zhuǎn)儲文件,確保當(dāng)前終端為root用戶,逐個執(zhí)行以下三個命令行
dd if=/dev/disk4 bs=512 count=1 of=./PhysicalMbr.hds
dd if=/dev/disk4 bs=512 count=33 skip=1 of=./PhysicalGpt.hds
dd if=/dev/disk4 bs=512 count=33 skip=937703055 of=./PhysicalGptCopy.hds
▲上一步命令行中/dev/disk4,根據(jù)自己的實際硬盤所在位置變動,最后一個命令行中skip=937703055,根據(jù)自己【硬盤信息】中“Sec GPT table”值替換,本文測試硬盤值為937703055。
將新的虛擬磁盤添加至虛擬機
▲右鍵PD虛擬機,點擊配置
▲硬件選項中,右下角,+加號,添加硬盤,選擇現(xiàn)有的鏡像文件,選擇剛編譯好的虛擬磁盤文件,需要選擇虛擬磁盤包內(nèi)容中的.hdd文件,做完此步,PD已經(jīng)可以識別并啟動虛擬機使用了。
▲細(xì)心的用戶可能注意到,上一步添加硬盤時,在pvm虛擬機包內(nèi)容中會生成一個以絕對路徑為名稱的新磁盤文件,這個才是PD實際調(diào)用的文件。如果你跟我一樣有強迫癥,那就再改改……
1. Windows.pvm包內(nèi)容中復(fù)制剛手動編譯的ZA480NM10001 Media (disk3).hdd文件名稱,并刪除。
2. 重命名以絕對路徑為名稱的新磁盤文件名為ZA480NM10001 Media (disk3).hdd
3. 右鍵,顯示包內(nèi)容,進(jìn)入虛擬磁盤包內(nèi)容中的修改*****.hdd文件名為ZA480NM10001 Media (disk3).hdd
4. 修改“DiskDescriptor.xml”文件,找到<Disk_Parameters></Disk_Parameters>項中的<Name>參數(shù)為ZA480NM10001 Media (disk3).hdd
5. 配置虛擬機,選中剛添加的磁盤,再次選擇更名后的ZA480NM10001 Media (disk3).hdd文件。
▲如整個操作過程無問題,啟動Windows后,即在我的電腦里看到添加的物理硬盤分區(qū),我這里演示的是添加第三塊物理盤,分區(qū)盤符為E。
注意事項:雖然實測讀寫無任何問題,但不能在虛擬機內(nèi)對硬盤重做分區(qū)、壓縮卷等操作。也就是說,你要掛入物理盤,務(wù)必提前做好分區(qū)等磁盤設(shè)定,比較適用于已有物理Windows盤,掛入Boot Camp的Windows系統(tǒng)中使用。
問題排除
在最初嘗試添加第二塊盤后,啟動虛擬機有報一個磁盤相關(guān)的錯誤,但是這次添加第三塊物理用沒有提示,時間跨度有點長了,不清楚是PD版本關(guān)系還是其他原因,如果你也遇到,那么就嘗試給Windows10.pvm包內(nèi)容中的config.pvs虛擬機配置文件添加新硬盤的<Hdd></Hdd>參數(shù),如操作完前面步驟無報錯,那么下方內(nèi)容可以無需理會!
▲在config.pvs配置文件中找到已有<Hdd></Hdd>項,在其后再復(fù)制添加一份<Hdd></Hdd>項,圖示是第二塊物理盤和新添加的第三塊物理盤參數(shù),因為這次第三塊盤是自動添加的,所以截出來供參考對比參數(shù)變量位置:
1. 上半部分,三處箭頭標(biāo)記處,應(yīng)該是需要變量參數(shù),在新增<Hdd></Hdd>項中不能重復(fù)相同,可以以遞增方式變動,參考截圖上半部分和下半部分對比;
2. 新增部分,<SystemName>< /SystemName >參數(shù)根據(jù)實際新的虛擬磁盤文件名稱(注意帶hdd后綴),<UserFriendlyName></ UserFriendlyName >參數(shù)根據(jù)實際新的虛擬磁盤文件名稱(注意無需hdd后綴);
3. <Size></Size>參數(shù),這個是根據(jù)扇區(qū)總數(shù),比如此次文中添加的第三塊盤,根據(jù)終端獲取的【硬盤信息】扇區(qū)總數(shù)為937703088,扇區(qū)和容量的換算公式,總扇區(qū)數(shù)→除以2→除以1024,忽略小數(shù)點得到457728,config.pvs配置用的單位是MB。
扇區(qū)與容量為什么這么換算?
提供個小知識:扇區(qū)大小固定為512字節(jié),除以2得到KB單位,除以1024得到MB單位,再除以1024得到GB單位,因PD使用MB單位,所以只需要除以2→除以一次1024得到MB單位即可。如果你要偷懶的話,其實<Size>這個參數(shù)PD會自動修正,可以不做換算。
4. <Partition></ Partition >參數(shù),根據(jù)編譯的新虛擬磁盤文件分區(qū)數(shù)來定,如果有多個分區(qū),就按紅框部分,添加多個<Partition></ Partition >參數(shù)對應(yīng)實際macOS下的硬盤分區(qū)路徑,注意Partition id也是變量,具體可以對比上下兩部分。
最后
完全按照上述教程操作后,如無意外,就可以將Windows的多塊物理硬盤掛入macOS的PD虛擬機內(nèi)運行,需要物理運行Windows時,重啟主機選擇Windows啟動即可,這樣Windows可以在物理和虛擬之間無縫切換使用,發(fā)揮黑蘋果的最大價值!關(guān)于Ubuntu等linux系統(tǒng),實測無法通過此方式掛入啟動,但是可以通過虛擬磁盤安裝Linux系統(tǒng),再按照本文方法掛入物理盤當(dāng)做數(shù)據(jù)盤來使用。