分享

virtualbox 直接挂载硬盘,运行物理硬盘系统

 风动九天 2013-01-31
要命的什么QQ 飞信,在linux下运行超级不稳定,能不能在linux下启动装在另一个分区的windows。。。我说的是直接启动硬盘的。。
用virtualbox虚拟windows,windows分区只是一个镜像文件(用过vmware的人都懂,vmware虚拟机使用的磁盘是个虚拟文件)
虽然可以用,但有点小不爽,你做的任何修改仅仅在镜像上而不是在那个真实的windows硬盘分区上,并且创建这个镜像又要吃掉40-50g的硬盘空间
有办法同样使用VirtualBox,可以做到在win上直接运行本机硬盘的linux,相反也可以做到在linux上运行本机的windows, 不用创建镜像文件,省事,省地。(创建镜像要2-3小时,数十g一个文件。。。)这个感觉就像你有两台电脑,互相远程桌面。假如你在linux下虚拟的win创建了个文件,那么下次你去直接启动原生win,他就有了。当然运行windows可以在linux选择Virtualbox的seamless无缝模式,让那个QQ程序看起来和原生linux程序一样,比wine模拟的windows环境QQ强800倍。


具体办法 安装virtualbox......(硬件要求:双核CPU 支持VT-X 内存>2G bois,打开vt-x enable)
下载地址 https://www./wiki/Linux_Downloads
没有源的自己加下,用ubuntu的可以直接在软件中心装oracle VM VirtualBox
命令行下:sudo apt-get install virtualbox
下载deb包的,用鼠标把deb拉入终端
用 sudo dpkg -i virtualbox.deb 
提示缺少依赖的话
sudo apt-get -f install 解决
安装后在terminal终端模式 用root权限的运行virtualbox
sudo virtualbox
不用root会出错。 配置一个windows的运行环境, 想要什么样的自己设定。

接下来做硬盘vmdk文件创建,这里直接创建整个硬盘的映射文件。创建单个分区的比较麻烦,又要提取mbr,又要修改bcd,而且还造成虚拟机能运行,原生启动错误的问题。

创建前请分配所有硬盘分区的读写权限,假如有三个 sda1 sda2 sda3 那么命令行下

sudo chmod 666 /dev/sda1 # 终端用sudo chmod 666 /dev/sda 即可
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管理器里面。
vbox挂载虚拟光盘/usr/share/virtualbox/VBoxGuestAdditions.iso,在vbox中的WIN安装增强,实现无缝模式。第一次进入硬盘上的windows会安装虚拟驱动,但无需担心实机进win时驱动是否改变,一切如旧。
注意的是尽量不要在两个系统分区互读写文件,否则后果自负。

在windows下运行物理磁盘的linux,请安装windows的VirtualBox,同样办法创建映射文件(命令稍有不同,看考windows版本Virtualbox的高级用户手册),注意请创建不同的映射文件,不要拿来在linux下创建的vmdk文件用,会死的很惨的。

实践证明这个办法是彻底不用修改mbr,bcd 还有grub的。。。可以双物理磁盘上的系统互启动。。。
bg3mdo原著

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多