Linux核心被读入内存后, 才真正启动了, 概述如下:
Linux核心是被压缩安装的, 所以它首先得解压自己. 核心映象开头包括一个解压的小程序.
如果你有Linux可识别的super-VGA卡, 且支持一些特殊的文本模式(如100列40行), Linux会问你要用哪个模式. 编译核心时, 可能预定了一个视频模式, 就不会问了. 这也可以用LILO或 rdev 完成.
然后, 核心检查还有什么其他硬件(硬盘, 软盘, 网卡...), 并配置适当的设备驱动; 同时, 输出查找结果的信息. 例如, 我引导时, 得到类似如下信息:
LILO boot:
Loading linux.
Console: colour EGA80x25, 8 virtual consoles
Serial driver version 3.94 with no serial options enabled
tty00 at 0x03f8 (irq = 4) is a 16450
tty01 at 0x02f8 (irq = 3) is a 16450
lp_init: lp1 exists (0), using polling driver
Memory: 7332k/8192k available (300k kernel code, 384k reserved, 176k data)
Floppy drive(s): fd0 is 1.44M, fd1 is 1.2M
Loopback device init
Warning WD8013 board not found at i/o = 280.
Math coprocessor using irq13 error reporting.
Partition check:
hda: hda1 hda2 hda3
VFS: Mounted root (ext filesystem).
Linux version 0.99.pl9-1 (root@haven) 05/01/93 14:12:20
精确的文本在不同系统上不同, 依赖硬件, Linux版本, 及其配置.
然后核心试图mount根文件系统. 位置可在编译时设置, 或在任何时候使用 rdev 或LILO. 文件系统类型自动检测. 如果根文件系统mount 失败, 例如因为你忘了在核心中包含相关的文件系统驱动, 核心将失败, 系统停止(此时没什么可做了).
根文件系统通常被只读mount(这可用与位置相同的方法). 这可使文件系统在mount上时检查; 检查一个可读写的已mount的文件系统可不是个好主意.
然后, 核心在后台启动程序 init (位于/sbin/init ) (它的进程号是1). init 做许多启动工作. 确切的事依赖于设置; 参见章了解更多信息. 它至少要启动一些必要的后台守候程序.
init 然后切换到多用户模式并启动getty ,提供虚拟控制台和串行线. getty 是一个让用户通过虚拟控制台和串行终端登录的程序. init 还可能启动一些其他程序, 基于设置.
至此, 引导完成, 系统启动并正常运行.
关于关机的更多信息
关闭Linux系统时,遵循正确的过程是很重要的 。否则,文件系统可能成为废物,文件可能变成杂乱的 。这是因为Linux使用磁盘缓存,并不立即将数据写到磁盘,而是间歇地回写 。这极大地改善了性能,但同时也意味着如果你只是关闭电源,cache可能保留着大量数据,而磁盘上的数据可能不是一个全部的正在工作的文件系统(因为有些数据已经回写到硬盘,而有些没有) 。
另一个不能直接关闭电源的原因是:在多任务系统中,后台可能运行着很多东西,关闭电源可能损失惨重 。使用正确的关机顺序,可以保证所有的后台进程得以保存他们的数据 。
正常关闭Linux系统的命令是shutdown。它通常使用2种方法之一 。
如果系统只有你一个用户,使用shutdown 的通常方法是退出所有运行程序,从所有虚拟控制台注销,用root登录(如果你已经是root,当然不必再注销、登录,但应该换到根目录,以免由于unmount出现问题),然后运行命令shutdown -h now (虽然单用户时一般不必要,但如果需要一个延时,用一个加号加一个表示分钟的数目代替now)
如果系统是多用户,使用命令shutdown -htime message,time是到系统停止的分钟数,message是告知所有用户系统关机原因的短信息 。
# shutdown -h10 "We will install a new disk. System should
〉 be back on-line in three hours."
#
上面的命令警告所有用户,系统将在10分钟后关闭,他们最好保存信息,否则将丢失 。警告将显示在所有登录的终端上,包括所有的xterm 上:
推荐阅读
- 4 Linux管理员手册--内存管理
- 3 Linux管理员手册--存贮介质
- 1 Linux管理员手册--系统概述
- 2 Linux管理员手册--目录树概述
- 2 Linux指令大全
- Linux指令大全
- Linux下Makefile的automake生成全攻略
- Linux中流媒体Helix Server的安装和配置
- 利用shell编程实现DOS风格的Linux命令行
- 设置一个高容量的Linux POP3服务器