Linux 启动详解
机器加电启动后,BIOS开始检测参数,如内存的大小,日期和时间,磁盘
设备以及这些磁盘设备用来引导的顺序,通常情况下,BIOS都是被配置成首先检查
软驱或者光驱(或两者都检查),然后再尝试从硬盘引导。如果在这些可移动的设
备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区,
寻找用于装载操作系统的指令。装载操作系统的这个程序就是boot loader.
里面的boot loader通常是lilo或者grub,从RedHatLinux 7.2起,GRUB(
GRand Unified Bootloader)取代LILO成为了默认的启动装载程序。那么启动的时候
grub是如何被载入的呢
grub有几个重要的文件,stage1,stage2,有的时候需要stage1.5.这些文件一般都
在/boot/grub文件夹下面.grub被载入通常包括以下几个步骤:
1. 装载基本的引导装载程序(stage1),stage1很小,网上说是512字节,但是在我的系统上
用 du -b /boot/grub/stage1 显示的是1024个字节,不知道是不是grub版本不同的
缘故还是我理解有误.stage1通常位于主引导扇区里面,对于硬盘就是MBR了,stage1的
主要功能就是装载第二引导程序(stage2).这主要是归结于在主引导扇区中没有足够的
空间用于其他东西了,我用的是grub 0.93,stage2文件的大小是 107520 bit.
2. 装载第二引导装载程序(stage2),这第二引导装载程序实际上是引出更高级的功能,
以允许用户装载入一个特定的操作系统。在GRUB中,这步是让用户显示一个菜单或
是输入。由于stage2很大,所以它一般位于文件系统之中(通常是boot所在的根
分区).
上面还提到了stage1.5这个文件,它的作用是什么呢 你到/boot/grub目录下看看,
fat_stage_1.5 e2fs_stage_1.5 xfs_stage_1.5等等,很容易猜想stage1.5和文件系统
有关系.有时候基本引导装载程序(stage1)不能识别stage2所在的文件系统分区,那么这
时候就需要stage1.5来连接stage1和stage2了.因此对于不同的文件系统就会有不同的
stage1.5.但是对于grub 0.93好像stage1.5并不是很重要,因为我试过了,在没有stage1.5
的情况下, 我把stage1安装在软盘的引导扇区内,然后把stage2放在格式化成ext2或者
fat格式的软盘内,启动的时候照常引导,并不需要e2fs_stage_1.5或者fat_stage_1.5.
下面是我的试验:
#mkfs.ext2 /dev/fd0
#mount -t ext
相关文档:
总览
用iptables -ADC 来指定链的规
则
,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......
关于qt embedded phonon 安装问题。
可能在安装$sudo ./configure -phonon -phonon-backend .....的时候会说找不到phonon ,
很明显因为没有这个phonon这个库,当然就会找不到,在编译的时候,
特别是./configure -phonon -phonon-backend当编译很段时间后会说:Phonon support cannot ...这个时候就就请你加上'-v';$sud ......
因为LINUX
的内核
机制,一般情况下不需要特意去释放已经使用的cache。这些cache起来的内容可以增加文件以及的读写速度。
先说下free命令怎么看内存
[root@ahsq proc]# free
total used free shared buffers cached
Mem: 515588 295452 220136 0 2060 64040
-/+ buffers/cache: 229352 286236
Swap: 682720 112 ......
本文记录一下本人安装LAMP的全过程
本人使用的Linux为RedHat Enterprise 5 X64
第一步:安装Mysql
Mysql的安装比较简单,为了避免出现文件找不到的情况,我依次下载安装了以下4个RPM包
MySQL-server-community-5.1.46-1.rhel5.x86_64.rpm
MySQL-client-community-5.1.46-1.rhel5.x86_64.rpm
MySQL-devel-commu ......
经常需要Kill多个进程,这些进程包含共同的关键字,可以用一条命令Kill掉它们。 ps aux | grep "common" | cut –c 9-15 | xargs kill –9 管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的几个命令: "ps aux" 查看所有进程的命令。这时检索出的 ......