无论您是想偶尔在Safari中测试网站还是在Mac环境中试用一些软件,访问虚拟机中最新版本的macOS都是很有用的。不幸的是,您实际上不应该执行此操作,因此,至少可以说,在VirtualBox中运行macOS很难。
第一步:创建macOS High Sierra ISO文件
首先,我们需要创建macOS High Sierra安装程序的ISO文件,以便将其加载到Windows机器上的VirtualBox中。拿起借来的Mac,前往Mac App Store,搜索Sierra,然后单击“下载”。
完成该过程后,安装程序将启动-可以,只需使用Command + Q将其关闭。我们不想升级您朋友的Mac;我们只需要下载的文件。
要将这些文件转换为ISO,我们需要使用终端,您可以在“应用程序”>“实用程序”中找到该终端。
首先,运行以下命令以创建空白磁盘映像:
<pre style="box-sizing: border-box; outline: none; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 18px; line-height: inherit; font-family: couriernew, courier, monospace; vertical-align: baseline; color: rgb(93, 93, 93); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
hdiutil create -o /tmp/HighSierra.cdr -size 7316m -layout SPUD -fs HFS+J
</pre>
接下来,挂载空白镜像:
<pre style="box-sizing: border-box; outline: none; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 18px; line-height: inherit; font-family: couriernew, courier, monospace; vertical-align: baseline; color: rgb(93, 93, 93); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
hdiutil attach /tmp/HighSierra.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/install_build
</pre>
现在,您将从安装程序中还原BaseSystem.dmg到新安装的映像:
<pre style="box-sizing: border-box; outline: none; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 18px; line-height: inherit; font-family: couriernew, courier, monospace; vertical-align: baseline; color: rgb(93, 93, 93); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
asr restore -source /Applications/Install/macOS/High/Sierra.app/Contents/SharedSupport/BaseSystem.dmg -target /Volumes/Install_build -noprompt -noverify -erase
</pre>
请注意,执行完此操作后,目标挂载点的名称已更改为“ OS X Base System / System”。你几乎已经完成!卸载图像:
<pre style="box-sizing: border-box; outline: none; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 18px; line-height: inherit; font-family: couriernew, courier, monospace; vertical-align: baseline; color: rgb(93, 93, 93); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
hdiutil detach /Volumes/OS/X/Base/System
</pre>
最后,将您创建的映像转换为ISO文件:
<pre style="box-sizing: border-box; outline: none; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 18px; line-height: inherit; font-family: couriernew, courier, monospace; vertical-align: baseline; color: rgb(93, 93, 93); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
hdiutil convert /tmp/HighSierra.cdr.dmg -format UDTO -o /tmp/HighSierra.iso
</pre>
将ISO移至桌面:
<pre style="box-sizing: border-box; outline: none; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 18px; line-height: inherit; font-family: couriernew, courier, monospace; vertical-align: baseline; color: rgb(93, 93, 93); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
mv /tmp/HighSierra.iso.cdr ~/Desktop/HighSierra.iso
</pre>
您已经拥有可引导的High Sierra ISO文件!
使用移动硬盘,U盘或通过本地网络将其复制到Windows计算机。
第二步:在VirtualBox中创建虚拟机
接下来,转到Windows计算机,如果尚未安装VirtualBox,请确保已安装最新版本。
打开它,然后单击“新建”按钮。将虚拟机命名为“ High Sierra”,然后为操作系统选择“ Mac OS X”,为版本选择“ Mac OS X(64位)”
继续进行此过程。对于内存,我们建议您至少使用4096MB,但如果Windows计算机上有足够的RAM可用,则可以选择更大的内存。
接下来,将询问您有关硬盘的信息。选择“立即创建虚拟硬盘”,然后单击“创建”。
选择VDI作为硬盘类型,然后单击“下一步”。系统将询问您是否需要动态调整大小的驱动器或固定驱动器。我们建议使用“固定大小”,因为它虽然速度更快,但是会占用Windows计算机更多的硬盘空间。
点击下一步。系统将询问您想要多大的驱动器;我们建议至少有25GB,对于操作系统和一些应用程序来说足够大了。根据您的存储状况,您可以提供更多,但我们认为您的使用量不能少于此。
单击提示,您已经为虚拟机创建了一个条目!现在是时候进行一些配置了。
第三步:在VirtualBox中配置虚拟机
您应该在VirtualBox的主窗口中看到您的虚拟机。
选择它,然后单击黄色的大“设置”按钮。首先,转到左侧边栏中的“系统”。在“主板”选项卡上,确保未选中“软盘”。
接下来转到“处理器”选项卡,并确保至少有两个CPU分配给虚拟机。
接下来,单击左侧栏中的“显示”,并确保“视频内存”设置为至少128MB。
接下来,单击左侧栏中的“存储”,然后单击“空” CD驱动器。单击右上角的CD图标,然后浏览到您之前创建的High Sierra ISO文件。
确保单击“确定”以完成您所做的所有更改,然后关闭VirtualBox。
第四步:从命令提示符配置虚拟机
我们做了一些调整,但是我们需要做更多调整,才能说服它在真实Mac上运行。可悲的是,VirtualBox的界面中没有用于此的选项,因此您需要打开命令提示符。
打开“开始”菜单,搜索“命令提示符”,然后右键单击它并选择“以管理员身份运行”。
您需要按顺序运行数字命令。粘贴以下命令,在每个命令之后按Enter并等待其完成:
<pre style="box-sizing: border-box; outline: none; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 18px; line-height: inherit; font-family: couriernew, courier, monospace; vertical-align: baseline; color: rgb(93, 93, 93); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
cd "C:\Program Files\OracleVirtualBox"
VBoxManage.exe Modifyvm "High Sierra" --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbff
VBoxManage setextradata "High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro11,3"
VBoxManage setextradata "High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "High Sierra" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-2BD1B31983FE1663"
VBoxManage setextradata "High Sierra" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "High Sierra" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
</pre>
如果一切正常,您应该看不到任何反馈。这些命令将简单地运行。如果该命令不起作用,请确保您的虚拟机准确命名为“ High Sierra”。如果不是,请编辑上面的命令,将机器名称加引号。继续并关闭命令提示符。我们现在回到VirtualBox。
第五步:引导并运行安装程序
重新打开VirtualBox,单击您的Sierra计算机,然后单击“开始”。您的计算机将开始启动。发生这种情况时,您会看到很多多余的信息-我的意思是很多 -但不要担心。这是正常现象,甚至某些看起来像错误的事情也是如此。
仅当特定错误挂起五分钟或更长时间时,您才应该担心。只是走开,让它运行一点。如果一切正确,它将启动。
最终,您将看到安装程序要求您选择一种语言:
选择“英语”或您喜欢的任何一种语言,然后单击“下一步”。但是,在执行其他任何操作之前,请单击“磁盘工具”,然后单击“继续”。
您不会看到驱动器:不要惊慌,High Sierra默认情况下会隐藏空白驱动器。在菜单栏中,单击“查看”,然后单击“显示所有设备”。
现在,您应该在侧栏中看到空的虚拟驱动器。单击它,然后单击“擦除”选项。
将驱动器命名为“ Macintosh HD”,而其他两个设置保持不变:“ Mac OS Extended Journaled”和“ GUID Partition Map”。不要创建AFS分区,因为它将无法正常工作,并且您必须重新开始使用新的虚拟硬盘驱动器。单击“擦除”,然后在该过程完成后关闭“磁盘工具”。您将被带回到主窗口。
选择“重新安装macOS”,然后单击“继续”。系统会要求您同意这些条款。
同意,最终您将被要求选择一个硬盘。选择刚创建的分区。
安装将开始!这可能需要一段时间,请耐心等待。最终,您的虚拟机将重新启动,并带您回到安装程序。不要惊慌:这是意料之中的。
第六步:从虚拟硬盘启动引导安装程序第二阶段
此时,安装程序已将文件复制到虚拟硬盘驱动器,并希望从那里启动。无论出于何种原因,这在虚拟机上均不起作用,这就是为什么您再次看到安装程序的原因。
关闭您的虚拟机并打开其设置。转到存储,在“存储树”面板中单击“ HighSierra.iso”,然后单击右上角的CD图标,然后单击“从虚拟驱动器中删除磁盘”。这将完全断开安装ISO的连接。
现在启动虚拟机,您将看到这个漂亮的屏幕。
这是EFI内部外壳,只要您看到以黄色列出的“ FS1”,就可以使用它启动其余的安装程序。单击虚拟机,并使其捕获鼠标和键盘,然后键入fs1: 并按Enter。这会将目录切换到安装程序其余部分所在的FS1。
接下来,我们将运行一些命令以切换到所需的目录:
<pre style="box-sizing: border-box; outline: none; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 18px; line-height: inherit; font-family: couriernew, courier, monospace; vertical-align: baseline; color: rgb(93, 93, 93); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
cd "macOS Install Data"
cd "Locked Files"
cd "Boot Files"
</pre>
现在,我们可以使用以下命令运行安装程序本身:
<pre style="box-sizing: border-box; outline: none; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 18px; line-height: inherit; font-family: couriernew, courier, monospace; vertical-align: baseline; color: rgb(93, 93, 93); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
boot.efi
</pre>
安装程序将从停止的地方继续安装。首先,您将看到一系列文本,就像以前一样,但是最终您将看到GUI安装程序回来。(不用担心,您只需执行一次此过程。)
我们到了那里,只需要多一点耐心。
第八步:登录到macOS High Sierra
最终,虚拟机将再次重新引导,这次进入macOS High Sierra。如果没有发生,请尝试从虚拟机弹出ISO。当High Sierra启动时,您将需要选择您的国家/地区,设置用户以及其余的初始设置过程。
最终,您将其安装到Mac桌面上。好极了!
现在,您可以试用任何Mac软件,尽管某些功能(例如FaceTime和Messages)将无法使用,因为Apple无法将您的计算机识别为真正的Mac。但是很多基本的东西都应该起作用。玩得开心!
步骤八(可选):更改分辨率
默认情况下,您的虚拟机将具有1024×768的分辨率,没有太多的工作空间。但是,如果尝试在macOS内更改分辨率,则将看不到任何选择。相反,您需要输入一些命令。
通过关闭macOS关闭虚拟机:单击菜单栏中的Apple,然后单击“关闭”。接下来,完全关闭VirtualBox(严重的是,如果VirtualBox仍处于打开状态,则此步骤将不起作用!),然后以管理员身份返回Windows的命令提示符。您需要运行以下两个命令:
<pre style="box-sizing: border-box; outline: none; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 18px; line-height: inherit; font-family: couriernew, courier, monospace; vertical-align: baseline; color: rgb(93, 93, 93); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">
cd "C:\Program Files\OracleVirtualBox"
VBoxManage setextradata "High Sierra" "VBoxInternal2/EfiGopMode" N
</pre>
在第二个命令中,您需要N根据需要的分辨率用一个从1到5的数字替换:
- 1为您提供800×600的分辨率
- 2为您提供1024×768的分辨率
- 3为您提供1280×1024的分辨率
- 4为您提供1440×900的分辨率
- 5为您提供1920×1200的分辨率
启动VirtualBox,加载您的虚拟机,它将启动至您的首选分辨率!
总结
虽然有些功能,比如声音等还无法使用,但我们已经能使用虚拟机进行一些程序的开发了。当然,如果您有足够的金钱的话,买一个mac mini主机还是很香的。