如何在VirtualBox中运行macOS Catalina Beta版本

secist2019-08-03共2179人围观系统安全
https://www.freebuf.com/articles/system/208917.html

晚上尝试一下. 

本内容是关于如何在Linux上的VirtualBox中运行macOS Catalina Beta版的简短指南。

在开始之前你需要做以下准备:

Linux x86_64(我使用的是Mint 19.1)英特尔酷睿CPU,不少于8 GB的内存和一个不错的快速固态硬盘

VirtualBox(版本为6.0.8)

macOS Catalina install ISO(vanilla)

Clover.iso

额外的USB鼠标(用于VirtualBox中的USB pass-through)

我已经为1280×1024分辨率准备了Clover,包括SIP启用或SIP禁用版本,并且整个操作过程都是关于在1280×1024中运行Catalina的(如果你想更改它,请参阅此处有关自定义Clover的文章 – >https://astr0baby.wordpress.com/2019/01/19/customizing-the-clover-iso-mojave-loader/

SIP-Enabled 1280×1024 Clover.iso 可以在这里下载到 -> https://mega.nz/#!S4MAhQoZ!nrAKce_AFhxZLm21sIjwHFpeFw6dW7Salpvs50tywYg

SIP-Disabled 1280×1024 Clover.iso 可以在这里下载到 -> https://mega.nz/#!upc21CaT!wCUnzknVODKmbwrC6NCH4engMKU7YpMyn9ezguwwx4A

Catalina-Beta iso  可以在这里下载到 -> https://gofile.io/?c=MmX49O

下载完这些文件后,让我们准备VirtualBox Catalina环境。首先,我们需要创建一个设置如下的新VM;请确保使用的VDI磁盘足够大,最好不低于50GB并按照以下说明操作。

我为我的虚拟机和单独的VLAN使用静态IP,你也可以根据自己的喜好进行更改,下面包含的网络脚本需要在VM启动之前执行,并且仅在vboxnet0接口被加载时执行!(通常是在你启动VirtualBox之后)

这里我们使用一个小技巧来修复“cannot move windows in Catalina VM”这个问题,如果你只使用本地VirtualBox鼠标,那么我们将插入一个真正的辅助USB鼠标,并将其添加到USB设备筛选器,以便VM可以直接使用它。

创建Catalina VirtualBox环境后(请确保你已按照以上截图进行设置,否则它将无法工作)我们将以下的Shell脚本应用于VirtualBox Catalina Guest(将其另存为catalina.sh,chmod +x 并执行它)。

#!/bin/bash
readonly VM_RES="1280x1024"
readonly NAME="Catalina"

VBoxManage modifyvm "$NAME" --usbxhci on --firmware efi --chipset ich9 --mouse usbtablet --keyboard usb
VBoxManage setextradata "$NAME" "CustomVideoMode1" "${VM_RES}x32"
VBoxManage setextradata "$NAME" VBoxInternal2/EfiGraphicsResolution "$VM_RES"
VBoxManage modifyvm "$NAME" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
VBoxManage setextradata "$NAME" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "$NAME" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "$NAME" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "$NAME" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "$NAME" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

NETWORK:

这是我使用的网络脚本(你可以根据你的需要进行调整)你将需要uml-utilities和bridge-utils(在Debian/Ubuntu上运行 sudo apt-get install uml-utilities bridge-utils)

#Setup tap and bridge
tunctl -t tap0 -u user
ifconfig tap0 up
brctl addbr br0
brctl setfd br0 0
ifconfig enp0s25 10.0.2.1 up
ifconfig br0 10.0.2.2 netmask 255.255.255.0 broadcast 10.0.2.255 up
brctl addif br0 tap0 vboxnet0
ifconfig tap0 0.0.0.0
sysctl net.ipv4.ip_forward=1
iptables --table nat -A POSTROUTING --out-interface wlan0 -j MASQUERADE

接下来,我们将通过VirtualBox正常启动Catalina.iso,并进入第一阶段macO installer,擦除磁盘创建APFS分区并安装。这与之前的Mojave安装完全相同(你可以在此处查看详细信息)

这一阶段大约需要5-10分钟的时间才能完成,系统将自动重启,等待它完成循环,当它再次回到同一安装程序时,只需关闭VM并将ISO从Catalina.iso替换为我们之前下载的Clover.iso。这步是必需的,因为新的驱动器用的是APFS分区,而当前的VirtualBox UEFI看不到它,所以每次在VirtualBox中运行Catalina时都必须使用它作为引导加载程序。

接下来,我们再次启动Catalina并选择安装程序分区(Installer partition)(移动方向键 – 鼠标在这里不起作用)并确认。

这个阶段将花费更长的时间(在一个好的固态硬盘上大约需要30分钟)。一旦完成,系统将自动重启(如果它被卡住,只需硬重置并再次重启即可)

我们再次从VirtualBox启动Catalina(如果你在屏幕上看到错误提示,关闭VM并重启即可,偶尔会发生这种情况)并等待最终用户设置等。

使用以下设置进行网络连接(你也可以根据实际情况进行相应的更改)

IP 10.0.2.12   NetMask  255.255.255.0  GW: 10.0.2.2  DNS 8.8.8.8

现在,你会发现在Catalina guest中有两个鼠标可用,使用我们在VirtualBox USB Pass-through中选择的USB鼠标

P.S 在缩放模式下,Clover菜单由于某种原因无法正常工作,并且无法移动方向键来选择启动,因此在启动Catalina时不要使用缩放模式,你可以在启动后立即将其更改为缩放模式)

