制作引导分区

  使用虚拟机制作一个可以引导启动的简单系统。方法如下:

  一、制作两个分区

    1、添加一块新的硬盘,新建两个分区,格式化并挂载到/mnt/boot和/mnt/sysroot目录中;虚拟机添加硬盘的操作很简单就不做演示了,要注意的是添加的硬盘最好选择成“将虚拟磁盘存储为单个个文件”,并为将文件名修改为容易识别的名字,以方便用于挂载到其它虚拟机中。

3.jpg

    2、对新硬盘进行格式化并创建两个分区,容量分别为512M和10G。在目录/mnt下创建两个目录boot和sysroot,用于挂载文件系统。

1.jpg

  二、安装grub

    使用grub-install命令安装grub,命令格式为:

      grub-install [–root-directory=挂载点父目录] DEVICE 

        挂载点父目录:内核及initrd文件所在的分区的挂载点的父目录,且此挂载点必须叫boot。例如:为/boot所在的目录这安装grub,那么–root-directory=/;而对于/mnt/boot目录安装grub,命令如下图所示:

2.jpg

  三、复制内核文件和ramdisk文件

3.jpg

1.jpg

  四、添加grub.conf文件

    grub.conf文件的作用,在进入系统前为用户提供一个选择的菜单。

6.jpg

    各选项含义如下:

      default=0:选择菜单的光标默认在第一项;

      timeout=5:等待用户选择时间为5秒; 

      tiltle TestOS:菜单中显示系统的名称为TestOS;

      root (hd0,0):指定第一个分区为接下来要启动的系统或内核文件所在的分区;

      kernel:指定要运行的内核文件;

      initrd:为要运行的内核指定其可用的ramdisk文件。

  五、创建系统目录

    手动添加各系统目录,如下图所示:

6.jpg

  六、复制程序

    手动将/bin/bash程序复制到/mnt/sysroot目录中,由于程序会调用库文件,还需要把相关的库文件一并复制过去,使用ldd命令可以查找出程序相关的库文件。

7.jpg

8.jpg

9.jpg

    也可以使用此方法复制命令到新的系统中;

4.jpg

  七、测试

    1、本地测试

     使用chroot命令在本地测试:

10.jpg

    2、启动测试

      创建一个新的虚拟机,硬件选择上面创建的那个,然后启动虚拟机。

2.jpg

3.jpg

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

赞 (0)
petmasterpetmaster
上一篇 2016-01-18 23:04
下一篇 2016-01-19 10:26

相关推荐

  • N25-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;     ~]# fdisk /dev/sda  (n, +10G 创建10G分区,w保存退出)   &nbsp…

    Linux干货 2017-01-22
  • RAID功能介绍及其使用

    RAID功能介绍及其使用 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据…

    Linux干货 2017-01-06
  • linux基础知识:文件管理,bash特性

    本文简要介绍了文件类的管理命令,包括mv、cp、mkdir等等。还介绍了一些万用字符的用法。

    2017-12-12
  • 第二周-博客

    本文大纲 文件系统层级结构标准 Linux上常见的文件类型 bash的基础特性 用户、组和普通权限 一些零散命令的使用 文件系统层级结构标准 FHS是Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定…

    Linux干货 2016-12-07
  • 数组详解

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合          数组名:整个数组只有一个名字     数组索引:编号从0开始,属于数值索引     &n…

    Linux干货 2016-08-24
  • linux计划任务

    linux计划任务、周期性任务执行 未来的某时间点执行一次某任务:at,batch 周期性运行某任务:crontab 执行结果: 会通过邮件发送给用户, 存放在/var/spool/mail/UserName ~]# ss -tnl 或者 ~]# netstat -tnlp  查看是否有25号端口打开,来判断本机的邮件服务是否正常打开 本地电子邮件…

    Linux干货 2016-09-19