admin 管理员组

文章数量: 887021


2023年12月24日发(作者:滑轨十大品牌)

VirtualBox安装Ubuntu Linux From How to Why

Revision 1.0.3

Kevin Lin

教程篇幅较长,仅为完成安装过程可以只参考“怎么做”部分,由深红色字灰色底纹标记。

Contact me:

nichollyn@.

1 获取VirtualBox和Ubuntu Linux

VirtualBox是开源软件,个人用户可以免费使用。一句话描述VirtualBox的功能:它类似一个“模拟器”,你可以当前系统上运行这个“模拟器 ”,然后在这个“模拟器”里运行另一个操作系统。

通过/wiki/Downloads 下载 VirtualBox二进制安装文件。请下载相应的版本,例如在Windows下安装,下载 for Windows x86/amd64的版本。VirtualBox内嵌多国语言包,安装时注意选择语言为简体中文。

Ubuntu是众多Linux发行版中最流行的一种,也是公认用户体验最好的Linux版本之一。其桌面版永久免费,一般每年的4月和10月会更新一个版本,每个版本提供长达三年的维护期。目前的最新版是2010年4月底发布的Ubuntu-10.04。

可以从下面的官方网站链接获取最新的Ubuntu桌面版(Ubuntu还有服务器版,上网本使用的版本)。同Windows不一样,你不用去下载专门的语言包,而且也没有提供所谓的中文版,因为不需要,所有的语言翻译在安装镜像里有部分必要的支持。系统安装完毕后,可以通过更新获得完整的中文化环境。

/desktop/get-ubuntu/download

下载的操作系统镜像文件名为: , 这种大小在700MiB左右的镜像官方称为Live CD,因为你可以直接用这个镜像刻录的CD试用Ubuntu(CD启动菜单的第一项通常就是试用,第二项是安装),还可以用这个CD作系统维护盘(类似Windows PE,比PE更好用)。一些其他的Linux发行版还提供4GiB左右大小的DVD版本镜像,可以收纳更多的软件包,例如openSUSE。

必须了解的知识

Linux下安装型的软件有两大类,一类是在被称为“源”的软件仓库服务器中有收录的软件,另一类是第三方提供的软件包,例如google的软件。在现代Linux发行版中,无论是哪类软件,安装和卸载通常都是通过软件包管理器进行的。你只要告诉软件包管理器你想要做什么,所有的细节工作都由软件包管理器自动完成。

在Debian系的Linux中(Ubuntu也属于Debian系),这个软件包管理器的图形前端的程序名叫做新得利软件包管理器( synpatic),后端调用的是apt-get。如果喜欢图形界面的操作,

一般使用新得利软件包管理器(现在新版的Ubuntu是通过“Ubuntu软件中心”这个菜单来调出软件包管理界面),如果喜欢使用命令行的操作,一般就用apt-get或者aptitude。

Linux是开源操作系统,同Windows相比的一个具大优点就是有无数免费的、开源的软件为它而生,其中一些很优秀的软件甚至还移植到了Windows平台下。并且通过软件包管理器的方式,Linux下的软件管理比Windows更加方便:你不用费心到处去各个网站下载软件,只要软件仓库里有收录,你可以直接在一个集中式的“大超市”选择软件,然后告诉软件包管理器你想要或者不要什么,软件包管理器会为你完成所有的必要的工作(解决依赖关系,下载,编译,安装,卸载,删除不再使用的依赖文件等等)。

软件包管理器能够正常运作的前提是你拥有网络。因此,Linux是极其依赖网络的操作系统,尤其是新系统刚安装完成的时候,你可能有好多软件和更新需要安装。

当然,Linux也可以像Windows那样通过本地的一个安装包程序来安装软件,并且由于一些软件不可能收录在软件仓库里(例如私人写的小软件,商业公司发布的软件等等没有通过开源社区发布和维护的软件),这种机制是必须保留的(软件包管理器诞生以前,Linux下软件的安装和卸载对一般用户是很痛苦的事情)。

