Mas*_*gol 11 partitioning dual-boot virtualbox hard-drive
是否可以使用物理硬盘分区安装带有 VirtualBox 的 Ubuntu 操作系统,然后使其可启动?
我想要的是我在 VirtualBox 中安装的 Ubuntu 操作系统可以从物理机和 VirtualBox VM 访问和启动(当然不是同时)。因此,有时我可以将其作为虚拟机启动,有时我可以将其作为真机启动(作为与我的主要操作系统 Linux Mint 一起进行的双启动)。
在阅读了一些关于此的文章后,这是链接:
我想我可以做到,但我不确定我的问题的结果。据说,如果过程中出现问题,将导致严重的数据损坏。
这是否意味着我的硬盘驱动器中的整个数据(不仅仅是一个分区)都会被破坏?
编辑
我忘了说,我安装的 Virtual Ubuntu OS 被划分为三个分区。我将使用的物理分区驱动器是一个逻辑分区。这是让我不确定结果的问题。
Mas*_*gol 10
我为自己的问题找到了解决方案。这不是那么简单。对于我作为一个没有经验的 Ubuntu 用户来说,这很令人困惑。最后,我决定不这样做。但是,也许有人比我有另一种方法可以更好地做到这一点。
在您的主操作系统旁边安装 Ubuntu 操作系统。就我而言,它是 linux mint。但是,我认为 mint 和 Ubuntu 之间的过程没有区别,因为 mint 基于 Ubuntu。
安装完成后。您需要为 VirtualBox 创建一个介质来读取包含新安装的 Ubuntu 操作系统的分区。你的做法是这样的:
VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdX -partitions Y,Y
X你的硬盘在哪里Y你的分区号。不要包括包含主操作系统启动的分区。因为对于不包含主操作系统引导的新操作系统,我们需要不同的引导介质。您可能需要以 root 身份运行。
为了创建引导介质,我们将从新的操作系统引导文件创建一个 ISO 映像。首先,我们必须在主操作系统中执行此操作。重新启动计算机并从主操作系统启动。就我而言,我重新启动到 Linux Mint。
我们需要创建一个临时文件夹来创建iso引导文件。因此,一旦 Mint 准备好完成这项工作。创建一个文件夹。我假设我们在桌面上这样做。我们会这样做:
转到桌面。
创建新文件夹并将其命名为“iso”。
打开该iso文件夹并再次创建一个名为“boot”的新文件夹。
打开该引导文件夹并再次创建一个名为“grub”的新文件夹。
如果我们通过终端执行此操作,我们只需输入此行并按 Enter
mkdir -p ~/Desktop/iso/boot/grub
Run Code Online (Sandbox Code Playgroud)
如果我们知道我们在做什么,终端是一个很棒的工具!;)
创建文件夹后,我们需要将新的 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
Run Code Online (Sandbox Code Playgroud)~/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 ###
Run Code Online (Sandbox Code Playgroud)
删除与我们安装的新 Ubuntu 操作系统无关的每个菜单项。我们不需要它们存在于 VirtualBox 中,不是吗?
接下来,使用以下命令将包含所有文件的文件夹转换为 iso:
grub-mkrescue -o boot.iso ~/Desktop/iso
Run Code Online (Sandbox Code Playgroud)
注意:如果在执行此操作时出现错误,则需要先安装xorriso。有了这个:
sudo apt-get install xorriso
Run Code Online (Sandbox Code Playgroud)创建用于引导的iso文件。如果我们将该 iso 文件与我们创建的媒体文件放在同一文件夹中会很好。
我们已经创建了用于读取新安装的操作系统的介质,并且我们已经为 VirtualBox 独立创建了它的引导加载程序。最后一件事是配置,Virtual Box 应该如何做到这一点。
转到我们放置medium.vmdk. 在那里打开终端并执行以下操作:
chmod -v 666 medium.vmdk
Run Code Online (Sandbox Code Playgroud)作为 root 更改medium.vmdk和boot.iso文件权限。我们必须是这些文件的所有者。
打开 VirtualBox。创建一台新机器。当硬盘选项提供选项时,选择use an existing virtual hard drive并取medium.vmdk
完成它,但不要运行它。选择新机器后,打开设置。
在存储部分,如果没有 CD 存储,则创建新的。然后安装boot.iso我们在该 CD 存储中创建的文件。
在关闭设置之前,请转到系统部分以确保。boot.iso在硬盘之前先读取包含的 CD 存储。这样,Virtual Box 将从 CD 启动以读取新安装的操作系统。
结束。我们可以从虚拟机和真机运行新安装的操作系统。
即使我们可以从两种方式启动它。我发现了一些问题。
每当我们从真机启动,然后尝试从虚拟机启动时,都会出错。因为物理驱动器状态在不知情的情况medium.vmdk下发生了变化。因此,我们必须创建一个新介质并再次更改它的权限,以便能够从虚拟机启动。但是,我们不需要创建新的boot.iso.
因为两台机器的MAC地址不同。尝试配置网络设置时,操作系统会感到困惑。就我而言,我将 Ubuntu Server 安装为新操作系统,每次我从不同的机器启动时,它都会给出类似“等待网络配置...”的消息大约 2 分钟,然后启动。
就是这样。我自己的问题的解决方案。
| 归档时间: |
|
| 查看次数: |
26152 次 |
| 最近记录: |