用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
-
- 帖子: 2
- 注册时间: 2009-01-05 18:50
用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
要命的什么qq飞信,在linux下运行超级不稳定,但是工作又要在linux下作,,,,,于是想能不能在linux下启动我装在另一个分区的windows。。。我说的是直接启动硬盘的。。。
前一段时间看见我对桌那英国哥在linux下用virtualbox虚拟windows,但不幸的是他把windows分区整整的转换成了一个镜像文件(用过vmware的人都懂,vmware虚拟机使用的磁盘是个虚拟文件)。虽然可以用,但有点小不爽,毕竟windows还在那,你做的任何修改仅仅会在镜像上而不是在那个真实的windows硬盘分区上,并且创建这个镜像又要吃掉40-50g的硬盘空间,要知道办公室的电脑硬盘超级小还本身就双系统(什么matlab,office,vstudio。。。。无比大的说)。
于是各种research,什么系统启动结构,什么mbr 什么bcd ntld,,,,grub等等, 总结这么个方法,这个办法同样使用VirtualBox,可以做到在win上直接运行本机硬盘的linux,相反也可以做到在linux上运行本机的windows, 不用创建镜像文件,省事,省地。(创建镜像要2-3小时,数十g一个文件。。。) 这个感觉就像你有两台电脑,互相远程桌面。假如你在linux下虚拟的win创建了个文件,那么下次你去直接启动原生win,他就有了。 当然运行windows可以在linux选择Virtualbox 的seamless模式,让那个程序看起来和原生linux程序一样,比wine模拟的windows环境强800倍。
具体办法 安装virtualbox......命令行下:sudo apt-get install virtualbox
没有源的自己加下,用ubuntu的可以直接在软件中心装oracle VM VirtualBox
安装后在terminal模式 用root权限的运行virtualbox sudo virtualbox,不用root会出错。 配置一个windows的运行环境, 想要什么样的自己设定。
接下来做硬盘vmdk文件创建,这里直接创建整个硬盘的映射文件。创建单个分区的比较麻烦,又要提取mbr,又要修改bcd,而且还造成虚拟机能运行,原生启动错误的问题。
创建前请分配所有硬盘分区的读写权限,假如有三个 sda1 sda2 sda3 那么命令行下
sudo chmod 666 /dev/sda1
sudo chmod 666 /dev/sda2
sudo chmod 666 /dev/sda3 更多以此类推,两块盘以上的一样,无非是sdb sdc,,,,,等
使用如下指令创建 wmdk 硬盘的映射文件,这里用到的是Virtualbox的shell模式,更多内容请参看virtualbox高级用户手册
sudo vboxmanage internalcommands createrawvmdk -filename /home/用户名/rawdisk.vmdk -rawdisk /dev/sda -relative
用户名替换成自己的登录id, 这样rawdisk.vmdk就可以被Virtualbox(root权限下的)直接调用并且运行windows了。多个硬盘的请分别创建镜像,都加到Virtualbox的ATA管理器里面。
在windows下运行物理磁盘的linux,请安装windows的VirtualBox,同样办法创建映射文件(命令稍有不同,看考windows版本Virtualbox的高级用户手册),注意请创建不同的映射文件,不要拿来在linux下创建的vmdk文件用,会死的很惨的。
实践证明这个办法是彻底不用修改mbr,bcd 还有grub的。。。可以双物理磁盘上的系统互启动。。。
前一段时间看见我对桌那英国哥在linux下用virtualbox虚拟windows,但不幸的是他把windows分区整整的转换成了一个镜像文件(用过vmware的人都懂,vmware虚拟机使用的磁盘是个虚拟文件)。虽然可以用,但有点小不爽,毕竟windows还在那,你做的任何修改仅仅会在镜像上而不是在那个真实的windows硬盘分区上,并且创建这个镜像又要吃掉40-50g的硬盘空间,要知道办公室的电脑硬盘超级小还本身就双系统(什么matlab,office,vstudio。。。。无比大的说)。
于是各种research,什么系统启动结构,什么mbr 什么bcd ntld,,,,grub等等, 总结这么个方法,这个办法同样使用VirtualBox,可以做到在win上直接运行本机硬盘的linux,相反也可以做到在linux上运行本机的windows, 不用创建镜像文件,省事,省地。(创建镜像要2-3小时,数十g一个文件。。。) 这个感觉就像你有两台电脑,互相远程桌面。假如你在linux下虚拟的win创建了个文件,那么下次你去直接启动原生win,他就有了。 当然运行windows可以在linux选择Virtualbox 的seamless模式,让那个程序看起来和原生linux程序一样,比wine模拟的windows环境强800倍。
具体办法 安装virtualbox......命令行下:sudo apt-get install virtualbox
没有源的自己加下,用ubuntu的可以直接在软件中心装oracle VM VirtualBox
安装后在terminal模式 用root权限的运行virtualbox sudo virtualbox,不用root会出错。 配置一个windows的运行环境, 想要什么样的自己设定。
接下来做硬盘vmdk文件创建,这里直接创建整个硬盘的映射文件。创建单个分区的比较麻烦,又要提取mbr,又要修改bcd,而且还造成虚拟机能运行,原生启动错误的问题。
创建前请分配所有硬盘分区的读写权限,假如有三个 sda1 sda2 sda3 那么命令行下
sudo chmod 666 /dev/sda1
sudo chmod 666 /dev/sda2
sudo chmod 666 /dev/sda3 更多以此类推,两块盘以上的一样,无非是sdb sdc,,,,,等
使用如下指令创建 wmdk 硬盘的映射文件,这里用到的是Virtualbox的shell模式,更多内容请参看virtualbox高级用户手册
sudo vboxmanage internalcommands createrawvmdk -filename /home/用户名/rawdisk.vmdk -rawdisk /dev/sda -relative
用户名替换成自己的登录id, 这样rawdisk.vmdk就可以被Virtualbox(root权限下的)直接调用并且运行windows了。多个硬盘的请分别创建镜像,都加到Virtualbox的ATA管理器里面。
在windows下运行物理磁盘的linux,请安装windows的VirtualBox,同样办法创建映射文件(命令稍有不同,看考windows版本Virtualbox的高级用户手册),注意请创建不同的映射文件,不要拿来在linux下创建的vmdk文件用,会死的很惨的。
实践证明这个办法是彻底不用修改mbr,bcd 还有grub的。。。可以双物理磁盘上的系统互启动。。。
- dryland718
- 帖子: 287
- 注册时间: 2011-08-17 12:54
-
- 帖子: 2
- 注册时间: 2009-01-05 18:50
-
- 帖子: 2
- 注册时间: 2011-08-23 19:26
Re: 用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
请问怎么解决windows激活的问题呢?
我在虚拟机中启动了物理硬盘上的win7后提示盗版,重启进入win7仍提示盗版,本来是激活好了的。
我在虚拟机中启动了物理硬盘上的win7后提示盗版,重启进入win7仍提示盗版,本来是激活好了的。
-
- 帖子: 1
- 注册时间: 2012-11-29 15:19
- 系统: windows
Re: 用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
请问使用raw disk 之后,性能会提升多少?文档里说性能提升要看两件事,1,image静态还是动态(什么意思?raw disk大小还能动态增加?)
2,文件是否缓存(到底缓存是应该打开好还是关闭好?)
还有使用raw disk 后,快照和clone功能如何? raw disk肯定不能用复制吧?
还有比如两台虚机都用raw disk,同时运行,不会冲突吗?
2,文件是否缓存(到底缓存是应该打开好还是关闭好?)
还有使用raw disk 后,快照和clone功能如何? raw disk肯定不能用复制吧?
还有比如两台虚机都用raw disk,同时运行,不会冲突吗?
- drc1234
- 帖子: 632
- 注册时间: 2008-08-31 10:09
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
-
- 帖子: 1983
- 注册时间: 2010-05-01 21:23
Re: 用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
可惜我的硬盘只有linux,无法实践了。
- gaoxin
- 帖子: 148
- 注册时间: 2008-09-26 18:53
- 系统: ubuntu14.04 + Win10
- 来自: 辽宁丹东 요녕성 단동시
Re: 用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
好帖子顶一个,没试过,有用过好使的吗? 

