用 VMware Workstation 安装 Ubuntu 12.04 LTS 简明教程

这篇文章主要是课程取向的,所以才会使用一个已经超出生命周期的 32 位 Ubuntu 版本。在对自己的水平有些许信心后,更建议安装仍提供 32 位版本的 Debian 最新版,即 Debian 11。新的系统有更好的软件支持,更安全,也更加易用。

选择 VMware Workstation 主要是个人认为因为它的操作对小白较友好。本文以 VMware Workstation Pro 16.2.2 和 Windows 11 为例,最近几个 VMware 版本和 Windows 10 操作基本相同。

折叠框中的内容,是我认为可以帮助理解的补充知识,但不看这部分不影响你按照步骤装好一个虚拟机。如果还有疑问,欢迎评论。

什么是虚拟机?

如果你读过《三体 III:死神永生》,你大概记得其中出现了一个小型的宇宙,物质来源于最初的大宇宙,当中有智子等人,与大宇宙隔离,独立生活。有一天,探测到由于小型宇宙带走了太多的物质,导致大宇宙的物质不够,需要将小型宇宙的物质移回大宇宙才能让宇宙继续存在(记得可能不准确,欢迎指正)。

虚拟机是同样的道理,它划走物理机的一部分硬件而创造出一个以假乱真而又几乎完全隔离小型的物理机形态,你可以在上面跟物理机一样安装操作系统,研究程序原理,打游戏,做你想做的事情。虚拟机就相当于小型宇宙,而物理机相当于大宇宙,当虚拟机占用太大的时候,物理机也是会带不动的。
对于 CPU、内存和显卡,VMware Workstation Pro 的虚拟化技术是将虚拟机占用作为一个进程;对于网络,是在物理机上安装虚拟网卡,模拟虚拟机连接到物理机网络上;而对于硬盘,使用文件模拟,这使得虚拟机可以拷贝、移动,当成一些文件来对待。

什么是 Ubuntu?

Linux(严谨点,GNU/Linux)是 Linus Torvalds 由 Unix 得到灵感,编写的开源自由的系统,它属于 “类 Unix”。我们熟悉的 macOS 就是 Unix 的一个分支,Debian Foundation 基于 Linux 开发了 Debian,而 Canonical 基于 Debian 开发了 Ubuntu。
Debian、Ubuntu 和其他一些系统如 Arch Linux、Alpine、Kali Linux 等统称为 Linux 的发行版,意为包装好供用户使用的 Linux 版本。如果你对 Unix 系统的历史知识有些兴趣,可以看一下下面这张图。

Unix 系统演化图

Unix 系统演化图。版权信息:Eraserhead1, Infinity0, Sav_vas, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons

环境准备

首先要从 Canonical 网站 下载 Ubuntu 12.04 LTS 的镜像。在下面的列表中找到 ubuntu-12.04.5-desktop-i386.iso,然后点击此链接即可下载。”创建虚拟机“之前能够下载完成就行了。

然后从 VMware 网站找到 Workstation 16 Pro for Windows 并点击 Download Now。

VMware Workstation 安装包下载之后,打开安装包,同意许可协议。

安装位置可以任选,“增强型键盘驱动程序”和 “添加到 PATH” 也可以任选,我印象里 VMware 的命令行程序用得不多,所以不需要加到 PATH 中。

“启动时检查更新”和 “加入用户体验计划” 按需选择。

创建两个快捷方式按需选择。

最后,点击安装即可安装。

第一次打开 VMware 的时候应该会提示激活。激活码请自行搜索寻找,如财力雄厚建议入正。

创建虚拟机

VMware Workstation 左上角文件 - 新建虚拟机。

类型选择典型。

” 安装客户机操作系统 “时,选择”稍后安装操作系统“-”Linux“-”Ubuntu“。如果你让 VMware 帮你安装,后续调整中文的操作可能有困难。

”虚拟机名称”和 “路径” 可以自行决定,但个人建议本路径下保证 50GB 左右空闲。我们需要划出大量空间作为虚拟机的硬盘,虽然不会立即全部占满,但最好还是留有空余。

“最大磁盘大小 “我填写了 45GB,读者也可以按需填写。这个值后期可以扩大,但需要使用分区工具同步扩大系统分区,有一定的学习成本,所以建议一开始就做得大一点。是否拆分多个文件,也是按需选择。

下一步后,点击”自定义硬件 “。” 内存 “设定最大 4GB 即可,因大部分人电脑都是 16GB RAM,不缺这 4G;” 处理器 “中” 每个处理器的内核数量 “建议设定为你的处理器线程数量,这个可以在任务管理器 - 性能 - CPU 的” 逻辑处理器 “查看。” 新 CD/DVD(SATA)“选择”使用 ISO 映像文件“,浏览你的 Ubuntu ISO 镜像(就是之前下载的 ubuntu-12.04.5-xxxxxxx.iso)并选择它,然后勾选“启动时连接”。

为什么是 4GB?

