Virtual BOX 使用U盘或者现有硬盘启动虚拟机;Virtual Box 使用实体硬盘启动虚拟机;Virtual Box 使用实体U盘启动虚拟机;VMware从硬盘启动虚拟机;

问题重述:

前段时间,我从家里带来了一块坏的硬盘,里面的数据还在,但是会间歇性不能识别,并且其中的系统损坏了。今天我重新购买了sata to usb 的转接器和12v的电源,尝试修复一下磁盘;看看能不能重新启动。

但是我宿舍里只有一个电脑。为了修复方便,我尝试从虚拟机直接从实体硬盘启动。通过在网络上搜索,大致过程记录如下,防止下一次重新学习命令。

注1:本方法,还适用于电脑上有多块硬盘,而且每个硬盘里单独装了一个操作系统,并且操作系统引导是独立的。这样我们可以在现有系统中,使用虚拟机启动另外一个硬盘上的系统。

注2:本方法,还适用于电脑上有多快硬盘,用户可以选择直接在实体硬盘里,使用虚拟机装系统,从而避免虚拟机直接写文件系统的硬盘文件带来的性能损失;这样使得虚拟机可以直接使用裸盘的性能。

解决方法:

  • 在windows中通过磁盘管理,确定磁盘编号:cmd 中键入 diskmgmt 命令,可直接打开。

  • 使用管理员模式启动cmd,并通过命令创建虚拟磁盘:
cd %programfiles%\Oracle\VirtualBox # 进入Virtual Box的安装位置,如果在其他地方,可自由替换。
VBoxManage internalcommands createrawvmdk -filename C:\SSD.vmdk -rawdisk \\.\PhysicalDrive1 # 1 为上述的磁盘编号; C:\SSD.vmdk 为创建的虚拟机可识别的位置;
  • 使用管理模式启动VirtalBox, 并导入创建的虚拟硬盘;C:\SSD.vmdk

  • 创建虚拟机,并选择使用已经存在的硬盘;SSD.vmdk

  • 通过设置,设置虚拟机运行环境;并启动虚拟机,即可通过实体硬盘启动。
  • 如果实际的硬盘有坏道,可以通过DG进行修复:坏道检测与修复

实际效果:

我在实际测试过程中,使用的是我在另一块固态上安装的ubuntu系统,并没有使用从家里带来的那块硬盘,因为那块硬盘存在数据损坏,系统一直蓝屏,书写此篇博客时,硬盘正在进行修复。装有ubuntu系统的SSD硬盘镜像创建过程大致如上述所示,启动效果如下图所示:

diskmgmt # 通过查看,我需要使用的硬盘为 磁盘 0 
cd %programfiles%\Oracle\VirtualBox
VBoxManage internalcommands createrawvmdk -filename C:\SSD-Ubuntu.vmdk -rawdisk \\.\PhysicalDrive0

创建虚拟机,并设置具体参数后,虚拟机启动效果如下:

 

由图中可见,其硬盘分区和虚拟机中硬盘分区相同。虚拟机的运行效果,也与我们直接从硬件启动的效果相同。实验成功。

这种模拟的优点:

  1. 可以充分利用存储硬件;充分发挥底层存储的性能,不用再过一层文件系统。
  2. 充分利用windows机器的网络环境和应用环境;Virtual Box 软件变成一种媒介,使得我们可以将实体硬盘上的操作系统加载起来,并以操作系统的形式进行使用。
  3. Windows机器和Linux系统无缝配合。使得一个系统可以运行多个系统。
  4. 充分利用冯诺依曼体系结构;这样即使我们使用真实硬件加载硬盘上的操作系统,我们也不存在数据的不一致性。
  5. 在硬件情况运行的情况下,可以通过这种模式,恢复系统和修复硬盘;我们可以通过虚拟机将硬盘上的系统启动。
  6. 加深我们对操作系统的理解。当前操作系统的核心设备为硬盘(非易失性存储),所有的逻辑都是围绕着存储来进行展开。

参考链接:

How to Boot From a USB Drive in VirtualBox

How to Boot From a USB Flash Drive in VirtualBox

错误参考:

错误1:VBoxManage.exe: error: Cannot open the raw disk '\\.\PhysicalDrive0': VERR_SHARING_VIOLATION

原因:这是因为,我在创建虚拟磁盘的时候,此磁盘已经被 DiskGenius 占用了,所以报了 SHARING_VIOLATION 的错误,我关闭了DiskGenius 后,重新创建,错误消失,创建成功;

错误参考:VERR_SHARING_VIOLATION When Creating Raw Disk 

扩展阅读:

实际,我们创建的SSD-Ubuntu.vmdk文件为描述型文件。我们可以使用记事本进行查看,具体数据如下;

我们甚至可以手动修改和创建;

VMWare16硬盘启动:2021年3月26日补充:

针对于VmWare从硬盘直接启动的情况,更较为方便了;在建立虚拟机的时候,可以选择使用磁盘;

使用此种办法,我成功将旧笔记本的两块硬盘,塞入台式机,进行过渡使用。

在尝试VMware之前,我一直使用virtual box进行启动这两块的硬盘上的双系统。然而在启动windows10时,总是出现黑屏和蓝屏。启动linux系统则能成功启动。可见virtualbox对裸盘以及windows系统支持还是不够完美。不得已切换到vmware之上,完美启动。

题主使用的CPU为9700K,内存32GB;可以作为参考。

转载请注明出处; by xuyaowen;

posted @ 2020-12-26 16:32  Michael-Xu  阅读(2222)  评论(0编辑  收藏  举报