制作引导分区

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

  一、制作两个分区

    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
下一篇 2016-01-19

相关推荐

  • n28-第二周

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 cp:copy files and directories 复制文件和目录 -i:交互式复制 默认情况下是别名定义了alias cp=’cp -i’ -f:强制复制 #cp -f /etc/issue /tmp/first.txt -r:递归复制目录 将/etc目录递归复制到/tmp…

    Linux干货 2017-12-10
  • Linux网络协议命令介绍(3)

      在上一章中,我们谈到了网络协议以及TCP传输层说明,下面我们来介绍一下序列号和确认好有什么区别之外,以及基本的网络命令。 1、序列号和确认号有什么区别? 2、网络功能 3、网络命令 4、配置文件 1、序列号和确认号有什么区别?   发送方与接收方的发送请求,把SYN设置为1,TCP报文出去都有个号码,随机生成称为序…

    Linux干货 2016-11-29
  • SElinux 练习

    练习 .1、安装httpd服务,改变网站的默认主目录为/website,添加SELinux文件标签规则,设置http_sys_content_t到/website及目录下所有文件,使网站可访问 mkdir    /website vim    /etc/httpd/conf/ht…

    Linux干货 2016-09-19
  • Linux发展史

    日期:2016-10-12  Bell,MIT与GE的『Multics』系统     早期的计算机还很不普遍,除非是军事或者高科技用途,或者学术单位的学术研究,否则真的很难接触到。而且计算机架构很难使用。那个时候,程序设计者必须先将程序相关的信息在读卡纸上面打洞然后将读卡纸插入卡片阅读机来将信息读入主机中运算…

    Linux干货 2016-10-14
  • 马哥教育网络班21期-第五周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符…

    Linux干货 2016-08-08
  • shell脚本编程小节及作业

    使用read命令来接收输入          使用read来把输入值分配给一个或多个shell变量:         -p:指定要显示的提示     &nbsp…

    Linux干货 2016-08-22