Linux操作系统下关于引导和初始化的问题
http://tech.ddvip.com 2007年07月10日 社区交流
内容摘要:Linux操作系统下关于引导和初始化的问题
序(Boot Loader).
4.详细启动和初始化过程描述
1)从软盘启动Linux
从软盘启动时,存储在软盘第一扇区的指令将被加载并执行.这个指令然后就会把其余的内核复制到内存
中.
Linux内核可以装在1.44MB的软盘里,不过为了减少磁盘占用量,它们都进行了压缩.这个压缩过程是在
编译时完成的,而解压缩的过程则由自举程序完成.
从软盘启动Linux时,自举程序要做的工作非常简单.它是一个位于
/usr/src/linux-2.4.2/arch/i386/boot/bootsect.S的汇编语言文件.当我们编译Linux内核源代码,或
者获取一个新的内核时,这个可执行的汇编代码就会被放在内核程序的前端.由此可见,要制作一个可启
动的Linux软盘其实很简单.我们只要从磁盘的第一个扇区拷贝Linux内核,就可以创建一个可启动软盘.
当BIOS加载软盘的第一个扇区时,它实际上拷贝的是自举程序.自举程序由BIOS调用(跳到物理地址为
0x00007c00的位置),然后执行以下的操作:
(1)把自已从地址0x00007c00移动到0x00090000;
(2)使用地址0x00003ff4,创建"实模式"栈;
(3)设置磁盘参数表,这里使用的是BIOS提供的软盘驱动程序;
通过调用BIOS程序显示"Loading"信息;
(4)自举程序调用BIOS程序来加载软盘上内核的setup()函数,并把它放在起始地址为0x00090200的内
存中;
(5)接下来自举程序调用一个BIOS程序,这个程序从软盘加载剩余的内核程序,并将其放入起始地址为
0x00010000(所谓的低地址)或者0x00100000(所谓的高地址);
(6)然后,跳转到setup()函数.
2)从硬盘启动Linux
当系统从硬盘启动时,启动过程又有所不同.硬盘的第一个扇区(0头0道1扇区)叫做MBR(Master
责编:豆豆技术应用
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……