AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 571965
Accepted
Mas Bagol
Mas Bagol
Asked: 2015-01-10 19:25:20 +0800 CST2015-01-10 19:25:20 +0800 CST 2015-01-10 19:25:20 +0800 CST

使用物理硬盘分区作为 VirtualBox VM 和可引导分区

  • 772

是否可以使用物理硬盘分区安装带有 VirtualBox 的 Ubuntu 操作系统,然后使其可启动?

我想要的是我在 VirtualBox 中安装的 Ubuntu 操作系统可以从物理机和 VirtualBox VM 访问和引导(当然不是同时)。所以,有时我可以将它作为虚拟机启动,有时我可以将它作为真实机器启动(作为与我的主要操作系统 Linux Mint 一起的双启动)。

在阅读了一些关于此的文章后,这里是链接:

  1. 从虚拟机 (VM) 迁移到物理系统
  2. 使用来自来宾的原始主机硬盘
  3. 将物理硬盘与 VirtualBox VM 一起使用
  4. VirtualBox:使用物理分区作为虚拟驱动器

我想我可以做到,但我不确定我的问题的结果。据说,如果过程中出现问题,将导致严重的数据损坏。

这是否意味着我的硬盘驱动器中的全部数据(而不仅仅是一个分区)将被损坏?

编辑

我忘了说,我安装的 Virtual Ubuntu OS 分为三个分区。我将使用的物理分区驱动器是一个逻辑分区。这是让我不确定结果的问题。

dual-boot
  • 1 1 个回答
  • 27212 Views

