我正在上大学 Unix 课程,作为课程的一部分,我正尝试在我的计算机上使用 Ubuntu 的实时 USB。我的计算机运行 64 位 Windows 7。我使用 LinuxLive 在 16 GB 闪存驱动器上安装了 VirtualBox。使用这个安装 64 位 Ubuntu 15.04 时遇到了麻烦,但能够成功安装 32 位 15.04。我的最终目标是:保留我的 Windows 安装,并主要通过 VM 运行 Ubuntu(可能偶尔会启动它)。
过去几周我一直在使用“尝试 Linux”选项,但从我读到的内容来看,我认为我可以在闪存驱动器上“安装”Linux 以保留我的设置(并可能使其在 VM 中运行得更快?)。我在 YouTube 上找到了几个演示视频,但我看到的屏幕有点不同。在“下载更新”复选框屏幕之后,我得到一个下拉菜单,要求设置设备引导加载程序。唯一的选项是 /dev/sda,尝试添加其他选项似乎不起作用。
我几乎是个彻头彻尾的 Unix 新手,而且我并不羞于承认这一点。我知道 /dev/sda 是一个驱动器,但是哪个驱动器呢?它是我电脑的硬盘、闪存驱动器还是虚拟机中的某个虚拟驱动器?如果我在那里安装 Ubuntu,会对我现有的硬盘和 Windows 安装产生负面影响吗?
答案1
虚拟硬盘
尽管将 Ubuntu 安装到虚拟机(例如 Virtual Box)您将创建一个虚拟硬盘,用于保存虚拟化操作系统及其数据。对于主机操作系统,此虚拟硬盘是只是真实硬盘上的一个文件但客户操作系统可以像使用真实驱动器一样使用它,以便对其进行分区并根据客户的需求对其进行格式化。这将使真实驱动器上的分区和文件系统保持不变。
Windows 设备
在 Windows 中,硬盘或其分区的分配字母A: B: C:, ...
与分区所在位置无关。这在 Unix 和 Ubuntu 中有所不同。
Unix 和 Ubuntu 的设备文件
对于每个连接的块设备(以及虚拟机中的每个虚拟硬盘),我们将创建一个设备文件. 现代 SCSI 或年代ATAd驱动器将/dev/sd
根据其注册顺序以 开头,后面跟一个字母。因此,第一个注册驱动器的设备文件将命名为/dev/sda
,第二个为/dev/sdb
,第三个为/dev/sdc
,依此类推。
在该驱动器上添加分区后,它们将被连续编号/sda1, /sda2, /sda3, ...
。因此,我们可以轻松看到给定分区位于哪个硬盘上。
Grub 和启动设备
现在,为了安装启动 Ubuntu 所需的主引导加载程序 (Grub),我们可以进一步指定应将其安装在哪个驱动器上。这仅在您的计算机(或虚拟机)连接了多个驱动器时才重要。
就您而言,您可能只创建了一个虚拟硬盘(尽管可以创建多个),并将其命名为/dev/sda
。此驱动器是您要安装 Grub 和操作系统的位置。
请注意,在虚拟机中,这仍然是一个虚拟硬盘,而不是主机操作系统所在的裸机驱动器。
关于双启动
在实际的计算机上,我们可能想要从多个操作系统中进行选择,因此我们可能必须注意引导加载程序是否确实被放置在第一个可引导驱动器上。它将替换我们开始之前存在的任何其他(例如 Windows)主引导记录。只有这样,才有可能实现在引导时可以选择操作系统的双引导系统。如果出于任何原因我们不想这样做,我们可以告诉 Grub 在另一个驱动器(或分区)上安装(如果可用)。
答案2
我有一台可以启动 Windows 7 的笔记本电脑。我经常在该笔记本电脑上的虚拟机内运行 Ubuntu。
要在虚拟机中运行 Ubuntu,需要下载并安装两个关键软件:
- 将 Virtualbox 应用程序“.exe”安装程序下载到 Windows 下载文件夹中。然后在主机操作系统上安装 VirtualBox 应用程序(或其他虚拟机)——就您和我而言,我们在 Windows 7 主机操作系统上安装“Virtualbox for Windows hosts”。Wikibooks:VirtualBox / 安装 / Windows有更多详细信息。
- 将 Ubuntu“.iso”映像文件下载到 Windows 下载文件夹中。然后运行 VirtualBox,告诉它创建一个新的虚拟机并从该“.iso”映像启动该虚拟机,然后在该虚拟机内安装 Ubuntu。Wikibooks:VirtualBox/设置 Ubuntu 虚拟机有分步说明。
安装 Ubuntu 并重新启动几次后,您可以从 Windows 下载文件夹中删除那些下载的文件。
在初始安装期间或在虚拟机中将 Ubuntu 作为客户操作系统运行时,我从来不需要 USB 闪存驱动器。老实说,我不知道你说的“我使用 LinuxLive 在 16 GB 闪存驱动器上安装了 VirtualBox”是什么意思。我猜这句话里有很多拼写错误。(我见过有人通缉完全擦除某台计算机的硬盘并在其上安装 Linux。制作一个“LiveUSB”可启动 USB 闪存驱动器以便他们可以“试用 Ubuntu”是朝着这个方向迈出的良好第一步,但这听起来不是您想要做的)。(我见过有人下载“适用于 Ubuntu 主机的 VirtualBox”,这样他们就可以在 Ubuntu 主机上的虚拟机内运行其他操作系统,但这听起来不是您想要做的)。
通常,我在屏幕上看到正常的 Windows 任务栏,以及一个大窗口,其标题栏显示该虚拟机的名称,后面跟着“- Oracle VM VirtualBox”。我在该窗口内运行各种 Linux 应用程序。在那个大窗口旁边,我看到一个单独的小窗口,其标题栏显示“Oracle VM VirtualBox Manager”。在那个小窗口中,我单击虚拟机的名称,然后单击“设置”,然后单击“存储”以获取存储树视图。如果您接受所有默认设置(例如按照上述分步说明进行操作),则默认情况下该存储树中只有一个“磁盘”,当我单击它时,我看到它实际上是位于我的“C:\Users\dc\VirtualBox VMs\”文件夹中的一个文件。该文件就是我的虚拟机内的 Ubuntu 操作系统视为“/dev/sda”硬盘驱动器的文件。
那么 /dev/sda 是什么?
在运行 Ubuntu 时,“/dev/sda” 是 Ubuntu想是计算机的硬盘。
当我看到人们从硬盘启动 Ubuntu 以致它填满整个屏幕(即 Ubuntu 实际上直接在物理硬件上运行)时,“/dev/sda”是实际的物理硬盘。
当我看到有人从实时 USB 闪存驱动器启动 Ubuntu 时,它会填满整个屏幕(即 Ubuntu 实际上直接在物理硬件上运行),他们会看到“/dev/sda”和“/dev/sdb”。我永远记不住哪个是实际的物理硬盘,哪个是实际的物理实时 USB 闪存驱动器。(问如何区分两者可以提出一个很好的独立问题)。
当 Ubuntu 在“...- Oracle VM VirtualBox”窗口内运行时,该窗口内的“/dev/sda”是虚拟机用来模拟虚拟硬盘的任何内容。当 Ubuntu 在 Windows 主机上的虚拟机内运行时,Ubuntu 所看到的“/dev/sda”通常是 C:\ 硬盘上某个文件夹中的“.vdi”文件。我听说偶尔有人会更改这些设置,以便 Ubuntu 所看到的“/dev/sda”,VirtualBox 可以重新映射到某个物理硬盘或 USB 棒,而不是默认的“.vdi”文件。您可以通过检查“Oracle VM VirtualBox Manager”中的设置来准确了解系统上的内容。