VirtualBox 的下载、安装和配置

1. 什么是虚拟机?

所谓虚拟机,就是在你的计算机上再虚拟出另一台计算机来。这台虚拟出来的计算机,和真正的计算机一样,可以启动,可以关闭,还可以安装操作系统、安装和运行各种各样的软件,或者访问网络。总之,你在真实的计算机上能做什么,在它里面一样可以那么做。使用虚拟机,你会发现,在 Windows 操作系统里,居然又可以拥有另一套 Windows。然而本质上,它只是运行在物理计算机上的一个软件程序。

主流的虚拟机软件包括 VMWare 和 VirtualBox。

2. 下载 Oracle VM VirtualBox

要使用 VirtualBox,首先必须从网上下载并安装它。它的主页是:https://www.virtualbox.org/

李忠《x86 汇编语言:从实模式到保护模式》教材使用的是"VirtualBox 4.1.6 for Windows hosts",作者 2012 年写这本书时,以 Win7 操作系统为运行环境。现在大家都使用 Win10 版本,经过测试,VirtualBox 4.1.6 只能在 Win10 2019 版本运行,在 Win10 2021 版本安装时会提示"安装错误"。官方提供的各历史版本下载链接如下:

由于最新版 7.2 与 VirtualBox 4.1.6 老版本在功能及界面操作上差异较大,我们选择 VirtualBox 6.1,下载链接为:https://www.virtualbox.org/wiki/Download_Old_Builds_6_1

3. 安装 Oracle VM VirtualBox

双击下载好的安装程序,选择"下一步",进入如图所示安装界面:

图 1 VirtualBox 安装界面

图 1 VirtualBox 安装界面

我们使用默认设置,选择"下一步"即可。出现如图所示界面,继续选择"下一步"。

图 2 安装选项界面

图 2 安装选项界面

出现"警告:网络界面"时,我们选择"是"。然后点击"安装"按钮,耐心等待,然后点击"完成"即可完成 VirtualBox 6.1 的安装。

4. 创建一台虚拟计算机

安装之后,第一次启动时的 VirtualBox 如图所示。

图 3 VirtualBox 控制台界面

图 3 VirtualBox 控制台界面

你可能以为这个界面就是虚拟出来的计算机,其实不是。这只是 VirtualBox 的控制台。要知道,VirtualBox 可以虚拟出多台计算机,而不仅仅是一台。所以,现在的任务是不花一分钱,不用走出家门,来安装一台"全新的计算机"。

要创建一台新的虚拟计算机,应该单击控制台界面上的"新建"按钮,或者选择菜单"控制"→"新建"。这时,会出现"新建虚拟电脑向导"。

图 4 新建虚拟电脑向导

图 4 新建虚拟电脑向导

填写好名称(例如:lizhong,尽量使用英文)后,一个值得特别注意的问题是该虚拟硬盘的创建位置,即"文件夹"选项。默认情况下,它会被放在当前用户文件夹下,对于初学者来说很不容易找到。其实,把它创建在源代码所在的文件夹里是最方便的,因为以后要反复对它进行写入操作。所以尽量安装在源代码所在的文件夹。

操作系统类型和版本的选择部分容易让人产生误解,以为 VirtualBox 会根据你的选择来安装一个现成的操作系统。实际上,这不可能。让你选择操作系统的唯一目的,是想根据你的选择,在后面的步骤中为你提供合理的硬件配置,比如内存容量和硬盘大小等。实际上,我们不准备安装任何操作系统,所以在"操作系统"一栏里选择"Other"(其他);在"版本"一栏里选择"Other/Unknown"(其他/未知)。

内存大小选项:建议值为 64MB 内存,选择默认值即可。

虚拟硬盘选项选择"现在创建虚拟硬盘"默认值即可,然后点击"创建",出现如图所示界面。

图 5 虚拟硬盘创建界面

图 5 虚拟硬盘创建界面

和真实的计算机一样,虚拟机也需要一个或几个辅助存储器(磁盘、光盘、U 盘等)才能工作。不过,为它配备的并非真正的盘片,而是一个特殊的文件,故称为虚拟盘。这样,当一个软件程序在虚拟机里读写硬盘或者光盘时,虚拟机将把它转换成对文件的操作,而软件程序还以为自己真的是在读写物理盘片。

为了本书的实验需要,应当指定 50MB 以上的硬盘大小。不过,也不需要太大,这里我们选择 100MB 左右。

关于虚拟硬盘类型:VDI 是 VirtualBox 自己的虚拟硬盘规范,VMDK 是 VMWare 的虚拟硬盘规范,VHD 是微软公司的规范(最早起源于 Connectix Virtual PC,2003 年被微软收购)。对于本书和本书配套的工具来说,你必须选择"VHD(虚拟硬盘)"

此外,VHD 分为两种类型:固定尺寸和动态分配。固定尺寸的 VHD 文件大小等于虚拟硬盘的容量;动态分配的 VHD 文件大小则根据实际写入数据量增长。本书及配套工具仅支持固定尺寸的 VHD,所以应在此界面选择"固定大小"。

以上就是创建一台虚拟机要经历的步骤。当点击"创建"按钮时,刚刚创建的虚拟机 lizhong 就会显示在 VirtualBox 控制台里,如图所示。

图 6 虚拟机创建完成后的控制台

图 6 虚拟机创建完成后的控制台

5. 把编译后的指令写入主引导扇区

我们已经安装了 VirtualBox 虚拟机软件,并在它里面创建了一台名为 lizhong 的虚拟计算机,同时还为它创建了一块虚拟硬盘。虚拟硬盘其实是一个扩展名为 .vhd 的文件,具体的文件名和创建位置只有你自己知道。

首先,启动配书工具 FixVhdWr64.exe,然后选择虚拟硬盘文件。如果以前已经选择过,则不必再次选择,FixVhdWr 软件会自动打开它。注意,要写入的那个虚拟硬盘,必须是 VirtualBox 虚拟机使用的硬盘。

接着,要在数据文件选择区域添加刚才编译好的二进制文件(如 c06_mbr.bin),然后单击界面底部的功能按钮"写入"。

图 7 Vhd Writer 写入界面

图 7 Vhd Writer 写入界面

6. 启动虚拟机观察运行结果

在 VirtualBox 软件的主界面上,选择"lizhong"计算机,然后单击"启动"按钮。如果一切顺利的话,程序的运行效果将会显示在虚拟机屏幕上。