- zhcj
- 帖子: 363
- 注册时间: 2008-09-06 5:11
- 来自: 石家庄
- 联系:
Re: 用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
我是用挂载共享文件夹来实现的,linux下虚拟的win可以写ntfs那个分区。
另外,vbox虚拟机的虚拟硬盘及配置文件文件都放在ntfs分区上,linux里面做个软链接vbox就可以用了。
另外,vbox虚拟机的虚拟硬盘及配置文件文件都放在ntfs分区上,linux里面做个软链接vbox就可以用了。
-
- 帖子: 37
- 注册时间: 2012-03-06 0:22
Re: 用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
曾经幻想过,有机会试一试。 

- qq420100523
- 帖子: 1684
- 注册时间: 2009-07-31 18:56
- 系统: windows、ubuntu
- 来自: 广东阳江
Re: 用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
在这里做个笔记。
VirtualBox建立物理硬盘的虚拟磁盘链接:
硬盘映射:
注: linux下/dev/sda代表第一块硬盘,/dev/sdb为第二块硬盘……
windows下\\.\PhysicalDrive0代表第一块硬盘,\\.\PhysicalDrive1为第二块硬盘……
分区映射:
附 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] 激活这个新创建的硬盘的分区
VirtualBox建立物理硬盘的虚拟磁盘链接:
硬盘映射:
代码: 全选
Linux下:
VBoxManage internalcommands createrawvmdk -filename ~/nenew.vmdk -rawdisk /dev/sda
Windows下:
vboxmanage internalcommands createrawvmdk -filename d:\\nenew.vmdk -rawdisk \\.\PhysicalDrive0
windows下\\.\PhysicalDrive0代表第一块硬盘,\\.\PhysicalDrive1为第二块硬盘……
分区映射:
代码: 全选
Linux下:
VBoxManage internalcommands createrawvmdk -filename ~/nenew.vmdk -rawdisk /dev/sda -partitions 1
Windows下:
vboxmanage internalcommands createrawvmdk -filename d:\\nenew.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 1
VBoxManage internalcommands createrawvmdk 创建一个vmdk格式的硬盘
-filename <filename> vmdk格式的硬盘所对应的vmdk文件
-rawdisk <diskname> vmdk文件所对应的物理硬盘
[-partitions <list of partition numbers> vmdk文件对应的物理硬盘的分区
[-mbr <filename>] ] 将这个文件包含的引导记录写到vmdk文件
[-register] 将这个新创建的硬盘注册到virtualbox
[-relative] 激活这个新创建的硬盘的分区
- tooktang
- 帖子: 674
- 注册时间: 2010-07-15 18:30
Re: 用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
赞一个,这个是一个相当好的办法。虽然我贪图性能,都是采用装多系统的方法。
我是OS控…
- wangchaoran
- 帖子: 764
- 注册时间: 2011-11-18 21:41
- 系统: kubuntu 13.4 amd64
- 来自: China
Re: 用Virtualbox 在linux和windows下 双系统互启 直接写物理硬盘 不使用硬盘镜像的方法
用不了这么长时间吧,我建一个32g固定分配的vmdk也只花了5分钟而已,,硬件也只是双核速龙+西数蓝盘.(创建镜像要2-3小时,数十g一个文件。。。)
代码: 全选
The best way to predict the future is to invent it.
- acer4740
- 帖子: 1405
- 注册时间: 2010-09-13 19:04
- 来自: 0xFF00EE