制作引导分区

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

  一、制作两个分区

    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