1 个回答

  • Voted
  1. Best Answer
    Mas Bagol
    2015-01-13T00:28:03+08:002015-01-13T00:28:03+08:00

    我为自己的问题找到解决方案。这不是那么简单。作为一个没有经验的 Ubuntu 用户,我感到很困惑。最终,我决定不这样做。但是,也许有人有另一种方法比我做得更好。

    安装新的 Ubuntu 操作系统

    在主操作系统旁边安装 Ubuntu 操作系统。就我而言,它是 linux mint。但是,我认为 mint 和 Ubuntu 之间的过程没有区别,因为 mint 是基于 Ubuntu 的。

    为 Virtual Box 创建介质文件以读取新操作系统

    安装完成后。您需要为 VirtualBox 创建一个介质来读取包含全新安装的 Ubuntu 操作系统的分区。你的做法是这样的:

    VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdX -partitions Y,Y

    X你的硬盘在哪里,Y是你的分区号。不要包含包含主操作系统启动的分区。因为对于不包含主操作系统引导的新操作系统,我们需要不同的引导介质。您可能需要以 root 身份运行。

    为 Virtual Box 创建介质以从新操作系统启动

    为了创建启动介质,我们将从新的操作系统启动文件创建一个 ISO 映像。首先,我们必须在我们的主操作系统中执行此操作。重新启动计算机并从主操作系统启动。就我而言,我重新启动到 Linux Mint。

    我们需要创建一个临时文件夹来创建 iso 引导文件。因此,一旦 Mint 准备好完成这项工作。创建一个文件夹。我假设我们在桌面上这样做。我们会这样做:

    • 转到桌面。

    • 创建新文件夹并将其命名为“iso”。

    • 打开该 iso 文件夹并再次创建一个名为“boot”的新文件夹。

    • 打开该引导文件夹并再次创建一个名为“grub”的新文件夹。

      如果我们通过终端执行此操作,我们只需键入此行并按回车键

      mkdir -p ~/Desktop/iso/boot/grub
      

      如果我们知道我们在做什么,终端是一个很棒的工具!;)

    • 创建文件夹后,我们需要将新的 Ubuntu 操作系统启动文件复制到该文件夹​​。因此,打开我们安装 Ubuntu 操作系统的分区,然后将所有文件从复制/usr/lib/grub/i386-pc/到~/Desktop/iso/boot/grub. 并将所有文件从复制/boot/grub/grub.cfg到~/Desktopiso/boot/grub.

      同样,如果此步骤是通过终端完成的,我们应该这样做:

      cp /usr/lib/grub/i386-pc/* ~/Desktop/iso/boot/grub
      
      cp /boot/grub/grub.cfg ~/Desktop/iso/boot/grub
      
    • ~/Desktop/iso/boot/grub/grub.cfg使用文本编辑器打开 grub.cfg 。警告不要犯任何错误,您将在此处编辑的不是您的/boot/grub/grub.cfg. 如果您编辑我提到的最后一个,您的主操作系统启动将失败。

    • 一旦 grup.cfg 打开。删除menuentry与我们安装的新 Ubuntu 操作系统无关的内容。它通常看起来像这样:

      ### Begin /etc/grub.d/your_main_os ###
      menuentry 'The text displayed in boot menu' {
          ----
          some code we don't need understand for this
          ----
      }
      ### End /etc/grub.d/your_main_os  ###
      

      删除所有与我们安装的新 Ubuntu 操作系统无关的菜单项。我们不需要它们存在于 VirtualBox 中,不是吗?

    • 接下来,将包含所有文件的文件夹转换为 iso:

      grub-mkrescue -o boot.iso ~/Desktop/iso
      

      注意:如果执行此操作时出现错误,则需要先安装xorriso。有了这个:

      sudo apt-get install xorriso
      
    • 用于引导的 iso 文件已创建。如果我们将该 iso 文件与我们创建的媒体文件放在同一文件夹中,那将会很好。

    将虚拟机设置为能够引导安装的 Ubuntu 操作系统

    我们已经创建了读取新安装的操作系统的介质,并且我们已经为 VirtualBox 独立创建了它的引导加载程序。最后一件事是配置,Virtual Box 应该如何做到这一点。

    • 转到我们放置medium.vmdk. 在那里打开终端并执行以下操作:

      chmod -v 666 medium.vmdk
      
    • 作为根更改medium.vmdk和boot.iso文件权限。我们必须是这些文件的所有者。

    • 打开虚拟盒子。创建一台新机器。当 Hard Drive 选项给出选项时,选择use an existing virtual hard drive并取medium.vmdk

    • 完成它,但不要运行它。选择新机器后,打开设置。

    • 在存储部分,如果没有 CD 存储,请创建新的。然后挂载boot.iso我们在该 CD 存储中创建的文件。

    • 在关闭“设置”之前,请转到“系统”部分进行确认。包含的 CD 存储boot.iso在 Hard Disk 之前先被读取。这样,Virtual Box 将从 CD 启动以读取新安装的操作系统。

    • 结束。我们可以从虚拟机和真实机器运行新安装的操作系统。

    重要笔记

    即使我们可以从两种方式启动它。我发现了一些问题。

    1. 每当我们从真机启动然后尝试从虚拟机启动它时都会出错。因为物理驱动器状态在medium.vmdk不知不觉中发生了变化。因此,我们必须创建一个新介质并再次更改它的权限才能从虚拟机启动。但是,我们不需要创建新的boot.iso.

    2. 因为两台机器的MAC地址不同。尝试配置网络设置时,操作系统会感到困惑。在我的例子中,我安装了 Ubuntu Server 作为新操作系统,每次我从不同的机器启动时,它都会给出一条消息,如“等待网络配置......”大约 2 分钟,然后启动。

    而已。我自己的问题的解决方案。

    • 10

相关问题

  • 如何在 ubuntu 中挂载加密的 windows 分区?[关闭]

  • 如何使用 Debian 进行双引导?

  • 如何使用 Ubuntu 和 Windows XP 安装双启动配置?[关闭]

  • 如何让双启动 USB 驱动器在 Vista 中工作 [关闭]

  • 如何从双启动计算机访问加密的主文件夹?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve