制作引导分区

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

  一、制作两个分区

    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

相关推荐

  • linux 记忆命令心得

    新开始学linux,要记住很多的命令,毕竟这是linux的根本,没有这些命令,连操作都没办法进行。所以我写这个的目的是我自己记忆,也是想帮助一下一同学习linux的同学们,提供自己记忆这些的方法,抛砖引玉,大家共同讨论一下。 我的记忆方法就是分类,把命令分成输出类,名词累,操作类。 输出类就是说的例如w,who,whoami,echo,ifcogfig,wh…

    Linux干货 2017-07-15
  • 第七周作业

    1、简述linux操作系统启动流程 CentOS 启动流程图: 通电自检 power on system test(POST)–> BIOS –> 主机加电以后会将各个部件运转起来,然后通过COMS上的软件程序BIOS(Basic Input Output System)检测每个设备cpu、内存、硬盘进行故障检查并进行硬件…

    2018-02-07
  • Linux基础学习总结(二)

    经过前两周的学习,我们大家对于Linux系统和操作已经有了一定的认识。基于Linux平台进行开发,确实要更方便和高效,我经过自己的学习消化,现在将自己的理解的几点总结下来: Linux哲学思想的几句话,简洁的阐明了linux系统的特点。其中一切都是一个文件这句话特别精辟,在实际学习和操作linux系统之后,更是深刻体会到了这句话的内涵,感受颇深。它具体指明了…

    Linux干货 2018-03-16
  • zabbix low-level discover 监控端口

    zabbix通过调用jason格式的输出,实现数据的收集 获取端口的shell脚本   #!/bin/bash port_array=(`netstat -tnl|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]…

    Linux干货 2016-06-09
  • nginx安装配置

    nginx安装配置 Nginx介绍 Engine X是一个高性能、高并发的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 Nginx优点 高并发:Nginx 是一个很强大的高性能Web和反向代理…

    Linux干货 2016-11-08
  • inode 是什么及绝对路径和相对路径和一些目录相关命令总结

    inode是什么          每个分区又分两个区,元数据区和数据区。     元数据区主要存储文件的权限,属主属组,时间戳,文件的存储位置指针….就如一本书有目录页和内容页一样,目录页上的记录的是内容的页数,可以通过目录页的页数直接…

    Linux干货 2016-08-02