Merge pull request #27694 from wxy/20210629-Try-Linux-on-any-operating-system-with-VirtualBox

RP:20210629 try linux on any operating system with virtual box
This commit is contained in:
Xingyu.Wang 2022-10-27 11:02:32 +08:00 committed by GitHub
commit 5b641a65cc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,15 +3,16 @@
[#]: author: (Stephan Avenwedde https://opensource.com/users/hansic99)
[#]: collector: (lujun9972)
[#]: translator: (chai001125)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-15183-1.html)
使用 VirtualBox 安装 Linux 虚拟机
======
VirtualBox 能帮助任何人(即使是命令行新手)安装一个新的虚拟机。
![Person programming on a laptop on a building][1]
> VirtualBox 能帮助任何人(即使是命令行新手)安装一个新的虚拟机。
![](https://img.linux.net.cn/data/attachment/album/202210/27/104215te6xpq2e2vvxprjs.jpg)
VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要有使用命令行的经验,就可以自己安装一个简单的 Linux 虚拟机。在虚拟机方面,我精通很多东西,但这篇文章将向新手展示如何安装一个 Linux 虚拟机。此外,这篇文章还概述了如何使用开源虚拟机管理程序 [VirtualBox][2] ,来运行以及安装一个测试目的的 Linux 系统。
@ -19,12 +20,12 @@ VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要
在开始之前你需要了解在本安装教程中的两个操作系统OS之间的区别
* **主机系统host system** 这指的是你安装 VirtualBox 的操作系统(即本机的操作系统)。
* **访客系统guest system** 这指的是你想要在主机系统之上运行的虚拟化系统。
* <ruby>主机系统<rt>host system</rt></ruby>这指的是你安装 VirtualBox 的操作系统(即本机的操作系统)。
* <ruby>客体系统<rt>guest system</rt></ruby>这指的是你想要在主机系统之上运行的虚拟化系统。
在输入/输出、网络、文件访问、剪贴板、音频和视频方面,主机系统和访客系统都必须能够交互。
在输入/输出、网络、文件访问、剪贴板、音频和视频方面,主机系统和客系统都必须能够交互。
在本教程中,我将使用 Windows 10 作为 _主机系统_[Fedora 33][3] 作为 _访客系统_。
在本教程中,我将使用 Windows 10 作为 _主机系统_[Fedora 33][3] 作为 _系统_。
### 安装前的准备
@ -37,40 +38,39 @@ VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要
### 准备虚拟机
下载你要用的 Linux 发行版的镜像文件。下载 32 位还是 64 位的操作系统映像都没有关系,因为在 32 位的主机系统上也可以启动 64 位的操作系统映像(当然内存的使用会受限),反之亦然。
下载你要用的 Linux 发行版的镜像文件。下载 32 位还是 64 位的操作系统镜像都没有关系,因为在 32 位的主机系统上也可以启动 64 位的操作系统镜像(当然内存的使用会受限),反之亦然。
> **注意事项:** 如果可以的话,请下载附带有 [逻辑卷管理器][6]LVM的 Linux 发行版。LVM 会将文件系统与物理硬盘驱动器解耦。如果你的空间不足时,这能够让你增加访客系统的硬盘驱动器的大小。
> **注意事项:** 如果可以的话,请下载附带有 [逻辑卷管理器][6]LVM的 Linux 发行版。LVM 会将文件系统与物理硬盘驱动器解耦。如果你的空间不足时,这能够让你增加客系统的硬盘驱动器的大小。
现在,打开 VirtualBox然后单击黄色的**新建**按钮:
现在,打开 VirtualBox然后单击黄色的<ruby>新建<rt>New</rt></ruby>按钮:
![VirtualBox New VM][7]
接下来,配置访客操作系统允许使用多少内存:
接下来,配置客操作系统允许使用多少内存:
![Set VM memory size][9]
我的建议是:**不要吝啬访客操作系统的内存!**
当访客操作系统的内存不足时访客系统将开始从随机存取存储器RAM转换到硬盘驱动器hard drive进行内存的分页这样会极大地恶化系统的性能和响应能力。如果底层的主机系统开始分页你很可能不会注意到。对于具有图形化桌面环境的 Linux 工作站系统,我建议至少分配 4GB 内存。
我的建议是:**不要吝啬分配给客体操作系统使用的内存!** 当客体操作系统的内存不足时客体系统将开始从随机存取存储器RAM向硬盘驱动器进行内存分页这样会极大地恶化系统的性能和响应能力。如果底层的主机系统开始分页你很可能不会注意到。对于具有图形化桌面环境的 Linux 工作站系统,我建议至少分配 4GB 内存。
接下来,创建虚拟磁盘:
![Create virtual hard disk][10]
虚拟磁盘的格式选择默认的选项 **VDIVirtualBox 磁盘映像)** 就可以了:
虚拟磁盘的格式选择默认的选项 “VDIVirtualBox 磁盘镜像)” 就可以了:
![Selecting hard disk file type][11]
在以下的窗口中,我建议选择**动态分配**,因为这允许你在之后增加虚拟磁盘的大小。如果你选择了**固定大小**,磁盘的速度可能会更快,但你将无法修改虚拟磁盘的大小了:
在以下的窗口中,我建议选择<ruby>动态分配<rt>dynamically allocated</rt></ruby>”,因为这允许你在之后增加虚拟磁盘的大小。如果你选择了“<ruby>固定大小<rt>fixed size</rt></ruby>,磁盘的速度可能会更快,但你将无法修改虚拟磁盘的大小了:
![Dynamically allocating hard disk][12]
建议你使用附带有逻辑卷管理器LVM的 Linux 发行版,这样你就可以先创建一个较小的硬盘。如果之后你的访客系统的空间快用完了,你可以按需增加磁盘的大小。
建议你使用附带有逻辑卷管理器LVM的 Linux 发行版,这样你就可以先创建一个较小的硬盘。如果之后你的客系统的空间快用完了,你可以按需增加磁盘的大小。
> **注意**:我选择的访客系统为 Fedora在 Fedora 的官网说明:[Fedora 至少需要分配 20GB 的空闲磁盘空间][13]。我强烈建议你遵守该规范。在这里,我选择了 8GB以便稍后演示如何用命令行增加磁盘空间。如果你是 Linux 新手,或者对命令行没有经验,请依旧选择 20GB。
> **注意**:我选择的客系统为 Fedora在 Fedora 的官网说明:[Fedora 至少需要分配 20GB 的空闲磁盘空间][13]。我强烈建议你遵守该规范。在这里,我选择了 8GB以便稍后演示如何用命令行增加磁盘空间。如果你是 Linux 新手,或者对命令行没有经验,请依旧选择 20GB。
![Setting hard disk size][14]
创建好硬盘驱动器后,从 VirtualBox 主窗口的列表中选择新创建的虚拟机,然后单击**设置**。在设置菜单中,点击**系统**,然后选择**处理器**标签。默认情况下VirtualBox 只向访客系统分配一个 CPU 内核。在现代多核 CPU 计算机上,分配至少两个内核是没有任何问题的,这能显著地加快访客系统的速度:
创建好硬盘驱动器后,从 VirtualBox 主窗口的列表中选择新创建的虚拟机,然后单击<ruby>设置<rt>Settings</rt></ruby>”。在设置菜单中,点击“<ruby>系统<rt>System</rt></ruby>”,然后选择“<ruby>处理器<rt>Processor</rt></ruby>”标签。默认情况下VirtualBox 只向客体系统分配一个 CPU 内核。在现代多核 CPU 计算机上,分配至少两个内核是没有任何问题的,这能显著地加快客系统的速度:
![Assigning cores to guest system][15]
@ -81,55 +81,56 @@ VirtualBox 能让任何人都可以轻松安装 Linux 虚拟机。你不需要
![Network settings][16]
你也可以创建多个网络适配器。以下是网络适配器最常见的类型:
* **NAT** NAT适配器能自动执行 [网络地址转换][17]。从外部看,主机和访客系统使用着相同的 IP 地址。你无法通过网络从主机系统内访问访客系统。(尽管,你也可以通过定义 [端口转发][18]来访问某些服务。当你的主机系统可以访问互联网时则你的访客系统也可以访问互联网。NAT 不再需要进一步的配置。
* _如果你只需要让访客系统接入互联网就可以的话请选择 **NAT**。_
* **桥接适配器Bridged adapter** 在此配置中,访客系统和主机系统可以共享相同的物理以太网设备。这两个系统都将拥有独立的 IP 地址。从外部看,网络中会有两个独立的系统,它们共享相同的物理以太网适配器。这种设置更灵活,但需要更多的配置。
* _如果你想要共享访客系统的网络服务的话请选择 **桥接适配器**。_
* **仅限主机的适配器Host-only adapter** 在此配置中,访客系统只能与主机,或在同一主机上运行的其他访客系统,相互通信。主机系统也可以连接到访客系统。但访客系统不能接入互联网或物理网络。
* _如果你想要获得高安全性请选择 **仅限主机的适配器**。_
#### 分配操作系统映像
* NATNAT 适配器能自动执行 [网络地址转换][17]。从外部看,主机和客体系统使用着相同的 IP 地址。你无法通过网络从主机系统内访问客体系统。(尽管,你也可以通过定义 [端口转发][18]来访问某些服务。当你的主机系统可以访问互联网时则你的客体系统也可以访问互联网。NAT 不再需要进一步的配置。
* _如果你只需要让客体系统接入互联网就可以的话请选择 “NAT”。_
* <ruby>桥接适配器<rt>Bridged adapter</rt></ruby>:在此配置中,客体系统和主机系统可以共享相同的物理以太网设备。这两个系统都将拥有独立的 IP 地址。从外部看,网络中会有两个独立的系统,它们共享相同的物理以太网适配器。这种设置更灵活,但需要更多的配置。
* _如果你想要共享客体系统的网络服务的话请选择 “桥接适配器”。_
* <ruby>仅限主机的适配器<rt>Host-only adapter</rt></ruby>:在此配置中,客体系统只能与主机,或在同一主机上运行的其他客体系统相互通信。主机系统也可以连接到客体系统。但客体系统不能接入互联网或物理网络。
* _如果你想要获得高安全性请选择 “仅限主机的适配器”。_
在设置菜单中,点击**存储**,然后选择虚拟光盘驱动器。单击右侧的 **光盘图标**,然后点击**选择一个磁盘文件...**,然后分配你想要安装的、已下载的 Linux 发行版映像:
#### 分配操作系统镜像
在设置菜单中,点击“<ruby>存储<rt>Storage</rt></ruby>”,然后选择虚拟光盘驱动器。单击右侧的 “光盘”图标,然后点击“<ruby>选择一个磁盘文件……<rt>Choose a disk file…</rt></ruby>”,然后分配你想要安装的、已下载的 Linux 发行版镜像:
![Assigning OS image][19]
### 安装 Linux
现在,就已经配置好了虚拟机。右上角关闭**设置**菜单,返回主窗口。点击**绿色箭头**(即“开始”按钮)。虚拟机将从虚拟光盘驱动器启动,你将发现你已经进入到 Linux 发行版的安装程序中:
现在,就已经配置好了虚拟机。右上角关闭<ruby>设置<rt>Settings</rt></ruby>”菜单,返回主窗口。点击“绿色箭头”(即“开始”按钮)。虚拟机将从虚拟光盘驱动器启动,你将发现你已经进入到 Linux 发行版的安装程序中:
![VirtualBox Fedora installer][20]
#### 设置分区
安装程序将在安装过程中要求你提供分区信息。选择**自定义Custom**
安装程序将在安装过程中要求你提供分区信息。选择<ruby>自定义<rt>Custom</rt></ruby>
![Selecting Custom partition configuration][21]
> **注意:** 我假设,你创建这一虚拟机的目的是为了测试。此外,你也无需关心访客系统的休眠,因为此功能会由 VirtualBox 来隐式地提供。因此,你可以省略交换分区,以节省主机系统的磁盘空间。请记住,如果你需要的话,你可以稍后自己添加交换分区。在 [Linux 系统交换空间的介绍][22] 这篇文章中,作者 David Both 进一步解释了如何添加交换分区,并选择交换分区正确的大小。
> **注意:** 我假设,你创建这一虚拟机的目的是为了测试。此外,你也无需关心客系统的休眠,因为此功能会由 VirtualBox 来隐式地提供。因此,你可以省略交换分区,以节省主机系统的磁盘空间。请记住,如果你需要的话,你可以稍后自己添加交换分区。在 [Linux 系统交换空间的介绍][22] 这篇文章中,作者 David Both 进一步解释了如何添加交换分区,并选择交换分区正确的大小。
Fedora 33 及之后更高的版本提供了一个 [zram 分区][23]zram 分区可以用于存放分页和交换、并经过压缩过后的硬盘数据。zram 分区可以按需地调整大小,并且它比硬盘交换分区快得多。
为了简单,我们只添加以下两个挂载点mount point
为了简单,我们只添加以下两个<ruby>挂载点<rt>Mount Point</rt></ruby>
![Adding mount points][24]
保存更改,接下来我们继续安装。
### 安装 VirtualBox 增强功能 Guest Additions
### 安装 VirtualBox 增强功能
完成安装后,从硬盘驱动器启动,并登录到虚拟机。现在,你可以安装 VirtualBox 增强功能,其中包括特殊的设备驱动程序和系统应用程序,他们能提供以下内容
完成安装后,从硬盘驱动器启动,并登录到虚拟机。现在,你可以安装 <ruby>VirtualBox 增强功能<rt>VirtualBox Guest Additions</rt></ruby>,其中包括特殊的设备驱动程序和系统应用程序,它们能提供以下功能
* 共享剪贴板
* 共享文件夹
* 更好的性能
* 可自由扩展的窗口大小
点击顶部菜单栏的**设备**,然后选择**插入增强功能的CD映像...**,来安装 VirtualBox 增强功能:
点击顶部菜单栏的<ruby>设备<rt>Devices</rt></ruby>”,然后选择“<ruby>插入增强功能的 CD 镜像……<rt>Insert Guest Additions CD image...</rt></ruby>,来安装 VirtualBox 增强功能:
![Selecting Guest Additions CD image][25]
在大多数 Linux 发行版上,带有增强功能的CD映像会自动挂载并且能够在 File Browser 文件管理器中找到。Fedora 会问你是否要运行安装脚本。单击**运行**,并授予该安装进程 root 权限:
在大多数 Linux 发行版上,带有增强功能的 CD 镜像会自动挂载并且能够在文件管理器中找到。Fedora 会问你是否要运行安装脚本。单击“<ruby>运行<rt>Run</rt></ruby>,并授予该安装进程 root 权限:
![Enabling Guest Additions autorun][26]
@ -141,7 +142,7 @@ Fedora 33 及之后更高的版本提供了一个 [zram 分区][23]zram 分
![Fedora hard disk running out of space][27]
正如我提到的Fedora 官网建议安装时分配 20GB 的磁盘空间。因为 8GB 是 Fedora 33 安装启动就需要的最少空间。没有新安装其他软件(除了 VirtualBox Guest Additions启动项就几乎占用了整个 8GB 的可用空间。这时候,不要打开 GNOME 软件中心或任何其他可能从互联网下载文件的东西。
正如我提到的Fedora 官网建议安装时分配 20GB 的磁盘空间。因为 8GB 是 Fedora 33 安装启动就需要的最少空间。没有安装其他软件(除了 VirtualBox 增强功能)的一个新安装的系统就几乎占用了整个 8GB 的可用空间。这时候,不要打开 GNOME 软件中心或任何其他可能从互联网下载文件的东西。
幸运的是,我选择了附带有 LVM 的 Fedora这样我就可以用命令行轻松地修复这个问题。
@ -150,10 +151,10 @@ Fedora 33 及之后更高的版本提供了一个 [zram 分区][23]zram 分
关闭虚拟机。如果你的主机系统运行的是 Windows请打开终端并进入到 `C:\Program Files\Oracle\VirtualBox` 目录下。使用以下命令,将磁盘大小扩大到 12,000MB
```
`VBoxManage.exe modifyhd "C:\Users\StephanA\VirtualBox VMs\Fedora_33\Fedora_33.vdi" --resize 12000`
VBoxManage.exe modifyhd "C:\Users\StephanA\VirtualBox VMs\Fedora_33\Fedora_33.vdi" --resize 12000
```
然后启动虚拟机,并打开**磁盘**的利用。你可以看到你刚刚新创建且未分配的可用空间。选择**可用空间**,然后单击 **+** 按钮:
然后启动虚拟机,并打开<ruby>磁盘<rt>Disks</rt></ruby>”工具。你可以看到你刚刚新创建且未分配的可用空间。选择“<ruby>可用空间<rt>Free Space</rt></ruby>”,然后单击 “+” 按钮:
![Free space before adding][28]
@ -161,12 +162,11 @@ Fedora 33 及之后更高的版本提供了一个 [zram 分区][23]zram 分
![Creating a new partition and setting size][29]
You don't want to create a filesystem or anything else on your new partition, so select **Other**:
如果你不想在新分区上创建文件系统或任何其他内容,请选择**其他**
如果你不想在新分区上创建文件系统或任何其他内容,请选择“<ruby>其他<rt>Other</rt></ruby>”:
![Selecting "other" for partition volume type][30]
选择**无文件系统**
选择<ruby>无文件系统<rt>No Filesystem</rt></ruby>
![Setting "No filesystem" on new partition][31]
@ -174,26 +174,26 @@ You don't want to create a filesystem or anything else on your new partition, so
![VirtualBox after adding new partition][32]
虚拟机有了一个新的分区设备:**/dev/sda3**。通过输入 `vgscan` ,来检查你的 LVM 卷组,找到 **fedora_localhost_live** 这一LVM 卷组
虚拟机有了一个新的分区设备:`/dev/sda3`。通过输入 `vgscan` ,来检查你的 LVM 卷组,找到 `fedora_localhost_live` 这一 LVM 卷组
![Checking LVM volume group by typing vgscan:][33]
现在,已经万事俱备了。在新分区 **/dev/sda3** 中扩展卷组 **fedora_localhost_live**
现在,已经万事俱备了。在新分区 `/dev/sda3` 中扩展卷组 `fedora_localhost_live`
```
`vgextend fedora_localhost-live /dev/sda3`
vgextend fedora_localhost-live /dev/sda3
```
![vgextend command output][34]
由于卷组大,你可以增加逻辑卷的大小。命令 `vgdisplay` 显示了共有 951 个可用的空闲扩展
由于卷组比逻辑卷大,你可以增加逻辑卷的大小。命令 `vgdisplay` 显示了共有 951 个可用的物理扩展PE
![vgdisplay command output][35]
将逻辑卷增加 951 个扩展:
将逻辑卷增加 951 个物理扩展:
```
`lvextend -l+951 /dev/mapper/fedora_localhost--live-root`
lvextend -l+951 /dev/mapper/fedora_localhost--live-root
```
![lvextend command output][36]
@ -201,16 +201,16 @@ You don't want to create a filesystem or anything else on your new partition, so
在增加了逻辑卷后,最后一件事就是调整文件系统的大小:
```
`resize2fs /dev/mapper/fedora_localhost--live-root`
resize2fs /dev/mapper/fedora_localhost--live-root
```
![resize2fs command output][37]
这样磁盘空间就增加完成了!检查**磁盘使用分析器**,你就可以看到扩展空间已经可用于文件系统了。
这样磁盘空间就增加完成了!检查<ruby>磁盘使用分析器<rt>Disk Usage Analyzer</rt></ruby>,你就可以看到扩展空间已经可用于文件系统了。
### 总结
使用虚拟机,你可以检查在一个特定的操作系统或一个特定版本的操作系统软件是如何操作的。除此之外,你还可以尝试任何想测试的 Linux 发行版,而不必担心系统损坏。对于高级用户来说VirtualBox 在测试、网络和模拟方面提供了广泛的可能性。
使用虚拟机,你可以检查在一个特定的操作系统或一个特定版本的操作系统软件是如何操作的。除此之外,你还可以尝试任何想测试的 Linux 发行版,而不必担心系统损坏。对于资深用户来说VirtualBox 在测试、网络和模拟方面提供了广泛的可能性。
--------------------------------------------------------------------------------
@ -219,7 +219,7 @@ via: https://opensource.com/article/21/6/try-linux-virtualbox
作者:[Stephan Avenwedde][a]
选题:[lujun9972][b]
译者:[chai001125](https://github.com/chai001125)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出