前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Virtual BOX 使用U盘或者现有硬盘启动虚拟机;Virtual Box 使用实体硬盘启动虚拟机;Virtual Box 使用实体U盘启动虚拟机;

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

作者头像
xuyaowen
发布2020-12-30 15:53:00
3.1K0
发布2020-12-30 15:53:00
举报
文章被收录于专栏:XUYAOWEN的专栏

问题重述:

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

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

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

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

解决方法:

  • 在windows中通过磁盘管理,确定磁盘编号:cmd 中键入 diskmgmt 命令,可直接打开。
  • 使用管理员模式启动cmd,并通过命令创建虚拟磁盘:
代码语言:javascript
复制
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硬盘镜像创建过程大致如上述所示,启动效果如下图所示:

代码语言:javascript
复制
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文件为描述型文件。我们可以使用记事本进行查看,具体数据如下;

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

转载请注明出处; by xuyaowen 

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-12-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档