创建一个简易的Linux

 

目标:

  为CentOS 6添加一块新硬件,提供两个主分区;
    (1) 为硬盘新建两个主分区;并为其安装grub;
    (2) 为硬盘的第一个主分区提供内核和ramdisk文件; 为第二个 分区提供rootfs;
    (3) 为rootfs提供bash、ls、cat程序及所依赖的库文件;
    (4) 为grub提供配置文件;
    (5) 将新的硬盘设置为第一启动项并能够正常启动目标主机;

搭建环境:

  VM虚拟机:
    VMware Workstation 12 pro
  Linux系统版本:
    CentOS-6.5-x86_64

第一步:添加一块新硬盘,并分区。

1、查看是否成功添加新硬盘

a1.png  

 2、创建分区

a2.png  

3、格式化分区为ext4文件系统

  [root@localhost ~]# mke2fs -t ext4 /dev/sdb1
  [root@localhost ~]# mke2fs -t ext4 /dev/sdb3
  [root@localhost ~]# mkswap /dev/sdb2

第二步:挂载分区

 

1、创建boot目录
     mkdir /mnt/boot
2、挂载
   mount /dev/sdb1 /mnt/boota3.png

 

第三步:安装grup

1、安装grub

a4.1.png

 

第四步:提供内核、ramdisk及grub配置文件。

1、提供内核和ramdisk文件

a5.png

2、提供grub配置文件

a6.png

 

第五步:创建根文件目录,并提供程序

1、创建根文件系统目录

a7.png

2、提供程序和程序依赖的库文件,查找程序的位置使用命令:whereis,查看程序依赖于哪些库文件使用命令:ldd

a8.1.png

3、依次复制ls、cat命令,方法同上
4、测试是否能使用,使用chroot命令临时切换根测试 

a9.png

第六步:新建虚拟机测试

1、创建虚拟机时磁盘选择刚刚创建好的磁盘

a.png

2、可以看到刚刚定义的Centos名称

2.png

3、按e键进入编辑模式,看到定义的grub配置文件

3.png

4、成功启动

4.png

 

原创文章,作者:641348038@qq.com,如若转载,请注明出处:http://www.178linux.com/65313

(0)
641348038@qq.com641348038@qq.com
上一篇 2016-12-30
下一篇 2016-12-30

相关推荐

  • 第一周作业-02

    Linux的命令格式 命令的语法通用格式:    ~]# COMMAND OPTIONS ARGUMENTS        COMMAND: 发起一命令:请求内核将某个二进制程序运行为一个进程;            程序 –&…

    Linux干货 2016-09-19
  • 文件查找:find命令、locate命令;Linux文件系统上的权限

    文件查找:find、locate locate:依赖事先构建的索引,是在系统空闲周期性自动进行;手动更新(updatedb);极其消耗资源;   find [option]… [查找路径] [查找条件] [处理动作] 查找条件: 根据文件名查找: -name “文件名称”:支持使用通配符glob(*,?,[],[…

    Linux干货 2017-12-14
  • 第一周作业

    # 1.计算机的基本组成和功能: – **存储器**:  实现记忆功能的部件用来存放计算程序及参与运算的各种数据 – **运算器**:  负责数据的算术运算和逻辑运算即数据的加工处理 – **控制器**:  负责对程序规定的控制信息进行分析,控制并协调输入,输出操作或内存访问 – **输入设备**: 实现计算程…

    Linux干货 2016-12-04
  • 模块化的php编译amp和fpm化的php编译amp;

    编译安装amp 一,编译环境前准备工作 (1) 系统环境:CentOS 6,7     CentOS 6:apr, apr-util的版本为1.3.9,不适用于httpd-2.4;     CentOS 7:apr, a…

    Linux干货 2016-10-17
  • 第三周博客作业

    who useradd usermod groupadd

    Linux干货 2017-12-17
  • $@与$*的不同之处

    $@与$*的不同之处 $*: 把我们传递给脚本的参数全部合为一个字节,当成一个字符串或者参数来使用。 $@: 把我们传递给脚本的所有参数,每个参数都为独立字符串,当我们用 \((n) 来调用的时候, 输入参数的位置为第几个,那我们就用用\)n来调用第几个,一对应。 下面我们用代码来看一下这两个的区别: 创建一个简单的脚本让他输出我们输入的多个参数:&#822…

    2017-06-06