自己动手从零写桌面操作系统GrapeOS系列教程——4.1 在VirtualBox中安装CentOS
学习操作系统原理最好的方法是自己写一个简单的操作系统。
之前讲解开发环境时并没有介绍具体的安装过程,有网友反应CentOS的安装配置有问题,尤其是共享文件夹。本讲我们就来补充介绍一下在VirtualBox中安装配置CentOS的具体过程,彻底解决GrapeOS开发环境问题。
一、新建虚拟机
1.在VirtulBox中点击新建按钮。

2.名称和文件夹都可以自己定,我这里名称填写为CentOS7,类型选Linux,版本选Red Had (64-bit)。点击“下一步”按钮。

3.内存大小就填写默认的1024MB,够用了。如果不够用后面也可以改。点击“下一步”按钮。

4.虚拟硬盘选默认的“现在创建虚拟硬盘”。点击“创建”按钮。

5.虚拟硬盘文件类型选默认的VDI。点击“下一步”按钮。

6.存储在物理硬盘上选默认的“动态分配”。点击“下一步”按钮。

7.文件位置就用默认的。文件大小也用默认的8GB,对本教程来说够用了。点击“创建”按钮。

8.一台虚拟裸机就配好了,具体配置如下截图:

二、安装CentOS
裸机配好了,下面我们就该装操作系统了。鼠标点击虚拟光驱,选择虚拟盘。选择我们之前已经下载好的CentOS安装文件CentOS-7-x86_64-Minimal-2009.iso,iso文件相当于虚拟光盘。

点击绿色的启动按钮,启动虚拟机。

启动后会显示一个安装选项,可以用键盘上下键选择,选第一项或第二项都可以,同时停止倒计时。如果不做选择的话,倒计时结束会自动安装。

倒计时时间比较长,我这里选默认的第二项,然后回车。需要注意的是如果你第一次使用会发现鼠标进去虚拟机里出不来,此时按一下键盘上的右Ctrl键鼠标就出来了。

过一会儿会出现图形安装界面,语言选中文:

点击“安装位置”:

单击本地标准磁盘下的磁盘图标2次,然后点击“完成”按钮:

点击“开始安装”:

安装过程大概5分钟:

安装完需要设置一下root密码,点击“ROOT密码”:

设置好密码点击“完成按钮”:

继续点击“完成配置”按钮:

稍等片刻:

安装过程结束,点击“重启”按钮即可启动安装好的CentOS,同时虚拟机会自动弹出虚拟安装光盘,防止重新从光盘启动。

登录:

三、网络与IP配置
1.与外网通信
虽然网络服务已经开机自动启动,但此时并不能上网:

原因是网卡没有启动,下面我们来启动网卡。修改文件/etc/sysconfig/netwrok-scripts/ifcfg-enp0s3

只要把最后一行“ONBOOT=no”改成“ONBOOT=yes”即可。


重启网络服务就可以ping通百度了:

2.与宿主机通信
此时CentOS虚拟机已经可以访问外网了,但是和宿主机Windows之间还不能相互通信,需要再加一个网卡才行,下面我们就来配置。
用poweroff命令关闭CentOS虚拟机:

在VirtualBox管理器中点击“网络”:

弹出网络设置窗口:

点击选项卡“网卡2”:

勾选“启用网络连接”,连接方式选“仅主机(Host-Only)网络”,界面名称选默认的“VirtualBox Host-Only Ethernet Adapter”。

点击“OK”按钮,在VirtualBox管理器中可以看到多个一个网卡2:

启动并登录CentOS虚拟机,通过ip a命令可以看到此时多了一个enp0s8的网卡。此时该网卡上的IP地址是动态分配的,每次启动都有可能不同。

为了方便使用,我们需要设置静态IP,下面就来设置。
新建并编辑文件/etc/sysconfig/netwrok-scripts/ifcfg-enp0s8

