自己动手从零写桌面操作系统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 ...
随机推荐
- angular-gridster2使用
1.安装:npm install angular-gridster2 --save 2.引入 3.html代码 <div id="fullscreen" style=&quo ...
- 工控小工具 snmp 、opc ua 、modbus 、tcp、bacnet 开发环境Net6.0
下载地址 https://files.cnblogs.com/files/blogs/745639/net6.0-windows.rar?t=1674114312
- spring boot 中 CommandLineRunner接口使用
接口定义:接口,用于指示bean包含在SpringApplication中时应运行.可以在同一应用程序上下文中定义多个CommandLineRunner bean,并可以使用ordered接口或@Or ...
- Vue3 animate.css + wowjs 官网实现滚动到对应元素位置增加动画特效
本人在Vue3中使用的是 setup语法糖 也就是 <script setup>...</ script> 在项目中install一下两个插件: yarn add animat ...
- ubuntu安装matplotlib失败:Can't rollback pillow, nothing uninstalled.
今天在ubuntu1804上面使用pip安装matplotlib,安装失败,报错如下: ---------------------------------------- Can't rollback ...
- el-admin角色编辑功能详解
1.首先el-admin中的编辑和删除功能重新写成为了一个组件 data和permission都是父组件向子组件传参.data传的是当前表格中选中行的这条数据,permission是定义的一个对象. ...
- nios verify failed 问题解决。
nios 调试时碰到上图所示问题.根据下载地址可以判断下载flash.sdram都成功,这里说明电路设计和焊接都没有问题. 但是在flash地址verify failed between adress ...
- Docker安装:Centos7.6安装Docker
Docker03:Centos7.6安装Docker 前提条件 内核版本 更新yum 包 卸载旧版本(如果安装过旧版本的话) 安装依赖包 设置yum源(阿里云源) 更新缓存 安装容器 启动并加入开机启 ...
- DVWA-File Inclusion(文件包含)
文件包含漏洞,当我们在一个代码文件想要引入.嵌套另一个代码文件的时候,就是文件包含. 常见的文件包含函数有include require等函数. 这两个函数的区别就是include在包含文件不存在时p ...
- JS逆向实战10——某集团RSA长加密
由于本网站较为特殊 目标网站加密与其他稍有不同 目标网站 68747470733a2f2f65632e6d696e6d6574616c732e636f6d2e636e2f6f70656e2f686f6 ...