electricface
2012-12-15 01:50 deepin
good,我原来就有这个想法的。但是我没技术、
Reply Like 0 View the author
有成功的吗?
我的创建命令如下:
VBoxManage createmedium disk --filename=/media/StarDust/Programs/VM/WIn11/nvme1n1p1.vmdk --size=201000 --format=VMDK --variant=RawDisk --property=RawDrive=/dev/nvme1n1p1
但是注册时报错:
Popular Events
More
用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.virtualbox.org/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原著