在ifcfg-enp0s8中输入如下内容:
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.56.2
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
DNS1=114.114.114.114

关于网关地址和网络掩码可以通过如下方式查看到。
在VirtualBox管理器菜单中点击“管理”->“主机网络管理器”:

可以看到默认有一个网络适配器“VirtualBox Host-Only Ethernet Adapter”,如果没有可以点击“创建”按钮创建一个。

点击“属性”按钮就可以看到网关地址和网络掩码了。

保存好ifcfg-enp0s8文件,然后通过reboot 命令重启CentOS虚拟机。

可以看到我们设置的静态IP生效了:

此后我们就可以方便的通过SSH从PowerShell登录到CentOS虚拟机了。
Windows键+R键打开运行小窗口,输入“powershell”:

通过SSH登录:

四、安装增强功能
设置共享文件夹前必须先安装增强功能,下面我们来安装。
首先需要安装几个前置软件:
yum install -y kernel-devel-$(uname -r) bzip2 gcc make perl

前置软件安装完毕:

在CentOS虚拟机窗口的菜单栏中点击“设备”->“安装增强功能”

点击之后的作用就是VirtualBox将自带的增强功能iso光盘文件放入到CentOS虚拟机的虚拟光驱中。

挂载后就可以看到光盘中的内容,我们要运行的是“VBoxLinuxAdditions.run”这个文件。

大约一分钟增强功能安装完毕:

五、设置共享文件夹
首先在CentOS虚拟机中创建共享文件夹/media/VMShare

在VirtualBox管理器中点击“共享文件夹”:

点击“添加共享文件夹”

然后填写相应的内容并点击“OK”按钮:

再点击“OK”按钮:

可以看到共享文件夹数量为1:

此时在PowerShell中再查看文件夹/media/VMShare,已经能看到共享的内容了:

