之:GRUB总结
来源:互联网 发布:蒸脸器推荐 知乎 编辑:程序博客网 时间:2024/05/14 12:05
最近要自己运行一个简洁系统,恩grub,内核,根文件系统(busybox),c库来做成一个系统跑起来。这些都是很多前人经验,而我也只是做个流水账式思路整理。
一,计算机启动过程
从开机按钮到完全开机,可以理解为有三个阶段:1,bios启动阶段,这个是硬件厂商所设置,检查设备信息,这一步也可更改一些系统信息;2,系统启动引导管理器,假如机子上安装有多个系统,则需要一个引导管理器帮助用户选择,即使机子上有一个系统,也需这个阶段将其引导启动;3,系统(windows、linux等)接到控制权后开始初始化执行任务。
这个在大一学装系统时就疑惑计算机这个东西运行过程,学会了装系统,心里定义为bios到系统,感觉明朗了很多。现在来看,原来还有一个中间阶段,以后可能还会有更多东西。
二,grub简介
grub处于第二阶段。目前了解系统引导管理器主要有grub和lilo,相对与lilo,grub有交互命令界面、支持网络引导等优点。
grub系列可以说有三部分:grub,grub2,grub4dos。最开始有的是grub0.x系列,最后的一般是grub0.97,这部分称之为grub。grub2是新一代的grub,实现了很多新的功能,但处于不稳定阶段(现在说这句话不知到有错没有)?grub4dos是grub的一个分支,注重兼容性。
打算选择grub0.97,结合Ubuntu系统也有可能选择grub2。
三,grub工作简要流程
主要关注学习的是grub和grub2,所以就简介一下这两者工作流程。
grub:第一个阶段是stug1,start,stage1.5,stage2。
grub2:前两个阶段是一样的,这与后边则集成了一个内核,所以一共有三个阶段--stage1,start,内核阶段。
grub2比grub小很多,也比较快,但据说是只有Ubuntu在用grub2方面比较积极。
四,利用grub更改开机系统
利用grub配置开机启动时系统选择是grub最常见用处。这里边有两种途径:修改配置文件,开机启动时进入grub界面修改用命令修改。这一块很多东西,不过我用的是配置文件,仿照原来的配置文件作修改。
五,Linux下将grub装在U盘中
将grub安装在u盘中可以制作U盘启动,这个是学习也是工作要求。大概的步骤就是:对u盘进行分区,激活某个分区,格式化分区,安装grub到u盘,配置grub文件,安装grub到U盘的MBR。
1,根据需要将u盘进行分区
sudofdisk -l
查看系统是否发现了U盘,硬盘有IDE和SCSI两种,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
上面我们创建了两个分区 sdc1,sdc2
格式化如下:
mke2fs -j /dev/sda1
mke2fs -j /dev/sda2 #参数j表示格式化为ext3格式的,不加为ext2格式.我进行完这一步了,但是怕会有别的什么问题,所以u盘就没有分两个区,直接整个u盘格式化激活了。
4,安装grub到U盘。这一步有很多方式,目前也不确定哪种可行,需要实践验证
install,setup,grub-install三个命令。
着重看了一下grub-install。grub-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进入系统。但可以手动进入原来系统。
- 之:GRUB总结
- Grub错误总结解决方案
- Grub错误总结解决方案
- 多系统 grub之ubuntu的 grub
- Grub错误之总结报告
- Grub错误之总结报告
- LFS之了解GRUB
- linux之Grub修复
- Grub错误之总结报告
- 有关grub一些文章总结
- Linux运维笔记-文档总结-系统恢复技术之grub 文件错误修复
- RHCE之grub.conf 篇
- GRUB启动分析之stage1
- grub之 menu.lst 样例
- Linux 引导流程 之 GRUB
- Linux之boot loader:GRUB
- GRUB启动分析之stage1
- Ubuntu 之 grub 引导方法
- PCB设计铜箔厚度、线宽和电流关系
- .NET LINQ 数据分区
- Unity3d与iOS交互开发——接入平台SDK必备技能
- Internal Order with destination type input error ISSUE
- 二叉树的遍历算法(递归与非递归)
- 之:GRUB总结
- .NET LINQ 联接运算
- 链表 C实现
- 个人有关内存的思考:
- Java 反射学习(四)反射技术开发框架原理简单实现
- openstack中的身份管理
- 守护线程总结
- 守候18年,为我们擦肩而过的爱情
- javascript 操作img 标签 显示 隐藏 图片