学习操作系统原理最好的方法是自己写一个简单的操作系统。


之前讲解开发环境时并没有介绍具体的安装过程,有网友反应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的更多相关文章

  1. Linux从入门到放弃、零基础入门Linux(第三篇):在虚拟机vmware中安装linux(二)超详细手把手教你安装centos6分步图解

    一.继续在vmware中安装centos6.9 本次安装是进行最小化安装,即没有图形化界面的安装,如果是新手,建议安装带图形化界面的centos, 具体参考Linux从入门到放弃.零基础入门Linux ...

  2. [ARCH] 1、virtualbox中安装archlinux+i3桌面,并做简单美化

    星期六, 28. 七月 2018 02:42上午 - beautifulzzzz 1.安装ArchLinux系统 安装Arch主要看其wiki,比较详细- 中文的我主要参考:一步步教你如何安装 Arc ...

  3. Linux从入门到放弃、零基础入门Linux(第四篇):在虚拟机vmware中安装centos7.7

    如果是新手,建议安装带图形化界面的centos,这里以安装centos7.7的64位为例 一.下载系统镜像 镜像文件下载链接https://wiki.centos.org/Download 阿里云官网 ...

  4. 在VM虚拟机中安装Centos操作系统

    首先我们要下载  Centos https://www.centos.org/ 这个是Centos官方 最新版本 7 https://www.centos.org/download/ 提供有 DVD安 ...

  5. 在VirtualBox虚拟机中安装Centos操作系统怎么与本地XShell远程连接

    问题: 在VirtualBox安装好了CentOS操作系统后,我们怎么才可以用XSell连接虚拟机中的CentOS呢? 答案: (1)在windows下用cmd--ipconfig查看VirtualB ...

  6. (二)Centos之在VM虚拟机中安装Centos操作系统

    一.下载 阿里云镜像 https://mirrors.aliyun.com/centos/7/isos/x86_64/ 下载那个 DVD版本即可. 二.安装 在安装操作系统之前 我们来给这个“机器”搞 ...

  7. 别人写的一个Bootstrap系列教程

    http://www.cnblogs.com/lansy/category/659061.html

  8. 一个人写的操作系统 - Sparrow OS

    一个人写的操作系统 - Sparrow OS 自己写一个操作系统,这是在过去的几年里我一直为之努力的目标,现在终于完成了. 缘起 自己动手写操作系统的动机最初来自于学习Linux遇到的困难. 我是一个 ...

  9. 自制 os 极简教程1:写一个操作系统有多难

    为什么叫极简教程呢?听我慢慢说 不知道正在阅读本文的你,是否是因为想自己动手写一个操作系统.我觉得可能每个程序员都有个操作系统梦,或许是想亲自动手写出来一个,或许是想彻底吃透操作系统的知识.不论是为了 ...

  10. 【操作系统】关于Linux桌面操作系统

    以前是Win+Ubuntu+黑苹果,周末想体验一下deepin,于是简单安装了一下,安装过程很简单,这里不再描述.安装之后,第一次打开系统,确实很惊艳,赏心悦目的操作系统. 之前用Ubuntu时候,C ...

随机推荐

  1. Python 去掉文本内容中的\xa0字符

    爬取网页时,不可避免会遇到\xa0字符串,就会发现,正则re.sub(r'\xa0', '')和字符串的replace都不管用. 通常地,我们所用的空格的ASCII码是 \x20 ,是在标准ASCII ...

  2. angular项目语言切换功能

    1.NzI18nService服务 参考:https://ng.ant.design/docs/i18n/zh 2.ngx-translate插件 1)安装依赖 npm install @ngx-tr ...

  3. docker知识篇

    什么是Docker?Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).b ...

  4. nodejs实现页面的增删查

    一.在mong0db.js中写如下代码 1.导入 const mongoose = require("mongoose"); // 建立数据库连接 mongoose.connect ...

  5. 无显示器无键盘的树莓派搭建NAS(samba)

    使用软件Rufus烧录系统2020-02-13-raspbian-buster.img到TF卡后,在TF卡的文件夹内创建空文件ssh,再创建一个名为wpa_supplicant.conf的文件,内容为 ...

  6. CentOS 7(Linux)安装docker,执行yum install docker-io -y报错

    CentOS 7(Linux)安装Docker,执行yum install docker-io -y报错 一.执行yum install docker-io -y报错 Error: docker-ce ...

  7. HttpRunner4.x版本调试测试用例时报错 run testcase failed error="abort running due to failfast setting: variable XXX not found" 解决方法

    httprunner脚本调试报错 未知变量名称未定义问题 解决了,由于请求的requestBody证件照片链接包含$关键字,需要使用$$转义.   执行脚本报错截图 接口requestBody参数截图 ...

  8. 二、Basic HTML5 知识整理

    一.需要记下的html5知识 1.html5网页文本框架 <!DOCTYPE html> <html> <head></head> <body&g ...

  9. jieba原理

    一.jieba介绍jieba库是一个简单实用的中文自然语言处理分词库. jieba分词属于概率语言模型分词.概率语言模型分词的任务是:在全切分所得的所有结果中求某个切分方案S,使得P(S)最大. ji ...

  10. C/C++ 数据结构链式队列的定义与实现

    #include <iostream> #include <Windows.h> using namespace std; typedef struct _QNode{ int ...