如果看不到共享的内容,重启一下CentOS虚拟机就能了。
共享文件夹设置完毕。
视频版地址:https://www.bilibili.com/video/BV1nX4y1r7U4/
配套的代码和资料:https://gitee.com/jackchengyujia/grapeos-course
GrapeOS操作系统QQ群:643474045
自己动手从零写桌面操作系统GrapeOS系列教程——4.1 在VirtualBox中安装CentOS的更多相关文章
- Linux从入门到放弃、零基础入门Linux(第三篇):在虚拟机vmware中安装linux(二)超详细手把手教你安装centos6分步图解
一.继续在vmware中安装centos6.9 本次安装是进行最小化安装,即没有图形化界面的安装,如果是新手,建议安装带图形化界面的centos, 具体参考Linux从入门到放弃.零基础入门Linux ...
- [ARCH] 1、virtualbox中安装archlinux+i3桌面,并做简单美化
星期六, 28. 七月 2018 02:42上午 - beautifulzzzz 1.安装ArchLinux系统 安装Arch主要看其wiki,比较详细- 中文的我主要参考:一步步教你如何安装 Arc ...
- Linux从入门到放弃、零基础入门Linux(第四篇):在虚拟机vmware中安装centos7.7
如果是新手,建议安装带图形化界面的centos,这里以安装centos7.7的64位为例 一.下载系统镜像 镜像文件下载链接https://wiki.centos.org/Download 阿里云官网 ...
- 在VM虚拟机中安装Centos操作系统
首先我们要下载 Centos https://www.centos.org/ 这个是Centos官方 最新版本 7 https://www.centos.org/download/ 提供有 DVD安 ...
- 在VirtualBox虚拟机中安装Centos操作系统怎么与本地XShell远程连接
问题: 在VirtualBox安装好了CentOS操作系统后,我们怎么才可以用XSell连接虚拟机中的CentOS呢? 答案: (1)在windows下用cmd--ipconfig查看VirtualB ...
- (二)Centos之在VM虚拟机中安装Centos操作系统
一.下载 阿里云镜像 https://mirrors.aliyun.com/centos/7/isos/x86_64/ 下载那个 DVD版本即可. 二.安装 在安装操作系统之前 我们来给这个“机器”搞 ...
- 别人写的一个Bootstrap系列教程
http://www.cnblogs.com/lansy/category/659061.html
- 一个人写的操作系统 - Sparrow OS
一个人写的操作系统 - Sparrow OS 自己写一个操作系统,这是在过去的几年里我一直为之努力的目标,现在终于完成了. 缘起 自己动手写操作系统的动机最初来自于学习Linux遇到的困难. 我是一个 ...
- 自制 os 极简教程1:写一个操作系统有多难
为什么叫极简教程呢?听我慢慢说 不知道正在阅读本文的你,是否是因为想自己动手写一个操作系统.我觉得可能每个程序员都有个操作系统梦,或许是想亲自动手写出来一个,或许是想彻底吃透操作系统的知识.不论是为了 ...
- 【操作系统】关于Linux桌面操作系统
以前是Win+Ubuntu+黑苹果,周末想体验一下deepin,于是简单安装了一下,安装过程很简单,这里不再描述.安装之后,第一次打开系统,确实很惊艳,赏心悦目的操作系统. 之前用Ubuntu时候,C ...
随机推荐
- 如何卸载inventor 2023?怎么把inventor彻底卸载删除干净重新安装的方法【转载】
inventor 2023卸载重新安装方法,使用清理卸载工具箱完全彻底删除干净inventor 2023各种残留注册表和文件.inventor 2023显示已安装或者报错出现提示安装未完成某些产品无法 ...
- net-snmp 自定义OID利用脚本获取值
两种办法: 1)pass方式 /etc/snmp/snmpd.conf 写脚本 脚本需要注意:要连续输出三行:1.OID 2.类型 3.值 如果不按照这个规定,直接输出值,将会报错. 检查 第二种方法 ...
- 用shell开火车哈哈
用shell开火车!(σ゚∀゚)σ⁶⁶⁶⁶⁶⁶⁶⁶⁶⁶ while true; do sl -aFile; done 这个效果更佳
- 用JS实现一个简单的购物车小案例
该案例主要是实现的功能有:添加商品功能,将商品添加到购物车的功能还有将商品删除功能,还有就是移出购物车的功能 该案例实现的难点是将商品添加到购物车列表的时候 数量的增加,当购物车有该商品的时候就进行累 ...
- Windows10常用快捷键总结
--Windows10常用快捷键总结 1. Window键: 打开或关闭|开始菜单 2. Win + A 打开操作中心 3. Win + D 显示桌面 4. Win + E 打开计算机文件管理器 5. ...
- 在VS中使用Wind数据终端API的经验(一)
因工作需要,使用vs2019来调用Wind金融终端API数据接口.具体步骤按照wind的帮助文档一步步做下来.这里提一下和帮助文档不同的地方. Windows Console APP下,编译项目后出现 ...
- 解密Prompt系列3. 冻结LM微调Prompt: Prefix-Tuning & Prompt-Tuning & P-Tuning
这一章我们介绍在下游任务微调中固定LM参数,只微调Prompt的相关模型.这类模型的优势很直观就是微调的参数量小,能大幅降低LLM的微调参数量,是轻量级的微调替代品.和前两章微调LM和全部冻结的pro ...
- Win10安装curl
参看博客:https://blog.csdn.net/qq_37289115/article/details/106665123
- nginx+lua+openresty+kafka相关问题汇总
这里使用的是kafka插件是doujiang大佬的https://github.com/doujiang24/lua-resty-kafka,版本为v0.2.0. 应用场景 在nginx转发中,记录非 ...
- 联邦学习开源框架FATE架构
作者:京东科技 葛星宇 1.前言 本文除特殊说明外,所指的都是fate 1.9版本. fate资料存在着多处版本功能与发布的文档不匹配的情况,各个模块都有独立的文档,功能又有关联,坑比较多,首先要理清 ...