当前位置: 首页 > news >正文

Windows 环境下,使用 VirtualBox 安装 Ubuntu 虚拟机

Windows 环境下,使用 VirtualBox 安装 Ubuntu 虚拟机

下面掩饰 Windows 环境逐步来安装 Ubuntu 虚拟机。

1.下载 Ubuntu 镜像

这里下载 ubuntu-24.04.2-live-server-amd64.iso 镜像。

2.在 VirtualBox 上新建虚拟机

2.1.新建虚拟机

点击 [新建] 按钮,如下图所示:

在这里插入图片描述

确定名称、安装位置等信息,如下图所示:

在这里插入图片描述

填好信息后,如下所示:

在这里插入图片描述

设置用户名密码,如下图所示:

在这里插入图片描述

调整硬件资源,如下图所示:

在这里插入图片描述

调整磁盘大小(如果需要),如下图所示:

在这里插入图片描述

点击 [完成] 按钮,进行虚拟机创建。

2.2.测试登录

等待虚拟机安装完成。首次安装完成后运行,大概界面如下所示:

在这里插入图片描述

鼠标点击黑白区域,按下回车键,提示登录

在这里插入图片描述

尝试输入用户名、密码进行登录

在这里插入图片描述

登录成功后,如下所示:

在这里插入图片描述

3.调整网络配置

关停改虚拟机,直接点击右上角的 [x] 按钮,选择正常关闭,点击 [确定] 按钮。

在这里插入图片描述

3.1.添加端口转发

选中你新建的虚拟机,点击 [设置] 按钮

在这里插入图片描述

选中 [网络],点击 [端口转发]

在这里插入图片描述

点击右上角的 [+],添加端口转发

在这里插入图片描述

通过主机的 12222 端口转发到虚拟机的 22 端口

在这里插入图片描述

3.3.启动第二块网卡

启用第二块网卡,做主机和虚拟机通信用,如下图所示:

在这里插入图片描述

点击 [确定] 按钮,完成配置。

重新启动虚拟机,选中你安装的虚拟机,点击 [启动] 按钮,等待启动成功。

在这里插入图片描述

4.安装 openssh-server 服务

4.1.sudo 成 root 用户

在终端登录进入系统,并且 sudo 成 root 用户。

# sudo 成 root 用户,输入你登录用户的密码
sudo su -# root 用户登录成功后,提示符变成 root,如图所示:

在这里插入图片描述

4.2.安装 openssh-server

# 通过如下命令来安装 openssh-server 
apt install openssh-server -y# 安装过程如下所示:

在这里插入图片描述

启用 ssh 服务

# 启动 ssh 服务
systemctl start ssh# 判断 ssh 是否启动成功
systemct status ssh# 如下图所示,表示启动成功

在这里插入图片描述

5.使用外部终端进行登录

5.1.设置虚拟机和主机通信的 ip

# 在终端中输入
ipconfig# 输出如下所示:

在这里插入图片描述

此处的192.168.56.1 为主机的 ip。

5.2.设置 Host-Only 网络

打开网络管理器

在这里插入图片描述

手动配置网卡信息

在这里插入图片描述

5.3.设置虚拟机静态 ip

# 创建静态 ip 描述文件
cat <<EOF > /etc/netplan/00-installer-config.yaml
network:ethernets:enp0s3:dhcp4: trueenp0s8:addresses: [192.168.56.102/24]dhcp4: falseversion: 2
EOF# 输入之后,输入如下命令启用 ip 描述
netplay apply# 使用如下命令,查看 ip 是否成功
ip a# 输出如下

在这里插入图片描述

5.4.使用宿主机终端进行登录

这里使用 powershell 进行登录

# 打开 powershell,通过如下命令来进行远程登录ssh ubuntu@192.168.56.102# 首次登录,输入 yes 后,再输入密码,登录成功后如下所示:

在这里插入图片描述

5.5.使用其他主机终端进行登录

在这里插入图片描述

我的宿主机 ip 为 10.10.2.245,用其他设备远程登录 ubuntu,使用如下命令

ssh ubuntu@10.10.2.245 -p12222# 登录过程如下所示:

在这里插入图片描述

http://www.dtcms.com/a/291809.html

相关文章:

  • 34、鸿蒙Harmony Next开发:使用动画-转场动画
  • JMeter groovy 编译成.jar 文件
  • RabbitMQ--批量处理
  • 【Zephyr开发实践系列】09_LittleFs文件系统操作
  • 在easyui中如何自定义表格里面的内容
  • 目标检测系列(六)labelstudio实现自动化标注
  • vue2 webpack 部署二级目录、根目录nginx配置及打包配置调整
  • 容器化部署 Tomcat + MySQL 实战指南:从入门到进阶
  • MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
  • 架构演进核心路线:从离线仓库到实时湖仓一体
  • LLM评测框架Ragas Agents or Tool Use Cases指标(解决了Ollama推理框架不支持的问题)
  • 微软徽标认证是什么?如何快速获取驱动签名?
  • Linux操作系统从入门到实战(十二)Linux操作系统第一个程序(进度条)
  • 【用户管理】usermod设置主组和附加组(三)
  • es搜索实现既能模糊查询又能分词查询
  • [Dify] -进阶10- Dify 的用户输入结构:变量、参数、文件上传全解析
  • stm32 智能小车
  • 【多线程篇22】:ConcurrentHashMap的并发安全原理剖析
  • 低成本、高泛化能力的无人机自主飞行!VLM-Nav:基于单目视觉与视觉语言模型的无地图无人机导航
  • C++类和对象(3)
  • 从零搭建 OpenCV 项目(新手向)--第一天初识OpenCV与图像基础
  • MCP:Cline+DeepSeek在VSCode上配置
  • TDengine 计算百分位函数使用手册
  • .net web 中如何优雅地使用 redis?
  • MFC类Qt的自动布局框架
  • 景区负氧离子监测设备:守护清新,赋能旅游
  • 【kubernetes】-2 K8S的资源管理
  • 学习笔记-关于中华心法问答系统的环境配置和源代码理解
  • 基于Vue+ElementUI的借还款利息计算器
  • Java 动态导出 Word 登记表:多人员、分页、动态表格的最佳实践