因为 32 位计算机最大寻址范围就是 4GB,即 $2^{32}Bytes=4294967296Bytes=4GBytes$。更大的内存空间在正常情况下无法被 32 位系统利用,加了也相当于没加。
实际上还有硬件所需的一部分寻址空间,导致可用内存低于 4GB。但一般情况下,设置的上限直接当成 4GB 就行了。

点击关闭 - 完成,虚拟机就创建好了。

安装操作系统

我们现在创建的虚拟机是完全空白的,里面什么都没有,而我们需要的正是把 Ubuntu 12.04 LTS 装进去。

直接点左上方的开机。因为硬盘中没有东西可以启动,而我们又连接了 ISO 文件作为光盘(可以直接想象成一个光盘刻有 Ubuntu 镜像,放入虚拟机的光驱中。什么,你不会不知道光盘是啥吧?),就可以从光盘启动,具体原理应该后面会讲。

在第一个页面,先在左边选择中文简体,再选择” 安装 Ubuntu“。

欢迎页面

“安装中下载更新” 可选可不选,反正软件源已经停止服务了(见下文)。“安装这个第三方软件” 建议选择。

准备安装

选择 “清除整个磁盘并安装 Ubuntu”,继续。不用害怕,清除的只是虚拟机的硬盘,不会对你的其他文件造成任何影响。然后直接点击 “现在安装”。

安装类型选择

在安装的过程中,会有一些设置需要你完成。”你在什么地方 “对话框,你可以填入你的城市名,也可以直接选 Shanghai,没有区别。” 键盘布局“直接下一步,反正不自带中文输入法,跳过。

您在什么地方?

“您是谁” 中,填入姓名(可以随便填)、计算机名(会展示在终端中,不重要)、用户名(默认用户)和密码。密码一定要记住。 是否自动登录看你心情,但个人倾向于不加密主目录。

您是谁?

Linux 的用户管理机制

Linux 系统中,有一个 root 账户,拥有系统最高权限,类似于 Windows 的 Administrator 超级管理员账户。其他的用户没有 root 用户这样的权限,但在将他们加入 sudoer 列表之后,他们能够使用 sudo 命令暂时获得 root 用户的权限,执行一部分命令。这些用户也可以使用 su 命令切换到 root 用户。
Ubuntu 默认不开放 root 账户登录,官方更推荐在每个需要的命令前加上 sudo。
也或许你听说过 Android 系统获取 root 权限的说法,
参见 维基百科

点击继续,Ubuntu 会继续安装系统。当提示”安装完毕 “时,点击下方 VMware 的提示框中的” 我已完成安装 “,然后点击” 现在重启“。

确认右下角光盘图标旁没有绿点,然后按下回车。如果重启后提示 “remove installation media and press enter” 等文字,右键右下角光盘图标,点击断开,然后在虚拟机中回车。

请注意:如果你的鼠标在虚拟机窗口内,但却是 Windows 小手样式,说明你的输入没有被发送到虚拟机中。只有在窗口中点一下之后,你按 Enter 才会被 Ubuntu 捕捉到。可以使用 Ctrl+Alt 来切换输入发送到虚拟机中或是物理机中。

之后系统就会开始自动登录。输入密码登录后大概是这个样子。

首次登陆后界面

根据 Ubuntu 的发布周期,显然这个版本是已经不受支持的。但如果你想和老师的步调尽量保持一致,同时对自己解决不同版本之间问题的能力完全没有信心,不要升级 14.04。

安装软件

到现在,系统已经装好了,但我强烈建议做一下以下的操作。

以下要输入的内容较多,由于虚拟机和物理机默认不共享剪贴板,建议先在虚拟机内部的 Firefox 中打开本网页,然后复制所需的部分。

安装 VMware Tools

这个东西可以显著增强虚拟机的流畅度。在比较旧的 Ubuntu 中,我们需要手动安装。

如果 VMware 提示安装 Tools,点击安装。如果没有弹出,也可以使用顶部” 虚拟机 - 安装 VMware Tools“选项来启动这个过程。

正常情况下应该会弹出一个文件管理器窗口,没有的话也可以点击左边 Dock 栏的的 DVD 图标打开。复制里面的 tar.gz 文件,点击窗口左侧的 “主文件夹”,在这里粘贴。

Linux 的文件系统

Linux 与 Windows 不同,并不靠盘符区分硬盘分区,而是将所有东西放到一个主目录中。默认只有系统所在的分区会包含在其中,其他分区依靠一种称为 “挂载”(mounting)的机制。
在这之前需要说明,在 Linux 中遵循 “万物皆文件” 的原则,其他的分区、传感器接收的数据、键盘输入,甚至随机熵等都是以文件形式表示的,这个我也不太理解,知道就行。
所谓挂载,就是将主目录中的一个路径指定为访问另一个分区的根目录。如果你是 Windows 用户,可以想象一下电脑只留一个 C 盘,D 盘本来是不会显示的,但你指定了一个目录如 C:\DiskD\ 来指向原来的 D:\,对 D 盘的读写则必须通过上面的路径来达到。
值得一提的是,现在已经有自动挂载机制了,所以其他分区和 U 盘之类的设备都会自动挂载到系统上,大部分时候不需要自行配置。
一个路径以 / 开头,指的是绝对路径,从根目录开始算起;若没有 /,或是./,则是相对路径,从当前目录开始算起。
root 用户的用户目录是 / root/,而其他用户的目录是 / usr / 用户名 /。上文的 “主文件夹” 就是 / usr / 用户名 / home/。因为虚拟光驱中的文件无法写入,所以需要使用这种方式。