如要对系统进行更新升级,你只需在下次macOS获得系统更新时,选择Clover中的安装程序分区即可,这个过程同样需要花费一些时间才能完成。截至目前,可以看到已经发布了第3个Beta版 https://developer.apple.com/news/releases/?id=07022019e

*参考来源:astr0baby,FB小编secist编译,转载请注明来自FreeBuf.COM

[转帖]如何在VirtualBox中运行macOS Catalina Beta版本的更多相关文章

  1. 如何使用Mojave将APFS卷上的MacOS Catalina Beta安装到双引导

    如果你想与macOS Mojave或macOS High Sierra一起运行MacOS Catalina Beta,你可以通过向Mac添加一个新的APFS卷来实现这一点,如果该Macs硬盘被格式化为 ...

  2. Nodejs的安装配置及如何在sublimetext2中运行js

    Nodejs的安装配置及如何在sublimetext2中运行js听语音 | 浏览:4554 | 更新:2015-06-16 11:29 Nodejs的安装配置及如何在sublimetext2中运行js ...

  3. 如何在xampp中运行php文件 (WINDOWS)

    from:http://blog.sina.com.cn/s/blog_5e87822501011os2.html 入门: 如何在xampp中运行php文件 (WINDOWS) 安装XAMPP启动ap ...

  4. 将 Oracle VirtualBox 中运行的虚拟机导入 VMware Fusion、Workstation 或 Player

    1.从virtualbox种导出电脑为 .ova格式镜像 要导入 Oracle VirtualBox 中运行的虚拟机,必须将该虚拟机从 VirtualBox 导出到开放虚拟化格式存档(.ova 文件) ...

  5. 如何在Virtualbox中对Ubuntu系统根分区扩容

    转载:             参见博客: https://blog.csdn.net/LEON1741/article/details/56494797 前在Virtualbox中安装了一个Ubun ...

  6. Zookeeper客户端cli_st为何在crontab中运行不正常?

    实践中,发现直接在命令行终端运行cli_st时,能够得到预期的结果,但一将它放到crontab中,则只收到: bye 相关的一段clit_st源代码如下: if (FD_ISSET(, &rf ...

  7. 如何在linux中运行sql文件

    1.在linux中进入sql命令行 mysql -u root -p   输入密码 2.假设home下面有a.sql文件 先得use databasename,要不会报错 “No Database S ...

  8. Linux系统入门教程:如何在 Linux 中修改默认的 Java 版本

    提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境 ...

  9. 如何在cygwin中运行crontab定时脚本[利刃篇]

    用到cygwin,自然是希望能多处理一些类似linux的任务了,那就自然少不了定时任务crontab,看到网上教程不少,自己运行一个测试却也不那么容易,下面就记录我的安装过程,以供参考吧! 1.首先, ...

随机推荐

  1. ASP.NET大文件分片上传

    文件夹数据库处理逻辑 public class DbFolder { JSONObject root; public DbFolder() { this.root = new JSONObject() ...

  2. Hibernate 4 升级到 5 后显示未知实体错误

    提示的错误信息如下: org.hibernate.MappingException: Unknown entity: com.ossez.reoc.common.crm.DoNotCall at or ...

  3. Mybatis源码学习之事务管理(八)

    简述 在实际开发中,数据库事务的控制是一件非常重要的工作,本文将学习Mybatis对事务的管理机制.在Mybatis中基于接口 Transaction 将事务分为两种,一种是JdbcTransacti ...

  4. 02 Anaconda的介绍,安装记以及使用

    目录 〇.序 Python是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以在Linux.macOS以及Windows系统中搭建环境并使用,其编写的代码在不同平台上运行时,几乎不 ...

  5. 预处理、const、static与sizeof-C++中const有什么作用(至少说出3个)

    1:作用如下: (1)const用于定义常量:const定义的常量编译器可以对其进行数据静态类型安全检查. (2)const修饰函数形式的参数:当输入参数为用户自定义类型和抽象数据类型时,应该将“值传 ...

  6. linux环境下使用jmeter进行压力测试

    linux环境下使用jmeter进行压力测试 linux环境下使用就meter进行压力测试: linux环境部署: 在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.ta ...

  7. 设置Fedora能够使用root用户登录

    1. 切换到root工作环境,因为一下操作必须拥有root权限 [ha@localhost ~]$ su root密码: 2. 编辑/etc/pam.d/gdm [root@localhost ha] ...

  8. Elasticsearch 部署以及报错解决

    前言 Elasticsearch 是一个非常值得学习和使用的分布式存储 此次部署将采用 centos6.9 一.初步了解 ES 简谈概念 Elasticsearch 是一个开源的高扩展的分布式全文检索 ...

  9. 宝塔安装Nextcloud,挂载在阿里云oss上,打造个人/企业高效私有云盘

    如下未完整整理,看懂看不懂随缘.... 准备条件: 1.阿里云oss 2.阿里云ecs 3.环境:centos7.x 步骤: 1.centos中安装宝塔面板 2.下载NextCloud安装包,上传到宝 ...

  10. [go]包管理

    vendor方式 //包管理发展 go get(无版本概念) -> vendor(godep)(无版本概念) -> go modules go get github.com/tools/g ...