本地安装也有两种方式,一种是普通用户也常会使用的:下载deb软件包(针对Debian系Linux而言,如果是别的Linux发行版,例如fedora, openSUSE则是rpm包)来安装。这种安装方式实际上和通过软件包管理器安装很接近,只不过是将要安装的包先自己下到本地,然后手动点击安装(软件包管理器同样会维护通过这种方式安装的软件)。另一种方式是自己下载源代码( Source Code),编译并安装,需要对shell脚本甚至特定的编程语言有一定的了解。

2 新建虚拟机

当前物理硬盘上运行的操作系统称为Host, 虚拟机里运行的操作系统称为Guest.

VirtualBox目前可以运行在包括Linux, Mac OS X, Windows XP, Windows Vista, Windows 7

和Solaris等Host之上,支持的Guest范围更广。

以下将通过图文介绍安装一个Ubuntu虚拟机的详细过程。

启动VirtualBox程序,主界面上可以看到你安装的虚拟机的列表。如前所述,VirtualBox支持Guest种类很齐全,Linux常见的发行版都有支持。如图,这里已经有两个虚拟机,

每个虚拟机需要使用一块虚拟硬盘,这个虚拟硬盘在实际的物理硬盘上表现为一个后缀名为.vdi的文件。你可以认为一个.vdi文件就是一个虚拟机。

点击VirtualBox程序界面的“新建”按钮准备建立一个新的虚拟机:

点击“下一步”按钮,为将要建立的Guest虚拟机选择操作系统类型和名字。

这里选择操作系统为Linux, 版本为Ubuntu。

下一步选择为要为虚拟机分配可用内存大小,它是指虚拟机操作系统运行起来后,最大可以从物理内存中分走的容量。对于每种不同的Guest,VirtualBox会有一个建议的大小。可用内存大小会影响虚拟机和主机的运行效果,依照你实际的使用情况分配。这个数值在该虚拟机不在运行的情况下可以在设置里面调整。

下一步选择这个虚拟机使用的虚拟硬盘(这个硬盘可以是从别的地方拷贝过来已经装有操作系统的虚拟硬盘),这里我们选择创建新的虚拟硬盘。

下一步进入“新建虚拟磁盘向导”

下一步选择“虚拟磁盘类型”,除非对性能有特殊要求,一般选择动态扩展。这种方式一开始只分配必须的容量,随着使用的需要而动态分配。

下一步选择虚拟硬盘文件存放的位置和虚拟磁盘的大小。Windows下虚拟磁盘文件的默认存放位置是在系统盘VirtualBox的数据文件下,建议更改到非系统分区的位置,因为虚拟硬盘文件一般是GB级别的大文件。大小可以设置的大一些,因为前面已经选择了动态扩展,所以这里分配的大小只是上限,不会立刻从物理硬盘中分配。

(ps: 虚拟机文件虽然有设置上限,但是如果实际的物理硬盘已经没有空间再分配给虚拟机用作扩展之用,VirtualBox并不会发出警告,所以如果你在使用虚拟机的过程中发现一些莫名其妙的文件级读写错误,有可能是因为物理硬盘空间已经用完了)。因此,存放虚拟硬盘文件的分区最好有足够多的空闲空间。

点击“位置”右边的文件夹浏览按钮选择自定义的存放位置

为虚拟磁盘文件取个名字,不需要.vdi后缀(会自动添加),点击保存。

确定新的位置:

需要了解的知识