在桌面按下 Ctrl+Alt+T 打开终端,依次(指上一个命令执行完毕后,再输下一个)输入以下命令(井号开头的部分都是注释,无需输入;文件名可能有差异,请留意):

bash
1
2
3
tar -zxvf VMwareTools-10.3.23-16594550.tar.gz # 解压 VMware Tools 工具
cd vmware-tools-distrib/ # 进入解压后的文件夹
sudo ./vmware-install.pl # 调用 root 权限(sudo)执行安装脚本。在 Linux 中,可执行文件的扩展名并没有严格限制

Shell 和 Terminal

详见 https://blog.csdn.net/weixin_38214171/article/details/90050340

然后输入你的用户密码(字符不可见),回车,就可以开始安装了。遇到任何提示都可以直接回车,保持默认选项不变。

更换软件源并升级软件包

为了安装软件和安全更新,需要换源。

APT 和软件源

有一种程序叫做 “包管理器”。顾名思义,这类程序的作用就是管理软件。在 Windows 上有 winget,在 macOS 上有 Homebrew,而对于 Debian 和基于此的 Ubuntu,默认的包管理器是 apt。
apt 在更新列表(update)、升级应用(upgrade)、安装应用(install)的时候,会访问软件源,并从其中获取相应的资源。软件源的列表存储于 / etc/apt/sources.list。
上面已经说过,Ubuntu 12.04 已经不受支持,所以官方默认软件源已经不再提供服务,但 Ubuntu 有 old-releases 软件源(参见 官方文档)。
在新版本中,也推荐进行换源操作,以加速访问,比较著名的有 清华源中科大 源(请勿使用 Ubuntu 12.04 的清华源,可能有些问题)。

输入以下命令。

bash
1
2
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 备份原软件源列表
sudo gedit /etc/apt/sources.list

在弹出的窗口中,将文件内容全部删除,替换为:

text
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
deb http://old-releases.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ precise-proposed main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-security main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse

这是 Ubuntu 12.04 的 软件源 archive。完成后,使用 Ctrl+S 保存,然后关闭。对于不同的 Ubuntu 版本,请使用不同的软件源;一个比较简单的判断方法是查看版本代号,如 12.04 是 Precise,14.04 是 Trusty,20.04 是 Focal,22.04 是 Jammy,如果不含你的版本对应代号,一定不能直接使用。

虽然这是一个停止支持的 Ubuntu 版本,但还是建议将软件包更新到最新版本。

为加速访问,如果已有 HTTP 代理服务器,可以先 参照这里 设置代理,具体请自行研究。

在终端中依次输入

bash
1
2
sudo apt-get update
sudo apt-get upgrade

如果第一步报错,请检查 sources.list 是否输入正确。如果提示 “您希望继续执行吗”,输入 y 并回车。如果提示” 有几个包无法下载“,则重新执行上述第一条命令。

安装中文输入法

如你所见我们的 Ubuntu 是打不了中文的。而桌面等文件夹默认就是用中文命名的,现在连个桌面都 cd 不进去,所以当然要安装中文输入法。

在终端执行以下命令以安装 fcitx:

bash
1
sudo apt-get install "fcitx"

然后点击顶部状态栏右边的键盘图标,选择” 汉语 - Pinyin“,就可以切换中文输入法了。可以发现,右上角的键盘已经变成了 “拼”。

中文输入法效果

还是没搞懂?这里有成品

如果你实在是不会安装,可以使用我按照上面步骤预先安装好的虚拟机文件,在 VMware Workstation Pro 16.2.2 上实测可用,链接如下,用户名和密码均为 cyp0633。但我仍然建议先尝试自行安装,这对你的学习也有益,也给我服务器省点流量。

https://drive.cyp0633.icu/s/d4H0

虚拟机本体使用分卷压缩,包含 3 个文件共 2.01GB,请全部下载解压,打开其中的 vmx 文件即可使用,强烈建议使用 SHA-256 做 checksum。

附录:一些建议 / 提醒

  • 请尽量适应终端命令行操作为主,GUI 界面为辅的方式,在 Linux 上这样效率非常高。
  • 如果你有任何问题,请 Google/Bing。若能翻译成英语再搜索,则能搜索到 Stack Overflow 等网站的大佬的解答。
  • Linux 的软件包管理机制和文件管理机制,与 Windows 有非常大不同,而与 macOS 比较相似。
  • 虚拟机的 “快照” 功能十分有用,它类似于 Git 的 label 机制,可以在发现问题时快速回到之前保存过的状态,非常适合试病毒。

参考文献