使用VirtualBox安装Ubuntu虚拟机 - 完整教程

2023-10-26

【前言】

  • 本教程将演示通过 VirtualBox 安装 Ubuntu ,请提前下载好以下文件哦:

        VirtualBox 软件

        ② Ubuntu 的 镜像文件(.iso)

【下载地址】

  • VirtualBox 版本:VirtualBox 7.0.2

       官网链接 https://www.virtualbox.org/

  • Ubuntu 版本:Ubuntu 16.04 LTS

       官网链接 https://www.ubuntu.org.cn/global

安装过程分为以下五个步骤:

一、新建虚拟电脑

二、修改虚拟机硬件配置

三、创建虚拟硬盘

四、将虚拟硬盘安装到虚拟机

五、为虚拟机安装操作系统


  • 下面正式开始安装

一、新建虚拟电脑

1. 打开VirtualBox(以管理员身份运行),点击 "新建"

​​

2. 进入新建窗口,以下按 向导模式 为例(专家模式大同小异):

(1)输入虚拟机名称、安装位置、操作系统类型和版本。(这里的 ISO Image 暂时不用指定

【注】

① 安装位置不要出现中文

② 修改安装位置后,点击 Next 如果显示 "Cannot create the machine folder" ,先关闭 VirtualBox ,重新以管理员身份打开;

③ 这里选择的操作系统并不会真的在虚拟机中安装该操作系统,在此处选择操作系统的目的是为了给之后的安装提供参考,如:内存大小、硬盘大小。 ​​

​​

(2)选择内存大小(我选的2GB,如果要使用虚拟机玩游戏之类的可以分配多一些,只要不超过绿色范围就行);

        processor数量与主机CPU核心数保持一致即可(或直接选择绿色范围内最大数值)。

​​

(3)创建虚拟硬盘(Virtual Hard disk),这里我们暂时选择不添加

​​

​​

  • 现在虚拟机就创建完成了!(但此时的虚拟机什么也做不了,因为没有硬盘)

  • 接下来我们继续进行第二步

二、修改虚拟机硬件配置

1. 选择虚拟机,点击 "设置"

​​

2. 进入 "系统 -> 主板" 页面,将 启动顺序 设置为 光驱 -> 硬盘 。(因为之后安装操作系统的时候要通过光盘镜像文件安装,所以光驱应该在硬盘之前启动;另外不用选择软驱,因为现在基本已经不再使用软驱了)

​​

3. 进入 "系统 -> 处理器" 页面,处理器数量和主机保持一致即可。

​​

4. 进入 "存储" 页面,可以看到有两个控制器:IDE SATA

IDE — Integrated Drive Electronics:光盘控制器,其下为光盘驱动器。

SATA — Serial Advanced Technology Attachment:硬盘控制器,因为我们在第一步创建虚拟机时并没有创建虚拟硬盘,所以该控制器没有连接任何硬盘。

​​

  • 接下来我们开始创建虚拟硬盘

三、创建虚拟硬盘

  • 虚拟机的硬盘是通过文件模拟的,以下为常见的几种虚拟硬盘文件格式:

       VMDK --- VMWare Virtual Machine Disk Format  (VMWare 虚拟机)
       VDI --- Virtual Desktop Infrastructure                    (VirtualBox 虚拟机)
       VHD --- Microsoft Virtual Hard Disk format           (Virtual-PC / Hyper-V 虚拟机)

1. 点击 "管理 -> 工具 -> 虚拟介质管理"

​​

2. 点击 "创建"

​​

3. 选择虚拟硬盘格式(这里我们以 VHD 为例)。

​​

4. Pre-allocate Full Size为固定大小分配,若选择固定大小的话直接勾选就行。

    这里我们以 "动态分配" 为例,但是可以看到 Split into 2GB parts 无法勾选,所以直接不勾选分配选项,直接点击 Next ,就会默认动态分配。

​​

5. 设置硬盘大小(我选的20G,如果要下载游戏等大型程序可以多分配一些)。

​​

6. 分配完成!可以看到实际分配的空间远小于设置的空间。(因为我们选择的是动态分配,开始时实际分配的的内存空间很小,以后会随着不断往磁盘写入东西而变大,直至达到我们设置的大小)

​​

  • 虚拟硬盘创建完成后,就可以安装到虚拟机了

四、将虚拟硬盘安装到虚拟机

1. 选择虚拟机,点击 "设置" 进入虚拟机设置窗口。

2. 进入 "存储" 页面,选择 SATA 控制器,点击右侧第二个按钮,将刚才创建的虚拟硬盘挂载到SATA控制器。

​​

3. 选择要安装的虚拟硬盘。

​​

4. 装载成功!

​​

  • 进行最后一步,为虚拟机安装Ubuntu操作系统

五、为虚拟机安装操作系统

  • 此时我们创建的虚拟硬盘是空的,所以要通过光盘安装操作系统

1. 选择虚拟机,点击 "设置" 进入虚拟机设置窗口。

2. 进入 "存储" 页面,选择 IDE 控制器,点击右侧图标按钮 -> 选择虚拟盘

​​

3. 选择提前准备好的操作系统的镜像文件。

​​

4. 装载完成!

​​

5. 选择虚拟机,点击 "启动"

​​

进入虚拟机界面:

​​

6. 选择语言,点击 "安装Ubuntu"

​​

7. 接下来的选项都按默认即可。

​​

​​

​​

8. 选择所在地 。

​​

9. 选择语言。

​​

10. 设置用户名、密码等。

​​

现在等待安装完成即可

​​

11. 安装完成,选择 "现在重启"

​​

接着会出现以下界面,等待几分钟就行~

​​

如果等待较长时间后仍然卡在该黑色界面,直接点击右上角的 "X" ,强制退出即可。

​​

接着我们通过 VirtualBox 重新启动,成功进入虚拟机!

​​

​​

如果要关闭虚拟机直接点击右上角关机键即可。(和主机操作一样的)

​​

  • 操作系统安装完成,下次使用虚拟机就可以直接启动了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用VirtualBox安装Ubuntu虚拟机 - 完整教程 的相关文章

  • lseek() 的复杂度是 O(1) 吗?

    我知道我的问题在这里有答案 QFile 寻道性能 https stackoverflow com questions 6171403 qfile seek performance 但我对这个答案并不完全满意 即使在查看了以下实现之后gene
  • 是否可以在由同一父进程创建的两个子进程之间建立管道(LINUX,POSIX)

    我有多个孩子由同一个父母 分叉 我尝试构建pipe所有这些子进程之间的连接就像一个链表结构 孩子 1 向孩子 2 发送数据 孩子 2 向孩子 3 孩子 N 向孩子 1 发送数据 有没有正确的方法可以做到这一点 此外 如果我在进程之间创建和通
  • Vagrant、共享文件夹:利用 inotify 而非 NFS

    我们的 Symfony2 Web 应用程序在开发模式下使用 Assetic 观察器来动态重新编译资产 Web 应用程序在 Docker 容器中运行 该容器在 Vagrant VM Ubuntu 12 04 Precise 中运行 主机是 O
  • 如何将php cURL升级到7.36.0版本?

    我的 CentOS 服务器上有 php curl 7 19 7 但我需要升级到 7 36 0 I tried yum update php curl 但我得到了 Loaded plugins downloadonly fastestmirr
  • 在 Linux 中生成相同的数字,但在 Windows 中则不然

    下面的代码旨在生成区间 1 100 中的五个伪随机数的列表 我播种default random engine with time 0 它返回系统时间UNIX时间 https en wikipedia org wiki Unix time 当
  • 如何正确创建可通过http访问的SVN存储库? (在 public_html 内)?

    情况是这样的 subversion 已安装在服务器中 并且我可以访问服务器中的共享帐户之一 不是 root 并且该共享托管帐户具有 SSH 访问权限 我想创建一个存储库 我可以在其中提交我正在处理的 PHP 文件 当我提交时 它应该可以在浏
  • 如何从 USB 加载 LUKS 密码,然后返回键盘?

    我想设置一台具有全磁盘加密功能的无头 Linux Debian Wheezy PC 能够使用 USB 驱动器或通过键盘输入密码来解锁磁盘 我的起点是使用 Debian 安装程序中基本的整个磁盘加密选项进行全新安装 该安装程序将 boot 之
  • Windows 操作系统中无法访问的 IP 套接字关闭时间

    这些代码通过用户数据报协议提供发送数据 下面有两个代码 当我使用第一个代码来处理无法访问的 IP 地址时 我得到了三秒的延迟 请查看新结果标题 只需打开新的 C 控制台应用程序并将这些代码粘贴到其中 第一个代码 using System u
  • cronjob 上的 PHP 错误,在提示时工作正常

    我正在 cronjob 上运行以下脚本 cd etc parselog php run all php gt dev null 并收到以下错误 05 May 2009 20 30 12 PHP Warning PHP Startup Una
  • 如何禁用浮点单元(FPU)?

    我想在 x86 系统中禁用 FPU MMX SSE 指令 并且我将为设备不可用异常实现一个处理程序 我已经提到过控制寄存器 wiki 页面 http en wikipedia org wiki Control register 看来我必须在
  • -bash: /usr/bin/virtualenvwrapper.sh: 没有这样的文件或目录

    我无法弄清楚 shell 试图在哪里运行 usr bin virtualenvwrapper sh服务器登录时 我希望 virtualenvwrapper 永久卸载 而不仅仅是从 shell 实例中删除 我以为我卸载了它pip uninst
  • Nvcc 的版本与 CUDA 不同

    我安装了 cuda 7 但是当我点击 nvcc version 时 它打印出 6 5 我想在 GTX 960 卡上安装 Theano 库 但它需要 nvcc 7 0 我尝试重新安装cuda 但它没有更新nvcc 当我运行 apt get i
  • 执行 grails/groovy 时,Linux 上没有可用的控制台输出

    当执行 groovy 脚本或 grails 应用程序时 没有可用的输出 输入 gt 只有一个清晰的控制台屏幕 即使不启动 X Window System 输出也是不可见的 我也尝试过 grailscompile plain output 也
  • 在 ubuntu 10 64 位上安装 java 时出错

    EDIT 我添加此注释是为了解释为什么我将这个问题保留在这里 我添加了 Android 作为关键字 我想知道其他人是否尝试过下载代码以及如何解决此问题 我担心如果我问 Ubuntu 他们会建议我使用 OpenJDK 但问题是 有人使用该 S
  • Eclipse CDT 内置包含目录

    Under Eclipse CDT gt Project Settings gt C C General gt Paths and Symbols gt Includes gt GNU C 有一个包含路径的列表 有些是粗体的并且是特定于项目
  • 调试严重的 SIGILL 崩溃:文本段损坏

    我们的系统是基于 PowerPC 的运行 Linux 的嵌入式系统 我们遇到了随机的 SIGILL 崩溃 这种情况在各种应用程序中都会出现 崩溃的根本原因是将要执行的指令归零 这表明内存中的文本段已损坏 由于文本段是以只读方式加载的 因此应
  • Docker 无法写入使用 -v 挂载的目录,除非它有 777 权限

    我正在使用docker solr https github com makuk66 docker solr使用 docker 生成图像 我需要在其中安装一个目录 这是我使用 v flag 问题是容器需要写入我已安装到其中的目录 但似乎没有权
  • x86-64 Linux 中不再允许使用 32 位绝对地址?

    64 位 Linux 默认使用小内存模型 将所有代码和静态数据置于 2GB 地址限制以下 这确保您可以使用 32 位绝对地址 旧版本的 gcc 对静态数组使用 32 位绝对地址 以便节省相对地址计算的额外指令 然而 这不再有效 如果我尝试在
  • 如何在命名管道 (mkfifo) 上执行非阻塞 fopen?

    如果我有一个程序使用 mkfifo 创建并尝试打开命名管道 如何在不阻塞的情况下打开管道进行读取或写入 具体来说 我正在编写一个 C 程序 它可以在有或没有 GUI 的情况下运行 用 Java 编写 在 C 程序中 我使用 mkfifo 成
  • find 命令的“exec”功能可以在后台启动程序吗?

    我想做这样的事情 find iname Advanced Linux Program exec kpdf 可能的 还有其他类似的方法吗 首先 它不会像你输入的那样工作 因为 shell 会将其解释为 find iname Advanced

随机推荐

  • linux命令大全 which

    参考 Linux命令大全 程序员工具箱 1 命令 which 从 PATH 路径下查找某个命令的全路径 2 使用样例 查看 java 命令的全路径 which java 3 使用方法 which programnam
  • 基于JdbcTemplate的一种通用数据库操作帮助工具

    工具介绍 基于JdbcTemplate的通用操作数据库的帮助工具 借助阿里巴巴的开源工具fastjson实现实体的转json字符串以及params的解析 用法 1 建立与数据库表相对应的entity对象 package cn flyzy20
  • APB协议UVM验证环境的搭建

    APB协议UVM验证环境的搭建 一 编译文件 只需编译这两个文件即可 apb pkg sv 里面包含了 apb svh 即编译apb pkg sv这个文件的同时 也会编译所需要的所有的头文件 ifndef APB PKG SV define
  • 绕过专题

    绕过验证码专题 原理 直接截取返回包的cookie或者json流中的验证码进行绕过 提取出验证码进行直接验证即可 gt 绕过 方法 利用burp中的Extractor或者是Bp自带的Marco进行自动化测试 典型类型 如返回包的cookie
  • Java生成一个包含所有数字大小写字母的集合

    利用循环给集合添加所有数字和字母 import java util ArrayList ArrayList
  • steam移动所有文件至新库文件夹失败_不想次次重复下载游戏?手把手教你打造移动游戏、软件库...

    大家好 我是黄昏百分百 之前我有幸获邀参与了七彩虹RTX 3080显卡的媒体首测 在测试过程中 我购买了很多的3A大作 下着下着游戏 就发现固态硬盘不够用了 所以 我觉得升级我的固态硬盘 于是 就有了今天这篇如何通过固态硬盘打造移动游戏 软
  • 【Android自动化测试】5个必备的测试框架

    Appium Appium是一个开源的移动测试工具 支持iOS和Android 它可以用来测试任何类型的移动应用 原生 网络和混合 作为一个跨平台的工具 你可以在不同的平台上运行相同的测试 为了实现跨平台的功能 Appium使用了供应商提供
  • C++析构函数调用异常问题研究

    最近又遇到一个奇葩问题 程序在自己的开发机器和某些机器上运行完好 但是在测试人员的几台机器上运行就直接推出了 开始以为是出现了野指针 因为delete野指针时程序会直接退出 代码翻来覆去过来即便确认没有野指针后问题就陷入了死循环 经过多次调
  • mysql超时连接问题

    一 问题 nested exception is com mysql jdbc exceptions jdbc4 CommunicationsException Communications link failure The last pa
  • 28岁,从字节退休了···

    大厂一直是每个程序员都向往职业目标 大厂意味着薪资高 福利好 倍有面儿 而且发展空间也大 甚至有人调侃不想进大厂的程序员不是好程序员 而在网上 也有各个网友分享自己在大厂的经历 在某平台还有一个近2600万浏览的话题 在字节跳动工作是怎么样
  • jvm堆大小的设置

    问题引入 Xmx10240m Xms10240m Xmn5120m XXSurvivorRatio 3 其最小内存值和Survivor区总大小分别是 10240m 2048m 解析 Xmx 最大堆大小 Xms 初始堆大小 Xmn 年轻代大小
  • es6常见的相关问题

    文章目录 ES6常见的相关问题 1 var let const之间的区别 1 var 注意点1 变量提升 注意点2 块级作用域 注意点3 重复声明 2 let ES6 注意点1 变量提升 不存在 注意点2 块级作用域 注意点3 重复声明 注
  • ICCV2019 oral papers

    ICCV2019 oral papers Exploring Randomly Wired Neural Networks for Image Recognition Paper Video Progressive Differentiab
  • 10个良心网站推荐

    对效率工具感兴趣的可以看一看我的往期视频 10个良心网站推荐第三期 10个良心网站推荐 10个良心网站推荐第二期 av76255938 13个逆天网站工具 av70359966 10个改变生活的网站 10个改变生活的网站 本期推荐 1 Vi
  • ctf从零开始学0x02 ctf的逆向reverse 常见思路和如何入门(文末)

    逆向是啥 很多人一开始都感到很糊涂 下面给出相关的概念 对于相关如何打逆向的基础可以看 https blog csdn net qq 43504939 article details 90246409 其中 80 的题目都与crypto结合
  • 005-1基于深度优先搜索查找图中连通路径

    基于图的深度优先搜索 图学习笔记索引 本文参考 算法 第4版 基于图的深度优先搜索 1 自定义输入流In 2 定义背包类Bag 3 无向图G的构造 4 深度优先搜索DepthFirstSearch 5 使用深度优先搜索查找连通路径Depth
  • Win7 X86上搭建Android开发环境

    Android SDK有Mac Linux和Windows三个平台的版本 处于个人习惯 决定在Win7 X86的电脑上搭建Android开发环境 windows平台搭建Android开发环境 需要以下相关安装包 1 JDK6 需下载并安装
  • Apollo 应用与源码分析:CyberRT-protobuf

    目录 概念 特点 优点 缺点 文件的创建 1 字段规则 2 数据类型 3 字段名称 4 字段编号 文件的编译 protobuf 编译命令编译 protobuf cmake 方式编译 使用bazel 编译 在protobuf 文件夹下创建bu
  • python实现超市商品销售管理系统

    class Goods object def init self id name price self id id self name name self price price def str self info 编号 s t商品名称 s
  • 使用VirtualBox安装Ubuntu虚拟机 - 完整教程

    前言 本教程将演示通过 VirtualBox 安装 Ubuntu 请提前下载好以下文件哦 VirtualBox 软件 Ubuntu 的 镜像文件 iso 下载地址 VirtualBox 版本 VirtualBox 7 0 2 官网链接 ht