本文经过实测后记录,以备后查,
原本是买回来的本子上,销售商已帮我装上了MAC OS X 和WIN7双系统,WIN7单独装在一个区下面,后来觉得OS X 系统东西太多,清理麻烦,就重装了一下OS X ,
重装后发现原来的WIN7 还是可以启动的,直接在开机状态下按住 option键,选择WIN7的启动分区就可以。这点倒是比WINDOWNS系统要好。
但这种情况下想使用WIN7的话,就得重启系统,但很多情况下,我们使用WIN7可能只是为了使用一下网银,或是简单的调试一些在WIN下面的东西,重启太耗时,
就想有没有可能在 MAC OS X下面,再把这个分区的系统启动起来呢,经过研究,实验成功,方法如下:
首先,需要借助一款虚拟机:virtual box 这是一款跨平台的虚拟机软件,好处就是:免费,不像VMWARE或是parallels等,贵得要死,穷人呀,没办法,个人觉得virtual box在性能上还可以,以前在centos上布署过服务器,稳定性感觉还可以接受,基本没死过机,还有很重要的是,他的所有操作都可以命令行操作,启动后,可以通过一个服务,远程连接,进行操作系统的安装,这对于布署服务器来说,非常好。
关于如何在centos 下布署virtual box 请看我的另一遍文章:http://blog.csdn.net/sdomain/article/details/6899234
下载virtual box for mac版:https://www.virtualbox.org/wiki/Downloads
根据自己的版本选择下载,这里就是mac版的了,
下载后安装,基本不用说了,
安装完成后,启动virtual box 然后创建一个虚拟机,但不要创建虚拟磁盘,接下来通过以下方法创建虑拟磁盘:
打开终端,先看一下自己的机器的WIN7所在的分区是哪个:
df -h
songdemeideMBP:~ sdomain$ df -h Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk0s4 79Gi 22Gi 56Gi 29% 5948761 14678802 29% / devfs 181Ki 181Ki 0Bi 100% 626 0 100% /dev /dev/disk0s2 79Gi 31Gi 49Gi 39% 8083908 12722234 39% /Volumes/Macintosh HD 2 map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home /dev/disk0s3 79Gi 21Gi 58Gi 27% 84005 61175971 0% /Volumes/BOOTCAMP
我的机器是:/dev/disk0s3
说明是在磁盘0的第3个分区上,我就只有一个磁盘,如果有的机器有两块硬盘,而WIN7是装在独立的一块硬盘上的话,以下操作会有区别,请注意。
首先是将此分区卸载:
sudo bash -l //切换到root 用户权限
umount /dev/disk0s3 //卸载分区 如果是独立磁盘,则要卸载对应的磁盘分区
然后更改设备权限,因为默认情况下,此设备只有root用户可以访问,
songdemeideMBP:~ root# cd /dev/ songdemeideMBP:dev root# chmod 646 disk0s3
再看一下权限,如下所示就可以了:
songdemeideMBP:dev root# ls -l disk0* brw-r----- 1 root operator 1, 0 1 21 10:50 disk0 brw-r----- 1 root operator 1, 1 1 21 10:50 disk0s1 brw-r----- 1 root operator 1, 4 1 21 10:50 disk0s2 brw-r--rw- 1 root operator 1, 5 1 21 10:50 disk0s3 brw-r----- 1 root operator 1, 2 1 21 10:50 disk0s4 brw-r----- 1 root operator 1, 3 1 21 10:50 disk0s5
然后开始使用此硬盘分区创建虚拟磁盘:
VBoxManage internalcommands createrawvmdk -filename ./disk.vmdk -rawdisk /dev/disk0 -partitions 3
附 VBoxManage internalcommands createrawvmdk 命令:
VBoxManage internalcommands createrawvmdk
创建一个vmdk格式的硬盘
-filename <filename> vmdk格式的硬盘所对应的vmdk文件
-rawdisk <diskname> vmdk文件所对应的物理硬盘
[-partitions <list of partition numbers> vmdk文件对应的物理硬盘的分区
[-mbr <filename>] ] 将这个文件包含的引导记录写到vmdk文件
[-register] 将这个新创建的硬盘注册到virtualbox
[-relative] 激活这个新创建的硬盘的分区
这样就创建了一个disk.vmdk的虚拟硬盘,他是直接连接之前我们操作的disk0硬盘上的s3分区的,
生成的文件分生成两个:disk-pt.vmdk 和disk.vmdk
然后进入virtual box 里,点设置--》存储 里面,在控制器SATA后面点+号 (添加虚拟硬盘),然后选择使用现有的虑拟盘,,再选择刚创建的disk.vmdk文件。
添加好硬盘后,注意,在当前界面的右侧有一个选项:使用主机的输入输出(I/O)缓存 ,选中它。(这一步很重要,否则虑拟机无法启动,我就是因为这一步,弄了好久。最后在官方论坛里找到是这里的原因)
完成后点击界面确定,保存添加的磁盘,
最后启动虑拟机,就可以启动此分区上的操作系统了,
这样操作的好处是:
可以在MAC OS下面直接启动WINDOWS,方便,同时,操作系统并不是安装在虑拟硬盘上,是在物理硬盘上,速度什么的会更快,另外,当我们需要玩游戏等需要高性能的WINDOWS时,虑拟的WINDOWS可能并不能满足使用,这时可以重启电脑,直接启动WIN7,性能上完全没问题。而这一切都是共用一个WINDOWS安装,不需要安装两份WINDOWS。
但要注意的是,每次重启MAC后,对应的WIN分区分重新被挂上,这时需要手工umount和重新改权限,否则virtual启动时,分报权限不够,不能读取硬盘。
其实可以写一个脚本,启动时先解除绑定,再改权限,然后命令启动virtual box 只是注意变更用户,因为umount和chmod的时候,需要root用户,我们直接启动virtual的时候,添加的虑拟机,其实是在我们正常使用的帐户下面,当然。也可以直接全部使用root用户来操作了。根据个人喜好吧。