现在用 Mac 的人越来越多了。虽然 OSX 的体验很好,但是很多软件还是没有 Windows 版(比如坑爹的百度云),所以虚拟机就成了装机必备。但是很显然我们大多数人都没有使用正版软件的习惯,于是前些日子Flashback木马爆发给了我们这些盗版用户一巴掌……

于是不想用盗版Parallels Desktop / VMVare 的我,只好看看 Virtualbox 下该怎么使用 Bootcamp 分区了╮(╯_╰)╭

呃……笔者之所以有这个需求是因为要用电脑玩儿坦克世界,如果没有这类高性能需求的话直接用虚拟机就好了。

在网上谷歌了一下相关的内容基本都是Lion 或者 MountainLion 下的……比较胆小所以没敢试。

本日志内容参考了virtualbox 论坛中的这篇帖子及其回复https://forums.virtualbox.org/viewtopic.php?f=8&t=58821,在此说明。

 

进入终端,输入

diskutil list

得到当前的磁盘分区列表(图中是我的电脑的分区表,理论上你要是没对你的电脑做什么奇怪的事情应该是和我差不多的……)

之后在终端中输入

diskutil unmount /Volumes/BOOTCAMP

来卸载 BOOTCAMP 分区

可以看到系统提示BOOTCAMP 分区卸载成功。

之后在终端中输入

sudo chmod 777 /dev/disk0s1

sudo chmod 777 /dev/disk0s4

来获得对这两个分区的最高读写权限

之后在终端中输入

sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/disk0 -filename win8raw.vmdk -partitions 1,4

来创建 VirtualBox所需的硬盘文件

可以看到系统提示文件创建成功。

最后在终端中输入

sudo chmod 777 win8raw-pt.vmdk

sudo chmod 777 win8raw.vmdk

来获得对这两个硬盘文件的最高读写权限。

之后我们就可以摆脱终端了。进入 VirtualBox,点击「新建」按钮,在「名称」中输入你想给这个虚拟机名称,类型选「Microsoft Windows」,版本选「Windows 8.1(64 bit)」【别告诉我你装的是32位系统→_→

一般来说你的名称里如果包含 Win8.1之类的字眼类型和版本就会自动选好不用你操心。

内存大小请自行考量,对我来说这东西最大的用处是百度云下载,这样的话1024MB 甚至768MB 都够了(当然不能开太多程序)。

在设置虚拟硬盘时选择「使用已有的虚拟硬盘文件」,之后点击那个像文件夹一样的按钮浏览文件并在你的根目录下找到之前创建好的虚拟硬盘文件。你的根目录也就是在「用户」文件夹中以你的用户名命名的文件夹。选择「win8raw.vmdk」(当然之前创建硬盘文件时也许你用的是别的文件名,whatever),然后点创建。

 

之后基本就算是大功告成了。在VirtualBox 面板中选中我们刚刚创建好的虚拟机点击「设置」可以进行各种调教……调整。为了保险起见我把「系统」选项卡里的「启用 EFI」勾上了,我也没试到底有没有必要勾上,总之不要在意细节。「系统」选项卡里的「处理器」里可以设置分配给虚拟机的 CPU 核心数量,如果你没概念的话就设置成1或者2就行了……如果用虚拟机的时候觉得卡就调高些。在「共享文件夹」选项卡里可以设置你想把你的 OSX 分区与虚拟机(当然虚拟机用的硬盘实际上是 BOOTCAMP 系统的分区)共享的文件夹,这个可以用来转移两个分区之间的文件,比如你可以在虚拟机里用百度云下东西然后再挪到 OSX 里你想放到的地方以节省 BOOTCAMP 分区的空间。我自己是把根目录设置成了共享文件夹。

理论上如果你觉得不需要共享文件夹这个功能的话到此就大功告成了。需要使用 Windows时点击「启动」即可。

 

==============共享文件夹设置==========================

 

如果需要在虚拟机下的 Windows 中使用共享文件夹需要安装相应的软件。

启动虚拟机,在屏幕最上方的菜单栏中选择「Devices」→「Insert Guest Additions CD image...」。

之后在虚拟机中的 Windows 会提示插入新光盘,运行光盘中的程序,一路 Next 即可,如果有询问权限之类的一律选择「是」。之后重启,我们就会发现在「计算机」中出现了我们之前设置的共享文件夹。

顺便,VirtualBox 其实还有一些实用的功能,比如剪切板共享(你可以在 OSX 中复制一段文字然后在虚拟机中粘贴,反之亦然,在 「Devices」→「Shared Clipboard」→「Bidirectional」,或者也可以选择「Guest to Host」之类的,whatever),截图(「Machine」→「Take Screenshot...」)等等。

 

===============================

重启之后才发现忘了写 AppleScript 了……

以上的步骤只在未重启时有效。所以为了方便起见我们可以写一个 AppleScript 文件。

打开「脚本编辑器」(在 Launchpad 的「其他」文件夹里就有」,将以下代码复制粘贴

 1 tell application "Finder"
 2     
 3     if exists "BOOTCAMP" then
 4         --Make the BOOTCAMP Partition writeable
 5         do shell script "chmod 777 /dev/disk0s1" with administrator privileges
 6         do shell script "chmod 777 /dev/disk0s4" with administrator privileges
 7         
 8         --Eject BOOTCAMP Volume if Mounted
 9         
10         do shell script "umount -f /Volumes/Bootcamp" with administrator privileges
11         do shell script "chmod 777 win8raw.vmdk" with administrator privileges
12         do shell script "chmod 777 win8raw-pt.vmdk" with administrator privileges
13         
14     end if
15     
16 end tell
17 
18 --Launch Virtual Machine
19 
20 do shell script "vboxmanage startvm Win8.1_BOOTCAMP" --Win8.1_BOOTCAMP是你在的Vitualbox虚拟机名称.

然后保存,在存储时将文件格式选为「应用程序」即可。建议保存在「应用程序」文件夹,这样一来我们就只要在 Launchpad 里点击我们保存的这个应用程序就可以打开 BOOTCAMP 虚拟机了(当然在运行时需要输入你的用户密码)。

 

 

最后,本人水平有限,如有不足敬请吐槽。

完结撒花~