之:GRUB总结

来源:互联网 发布:蒸脸器推荐 知乎 编辑:程序博客网 时间:2024/05/14 12:05

      最近要自己运行一个简洁系统,恩grub,内核,根文件系统(busybox),c库来做成一个系统跑起来。这些都是很多前人经验,而我也只是做个流水账式思路整理。

一,计算机启动过程

      从开机按钮到完全开机,可以理解为有三个阶段:1bios启动阶段,这个是硬件厂商所设置,检查设备信息,这一步也可更改一些系统信息;2,系统启动引导管理器,假如机子上安装有多个系统,则需要一个引导管理器帮助用户选择,即使机子上有一个系统,也需这个阶段将其引导启动;3,系统(windowslinux等)接到控制权后开始初始化执行任务。

     这个在大一学装系统时就疑惑计算机这个东西运行过程,学会了装系统,心里定义为bios到系统,感觉明朗了很多。现在来看,原来还有一个中间阶段,以后可能还会有更多东西。

二,grub简介

    grub处于第二阶段。目前了解系统引导管理器主要有grublilo,相对与lilogrub有交互命令界面、支持网络引导等优点。

    grub系列可以说有三部分:grub,grub2,grub4dos。最开始有的是grub0.x系列,最后的一般是grub0.97,这部分称之为grubgrub2是新一代的grub,实现了很多新的功能,但处于不稳定阶段(现在说这句话不知到有错没有)?grub4dosgrub的一个分支,注重兼容性。

    打算选择grub0.97,结合Ubuntu系统也有可能选择grub2

三,grub工作简要流程

    主要关注学习的是grubgrub2,所以就简介一下这两者工作流程。

    grub:第一个阶段是stug1start,stage1.5,stage2

    grub2:前两个阶段是一样的,这与后边则集成了一个内核,所以一共有三个阶段--stage1,start,内核阶段。

    grub2grub小很多,也比较快,但据说是只有Ubuntu在用grub2方面比较积极。

四,利用grub更改开机系统

    利用grub配置开机启动时系统选择是grub最常见用处。这里边有两种途径:修改配置文件,开机启动时进入grub界面修改用命令修改。这一块很多东西,不过我用的是配置文件,仿照原来的配置文件作修改。

五,Linux下将grub装在U盘中

     将grub安装在u盘中可以制作U盘启动,这个是学习也是工作要求。大概的步骤就是:对u盘进行分区,激活某个分区,格式化分区,安装grubu盘,配置grub文件,安装grubU盘的MBR

     1,根据需要将u盘进行分区

    sudofdisk -l                  

  查看系统是否发现了U盘,硬盘有IDESCSI两种,U盘为SCSI的,支持热插拔,而所用硬盘通常为IDE格式的,如果硬盘为SCSI格式,则linux系统中U盘会显示/dev/sdb1

以发现u/dev/sdc1为例

   fdisk/dev/sda #不是sdc1

   Command(m for help): d   #删除分区

   Partitionnumber(1~4):1     #删除分区的数目,没有进行过分区的为1

   Command(m for help): w  #保存

   fdisk/dev/sda                     #重新进入

   Command(m for help) n   #表示新增一个分区

   Commandaction

   e extended                         #扩展分区

   p primary partition (1-4)    #主分区

   p #输入p,创建主分区

   Partitionnumber (1-4): 1    #创建第一个主分区

   Firstcylinder (1-1024, default 1): #表示卷标起始数,回车默认即可

   Usingdefault value 1

   Lastcylinder or +size or +sizeM or +sizeK (1-1024, default 1024): +30M

                                                            #冒号后面自己输入分区的大小,格式如+30M

   Command(m for help): n #再创建一个主分区

   Commandaction

   e extended

   p primary partition (1-4)

   p

   Partitionnumber (1-4): 2    #主分区2

   Firstcylinder (315-1024, default 315): #分区开始地址

   Usingdefault value 315

   Lastcylinder or +size or +sizeM or +sizeK (315-1024, default 1024): #(就打算两个分区,所以这里直接回车默认)

  Usingdefault value 1024

   Command(m for help): w    #保存所做操作,退出

2,激活分区,在此激活sdc1分区,一会grub装载此分区当中

   fdisk/dev/sdc

   command(m for help):a

   Partitionnumber(1-6):0

   Command(m for help):w

   可以查看是否激活

   fdisk-l /dev/sdc                     #Boot想有*表示激活

3,U盘格式化:mke2fs

   上面我们创建了两个分区 sdc1sdc2

   格式化如下:

   mke2fs -j /dev/sda1

   mke2fs -j /dev/sda2 #参数j表示格式化为ext3格式的,不加为ext2格式.我进行完这一步了,但是怕会有别的什么问题,所以u盘就没有分两个区,直接整个u盘格式化激活了。

4,安装grubU盘。这一步有很多方式,目前也不确定哪种可行,需要实践验证

   install,setup,grub-install三个命令。

   着重看了一下grub-installgrub-install拷贝grub镜象文件到Dir/boot目录中(通过--root-directoty指定),并以grubshell安装到MBR中。

   命令格式:grub-install[OPTION] install_device

   sudomkdir /media/test

   sudomount /dev/sdc1 /media/test #挂载u

   sudogrub-install --root-directoty=/media/test/ /dev/sdc #安装

   5,修改grub的配置文件

需要将一些文件复制到u盘中的grub文件目录下,我用的grub,恩将grub.conf拷贝过来又建立了一个menu.lst软链接。

6,将grub安装到MBR.,这一部没用怎么涉及,上一部已经把这一步给做了。

7,测试,开机时选择从u盘启动,则就可以进入自己的grub界面,自制系统还没有弄好,所以还不能从这个grub进入系统。但可以手动进入原来系统。

0 0
原创粉丝点击