虚拟硬盘文件会随着虚拟机的使用不断增大(即便你在虚拟机的系统里面删除了文件,虚拟硬盘文件容量不会回缩。原理涉及到虚拟机软件的一些实现机制,这里不作介绍。虽然有软件可以处理虚拟硬盘文件释放空间,但一般情况无此必要,这里也不作介绍。

实际上虚拟机通常被用在软件开发、科研以及个人的学习,临时性使用等用途,不宜将重要数据存放在虚拟机中。

由于你在虚拟机里任何操作一般情况下只对虚拟机里的操作系统造成影响而不会对主机的磁盘空间造成影响,因此虚拟机适合用来“倒腾”,不怕弄坏。另外,虚拟机软件一般都提供“快照”(snapshot)功能来记录某个时刻虚拟机的状态,类似实际系统的备份功能(Ghost之类)。在 VirtualBox中,你可以通过“快速修复”菜单里的功能来创建快照和恢复到某个快照。

点击下一步进入确认建立虚拟磁盘对话框

点击“完成”进入确认建立虚拟电脑对话框

最后点击“完成”,新建Ubuntu虚拟机的过程就完成了。可以看到虚拟机列表里多出了一个名叫ubuntu-10.04的虚拟机。这个虚拟机现在还不能运行,接下来我们要为它安装Ubuntu操作系统。

3 为虚拟机安装操作系统

Ubuntu的安装过程很简单,如果是在已经安装有一个以上操作系统(如Windows)的物理硬盘上安装Ubuntu,需要注意分区的问题,暂不作介绍。这里是在虚拟机里安装,你可以使用整块虚拟硬盘。

安装之前,我们要准备好镜像文件,然后作一些设置,让新虚拟机可以找到这个镜像文件。

虚拟机处于“关闭”状态时,可以对它的属性进行一些设置。选择刚才新建的ubuntu-10.04虚拟机,点击“设置”出现“ubuntu-10.04 – 设置”对话框,这些设置信息暂不作介绍,平时会用到的一般是安装操作系统时需要用到的“介质”菜单,网络环境经常变化时需要用到的“网络”菜单。

点击“介质”标签,看到“IDE控制器”下面显示“没有盘片”,这个相当于一个虚拟光驱。

点击右边的虚拟机光驱右边的文件夹浏览按钮,出现“虚拟介质管理器”对话框。可以看到已经有一个“”注册过了。暂时不用管,后面要用到它。

点击“注册”按钮,出现“选择一个虚拟光盘”的文件浏览对话框,定位到我们的ubuntu的镜像文件(我这里截图时实际用的是改名过的)。

点击“打开”把ubuntu镜像文件注册到虚拟介质管理器中。

确保选中的是刚刚注册的ubuntu镜像,点击“选择”,可以看到虚拟光驱现在选择了盘片“”。这个过程类似在物理光驱里插入你的系统安装盘。

点击“确定”退出设置对话框,回到VirtualBox程序主界面。现在可以开始安装新系统了。

选择虚拟机ubuntu-10.04,点击“开始”,虚拟机将开始运行,并出现一个虚拟机运行窗口。该虚拟机运行窗口的状态栏有许多代表设备的图标,每个图标还提供相关的右键菜单。这个虚拟机窗口会自动捕捉鼠标,键盘等输入,VirtualBox默认是通过键盘上右边的Ctrl键切换主机和虚拟机对键盘、鼠标输入的控制权。(稍后将介绍如何让虚拟机里的系统按照实际的屏幕尺度全屏显示,以及如何使主机和虚拟机之间“无缝”切换)。

由于虚拟光驱里有系统安装盘片,而虚拟硬盘上还尚未安装任何操作系统,虚拟机启动后将直接通过安装盘引导。

通过键盘选择语言为中文,之后会出现Live CD的主菜单,选择“安装Ubuntu(I)”

回车确认后进入安装向导,Ubuntu的安装向导只有7步,在物理硬盘上安装时第4步和第7步与分区和引导相关的设置需要安装者了解必要的操作系统分区和引导的知识。

第1步是选择你想要使用的语言环境(Live CD容量有限,通常不会收纳完整的语言包,因此刚刚安装完毕的操作系统界面本地化是不完全的,可以通过更新来完善)。

第2步是选择“时区”,可以通过下拉列表选择或者在世界地图上点击你所在的位置。

第3步是选择键盘布局,这一步会根据前面选择的语言环境提供一个建议选项。如果你的键盘布局比较特殊,可以手动重选或者让Ubuntu猜测。

第4步是选择Ubuntu要安装的位置。由于是在虚拟硬盘中安装,简单起见都是选择独占硬盘(因为只要内存充裕,虚拟机可以运行多个实例,所以没有必要在虚拟硬盘中安装多系统)。

如果硬盘上已经安装有操作系统,Ubuntu会自动检测到这个系统并提供一个建议的安装位置。在已经安装有操作系统的物理硬盘上安装Ubuntu时,建议位置和手动指定分区(高级)是常用的选择。建议至少在了解基本的分区和引导知识的情况下,执行安装多系统的操作。因为难免会有误操作的时候,所以事先备份数据是良好的习惯。

第5步是设置名字,登录名,密码和计算机名称。注意名字是指用户姓名,通常用于对外描述。登录名是实际使用的账户名(登录系统,shell使用)。

需要了解的知识

UNIX/Linux是真正的多用户操作系统,可以同时接受多个用户的远程和本地登录,也允许同一个用户多次登录。(宽泛的讲,较新的某些Windows版本也是多用户的,但是图形前台只允许一个用户连接,远程桌面功能也较弱,并不能像UNIX/Linux那样真正做到多人同时使用一个操作系统而不干扰别人的工作环境。

UNIX/Linux系统中,有一个叫做root的超级用户,这个用户对整个系统具有完全的控制权,早期使用UNIX/Linux时要进行涉及系统和公共目录的操作时,一般要切换为root或者其他拥有相关权限的用户。现在Linux系统引入sudo程序后,可以允许某些特定的用户(sudoer)通过sudo临时性的取得root权限执行特定操作,这样做是出于安全性和用户使用方便的考虑。在安装系统时建立的账户就是一个sudoer,平时这个账户只拥有普通权限,因而不会因为误操作损坏系统或者其他用户的数据。在明确知道自己正在进行的操作的前提下,通过“sudo <需要root权限的操作命令>”的方式来临时性的充当系统管理员的角色。执行sudo命令需要提供你自己的密码,当然,操作不一定要用命令行执行,在图形界面执行需要root权限的动作时也会要求输入你自己的密码(相当于一次sudo的授权)。一句话概括要用到sudo的场景——对不属于本用户的目录(基本上,完全属于你自己的目录只有”/home/你的用户名”)进行写操作,包括安装或者卸载软件(大部分情况下,软件是自动安装在特定目录),更改某些系统设置,访问别人的文件目录等等。

像Ubuntu, Fedora等发行版默认情况下是不允许root用户登录到图形用户界面的,这也是

出于安全性的考虑。如果有需要,可以通过修改某些配置文件允许root登录到图形用户界面。

由于第4步选择了“清空并使用整块硬盘”,第6步会被跳过而来到第7步。注意到有一个“高级”按钮,点击将打开一个关于安装引导和网络代理的设置对话框,默认是将引导安装到当前硬盘的主引导记录中,采用主引导记录引导模式的安装方案还可以将这个位置设置为Ubuntu系统所在的分区(即Ubuntu的引导分区)。如果你的计算机需要通过代理连接外网,需要在代理中设置代理服务器IP地址,端口。有认证的还要提供用户名和密码。

Ps: 现在PC机上的引导模式一般都还是采用主引导记录方式(MBR),但是像苹果公司的mac采用的是较新的全局分区表模式,如果要在mac上安装多系统,会比在PC上安装多系统复杂一些,涉及到混合分区模式。

关于主引导记录模式的相关术语,可以参考这篇文章:

/post/

需要了解的知识

在UNIX/Linux下,整个计算机的资源都被整合成一个具有根节点(用符号“/”表示)的树形结构(它是一个逻辑上的结构), 所有资源都被看作文件,会被分配一个以“/”开头的节点路径,这里所说的资源当然也包括物理设备,例如硬盘。给资源分配符号的动作称为“挂载”。这个名词其实并不神秘,在其他操作系统也有类似的动作,只不过不这么叫而已,Windows系统上插入U盘自动分配一个盘符的过程就类似于“挂载”。个人理解,“挂载”本质上是一个将物理设备同抽象数据结构相映射的过程。

IDE硬盘在UNIX/Linux中用符号hd表示,SATA硬盘在UNIX/Linux中用符号sd表示,在hd或者sd后再加上字母表示是哪一块硬盘。例如,你的机器上装有两块SATA硬盘,那么主硬盘的符号是sda, 从硬盘的符号是sdb,如果还有可移动磁盘(包括硬盘,U盘等)连入,那么这些设备依次就是sdc,sdd,……。在sda或者hda后再加一个数字,表示的是主硬盘的第几个分区,从0开始计数,例如sda1表示的是主硬盘的第二个分区。

通过把计算机上的资源(包括本地设备,远程设备,远程文件系统等)以自动或者手动的方式挂载到整个文件系统的特定或者自定义的节点(节点通俗一点的说法是“目录”)上,UNIX/Linux才得以使用这些资源。在系统启动过程中,本地设备都会被挂载到预先设定好的文件系统中的某个目录。系统在运行过程中,如果有新的可识别的外部设备接入计算机也会被自动挂载。早年Linux可能需要手工挂载诸如U盘之类的热拔插设备,现在面向桌面用户的Linux发行版已经不存在这样的问题。因此,虽然挂载是非常频繁的动作,普通用户很少甚至不需要执行手动挂载的操作。

不同类型的操作系统使用的文件系统格式不一样,UNIX/Linux的文件系统格式有ext2/ext3/ext4。在Windows下通过安装某些工具软件可以实现读写ext2,读取ext3,ext4目前暂时没有支持。而在Ubuntu Linux下,可以直接读写WindowsFAT32, NTFS文件系统。因此,如果安装多系统的话,可以考虑把公共数据放在一个NTFS格式的分区中,这样无论使用哪个系统都可以访问这些数据。

另外,Linux在安装时会划分一种称为swap的分区,大小一般与内存相当或者是其两倍。这个交换分区相当于Windows下的虚拟磁盘文件。不过,如果内存足够充裕,不分配这个交换分区也没有关系。

外传

个人理解,整个UNIX/Linux文件系统是一个有根的树形结构,这种结构跟Windows的C,D,E,……多分区结构只是在逻辑结构上不同(其实注册表也是树形结构,C,D,E,……只是方便最终用户的表象),在物理上硬盘都是分区式的链式结构。

我曾经认为,分区的主要意义在于隔离系统和数据。很多Linux老手建议安装Linux时将/home挂载到单独的分区,因为/home下面存放的是用户数据,这跟很多Windows用户的使用习惯:分至少两个以上盘,并且一般不往系统盘放个人数据是一样的道理。(可是一直以来,Windows都把数据的默认位置设置为诸如系统分区的Document and Settings(XP), Users(Vista和Windows7)下面,您倒是叫我怎么隔离啊?当然,Windows在安装时不提供设置,自然只能有一个默认值。后来有一天终于发现My Documents之类的文件夹可以直接移到别的位置。但是,终归不爽,于是坚持分区的习惯,同时无视默认的文档存放目录,直到后来遇到了Mac OS X,发现系统默认的资料夹可以提供一些额外的便利。Windows7也有,XP其实也有,下载保存文件自动打开My Documents算不算一个?杯具啊)。

索性,现在买电脑预装的操作系统都只有一个分区了。有人说过:“分区做什么,我从来不分区”——这句话你懂的。

上面这句话我自己也一度认为是正确的。再后来,我又相信分区是有意义的——很显然是有意义的。是的,如果我要安装多个操作系统,严格的说,是多种操作系统,可以只用一个分区实现吗?显然不能。

因此,说自己从来不分区的人大概都只用一种操作系统。

你说什么?虚拟机?还有这种东西?好吧,我承认上面那个断言从逻辑上来说是不严密的。

如果MS能纠正那个杯具,让用户可以在安装系统时能让用户自己设置主目录,那么分区会是一件很美好的事情。当然,这只是我的个人口味,几乎所有的操作系统都倾向于认为自己是独占硬盘的,Mac OS X和Windows尤其如此。

点击“安装”完成安装向导,开始安装过程。如果是初次尝试安装Ubuntu Linux的话,可以留心安装过程中出现的介绍。

安装过程进行到一定步骤会有联网过程,如果网络不可用,可以点击“跳过”继续安装。

安装完成后出现对话框提示安装完毕,需要重启。

点击对话框里的“现在重启”按钮,虚拟机将重新启动。这里要注意一点,虚拟硬盘已经安装有操作系统后,虚拟光驱里的安装盘片就可以退出了,否则每次启动都会加载安装光盘。点击状态栏的光盘图标取消勾选Ubuntu镜像文件。

登录刚刚安装好的系统。稍后有两件事情需要完成以帮助我们更好地使用这个虚拟机。

首先是中文环境。如果语言支持不完整,Ubuntu会自动检测到这种情况并发出提醒。

可以点击提示对话框里的“Run this action now(现在运行这个操作)”按钮或者随时通过面板(panel,你看到位于上方和下方的两个菜单栏都是面板,类似于Windows下的任务栏,不过功能更强并且可以充分定制)运行System(系统)->Administration(系统管理)->Language Support(语言支持)菜单。只要网络可用,软件管理器会自动下载并安装语言包,输入法,字库等相关的本地化资源。

语言支持更新完毕后注销系统,重新登录就可以看到用户界面也已经中文化了。

Ubuntu10默认采用的输入法引擎是iBus,可以通过“系统”->“首选项”->“iBus首选项”对输入法进行详细设置。

选择“iBus首选项”对话框的“输入法”标签,默认有许多种汉语输入法(不知道怎么用,也没去研究,囧),全部删掉,从“选择输入法”中选择“汉语”,然后在所有可选的汉语输入法中找到 汉语 – Pinyin,点击“添加”,如截图所示。个人感觉比较好用。

其次是解决前面提到的“无缝”切换问题,刚刚安装完成的虚拟机Guest系统和主机系统之间切换时需要用到右Ctrl键,比较麻烦。并且Guest系统还不能很好地适应当前的显示器,主机和Guest之间也不能共享剪切板。

需要了解的知识

虚拟机里的设备都是VirtualBox通过软件手段模拟出来的,Guest系统要想更好地利用主机的硬件设备,需要安装VirtualBox提供的针对Guest系统的特定驱动。显然,这个驱动要在虚拟机已经安装好Guest操作系统后才能进行。

在VirtualBox中,这个针对特定Guest操作系统的驱动被称为“增强功能”,也是通过挂载VirtualBox是对Guest系统的支持范围是持续维护的,因此随着一些Guest操作系统推出新到虚拟光驱中来进行安装。

版本,VirtualBox也会推出新版本,特别是增强功能的效果与版本直接相关。如果你要安装的Guest系统属于比较新的操作系统,也建议使用更新的VirtualBox。

点击菜单栏“设备”->“安装增强功能(I)”

此时可以看见状态栏虚拟光驱图标启用,并且有一个名称为“”的镜像被选中。点击Ubuntu系统里的“位置”菜单可以看到扫描到的光盘设备“VBOXADDITIONS_3.2.4_”(具体的版本号与你所使用的VirtualBox版本有关。)

点击这个光盘设备,它将被挂载,桌面上会出现图标,进入这个光盘浏览其中的内容,选择正确的执行程序来安装增强功能包。如果你的Guest操作系统是Linux,那么选择VBoxLinuxAdditions-*.run的脚本,再看你主机的CPU架构,intel的选择x86,amd的选择amd64。

这里我们的Guest是Ubuntu,主机是x86的CPU。因此选择运行,如果自己不能确定的话,可以选择来自动测试自动选择。

安装完增强功能后重启虚拟机,可以看到Guest系统已经自动调整大小了。

此时可以按右Ctrl+F切换虚拟机运行窗口到全屏状态(切换回来也是同样的快捷键),Guest操作系统也会随着虚拟机窗体全屏而自动全屏。

增强功能安装完后就不再需要虚拟光驱里的盘片了,先在Ubuntu系统中右击光盘图标,点击“卸载”,然后在虚拟机运行窗体的状态栏的虚拟光驱菜单中取消勾选。


本文标签: 安装 系统 硬盘 软件 虚拟