/boot 目录介绍

转载 2012年03月26日 22:26:57

一、/boot/目录中的文件和目录

Linux系统在本地启动时,目录/boot/非常重要,其中的文件和目录有:

(1)系统Kernel的配置文件;

(2)启动管理程序GRUB的目录,里面存放的都是GRUB在启动时所需要的画面、配置及各阶段(stage1, stage1.5, stage 2)的文件。见下图。

[root@patrickxia grub]# ls -l 总用量 185 -rw-r--r-- 1 root root 82 6月 14 02:09 device.map -rw-r--r-- 1 root root 7840 6月 14 02:09 e2fs_stage1_5 -rw-r--r-- 1 root root 7536 6月 14 02:09 fat_stage1_5 -rw-r--r-- 1 root root 6880 6月 14 02:09 ffs_stage1_5 -rw------- 1 root root 541 6月 14 02:09 grub.conf -rw-r--r-- 1 root root 8448 6月 14 02:09 jfs_stage1_5 lrwxrwxrwx 1 root root 11 6月 14 02:09 menu.lst -> ./grub.conf -rw-r--r-- 1 root root 7040 6月 14 02:09 minix_stage1_5 -rw-r--r-- 1 root root 9408 6月 14 02:09 reiserfs_stage1_5 -rw-r--r-- 1 root root 11050 2003-02-25 splash.xpm.gz -rw-r--r-- 1 root root 512 6月 14 02:09 stage1 -rw-r--r-- 1 root root 106364 6月 14 02:09 stage2 -rw-r--r-- 1 root root 6528 6月 14 02:09 vstafs_stage1_5 -rw-r--r-- 1 root root 9320 6月 14 02:09 xfs_stage1_5

(3)Initrd文件,是系统启动时的模块供应的主要来源;

(4)System.map文件时系统Kernel中的变量对应表;

(5)vmlinuz是在启动过程中最重要的一个文件,因为这个文件就是实际系统所使用的kernel。

二、/boot/grub目录

2.1 grub.conf文件

这个文件其实是启动管理程序GRUB的配置文件。在同一层目录下面(/boot/grub/)还有一个它的镜像文件menu.lst。而在SUSE中menu.lst是GRUB实际用到的文件。

下面这个文件是我系统上摘录的。

# grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/sda2 # initrd /initrd-version.img #boot=/dev/sda default=0 timeout=10 splashimage=(hd0,0)/grub/splash.xpm.gz title Red Hat Linux (2.4.20-8) root (hd0,0) A kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ B initrd /initrd-2.4.20-8.img C

说明:

A: root(hd0,0)表示/boot/的路径。我的/boot/位于/dev/sda1,也就是BIOS检测到的第0号硬盘的0号扇区。

B: 告诉GRUB到哪里去找vmlinuz-2.4.20-8这个kernel,这里的“绝对路径”其实是/boot/vmlinuz-2.4.20-8,而文件的物理位置在/dev/sda1上。后面的ro表示以只读的方式读取该文件,而“root=LABEL=/”表示以标签名称为“/”的文件系统为根文件系统。这个根文件系统与/boot/的位置是两个概念,这里的root是加载Kernel时的一个参数,目的是告诉Kernel,根文件系统在哪里。

实际上/boot/可以挂载到其他的硬盘上。只要在A的位置说明准确就可以了,如root(hd1,0)表示/boot/在第2块硬盘上。

C: 告诉GRUB到哪里去取文件initrd,它的“绝对路径”也是/boot/initrd-2.4.20-8.img。

2.2 其他文件

毫无疑问,grub.conf文件最重要。但在/boot/grub/中还有其他一些文件,我们也可以看看它们的作用。

2.2.1 stages文件

[root@patrickxia grub]# ls -l | grep stage -rw-r--r-- 1 root root 7840 6月 14 02:09 e2fs_stage1_5 -rw-r--r-- 1 root root 7536 6月 14 02:09 fat_stage1_5 -rw-r--r-- 1 root root 6880 6月 14 02:09 ffs_stage1_5 -rw-r--r-- 1 root root 8448 6月 14 02:09 jfs_stage1_5 -rw-r--r-- 1 root root 7040 6月 14 02:09 minix_stage1_5 -rw-r--r-- 1 root root 9408 6月 14 02:09 reiserfs_stage1_5 -rw-r--r-- 1 root root 512 6月 14 02:09 stage1 -rw-r--r-- 1 root root 106364 6月 14 02:09 stage2 -rw-r--r-- 1 root root 6528 6月 14 02:09 vstafs_stage1_5 -rw-r--r-- 1 root root 9320 6月 14 02:09 xfs_stage1_5

* stage1:它是硬件引导扇区(MBR)的备份文件。

* xxx_stage1_5:这些文件的作用是连接stage1到stage2的一个通道,里面唯一存放的是该系统文件的格式,所以只要被支持的文件,就会预先存放一个格式文件在其中。

* stage2:该文件是GRUB的核心程序,它的主要功能是:

  • 提供菜单
  • 读取配置文件
  • 连接下一个boot sector

2.2.2 device.map

该文件直接侦测目前的硬件来假设BIOS所记录的实体磁盘有哪些,默认值是安装系统时就记录好的。在之后加入的磁盘,在该文件中没有显示。

2.2.3 splash.xpm.gz

启动时的背景图片。

三、System.map文件

System.map文件是一个索引文件,它记录了kernel中的symbols的位置,symbols包括有变量或函数名称。

[root@patrickxia boot]# head -10 System.map-2.4.20-8 c0100000 A _text c0100000 t startup_32 c01000a5 t checkCPUtype c0100133 t is486 c0100142 t is386 c010018c t L6 c010018e t ready c010018f t check_x87 c01001b6 t setup_idt c01001d3 t rp_sidt

这些symbols在内核中的位置对于从事内核编程的人员有重要的意义。

四、kernel及initrd

4.1 kernel文件

[root@patrickxia boot]# ls -l vmlinuz* lrwxrwxrwx 1 root root 16 6月 14 01:51 vmlinuz -> vmlinuz-2.4.20-8 -rw-r--r-- 1 root root 1122186 2003-03-14 vmlinuz-2.4.20-8

kernel主要负责的是北桥、南桥、CPU及内存,可见它们都是整个主机最重要的硬件核心部分,kernel如果处了问题,系统肯定无法启动起来。

4.2 initrd文件

initrd的全名是initial ram disk,就是启动系统所需加载的虚拟磁盘。

在系统启动过程中,kernel、initrd和system module是依次加载的。initrd包含一部分内核模块,主要是一些关键的外部硬件,如SATA、SCSI和USB等外设。它如果失败当然也会影响系统启动。

而system module这些系统中的模块,是与支持和启动无很大关系的硬件有关,如果没有这些硬件设备的支持,系统也可以启动完成,只是存在功能上的缺失,如声卡、网卡、显卡等。这些系统模块也可以在启动后,以modprobe的方式载入模块使用。

Linux中 /boot 目录介绍

转自:点击打开链接 一、/boot/目录中的文件和目录     Linux系统在本地启动时,目录/boot/非常重要,其中的文件和目录有: (1)系统Kernel的配置文件; ...
  • CTO_51
  • CTO_51
  • 2013年10月13日 19:28
  • 13437

Linux各目录及每个目录的详细介绍

【常见目录说明】 目录   /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。 /etc...
  • u013239236
  • u013239236
  • 2015年10月01日 10:58
  • 13213

U-BOOT的目录结构

U-BOOT的目录结构 网上采用的u-boot一般是1.1或1.2系列的版本,其目录结构介绍的资料比较多,在新一些的版本中U-boot目录结构做了比较大的改变,比以前的版本更加简洁、合理。下面对...
  • qq_29350001
  • qq_29350001
  • 2016年05月23日 11:16
  • 580

Linux中 /boot 目录介绍

转自:点击打开链接 一、/boot/目录中的文件和目录     Linux系统在本地启动时,目录/boot/非常重要,其中的文件和目录有: (1)系统Kernel的配置文件; ...
  • CTO_51
  • CTO_51
  • 2013年10月13日 19:28
  • 13437

Bootloader介绍和Uboot源码结构

本文是对《嵌入式Linux应用开发完全手册》的一个自我总结! 一. Bootloader介绍 1.Bootload引入的原因 Bootloader的作用是在系统启动的时候初始化必要的...
  • u010919352
  • u010919352
  • 2015年06月08日 10:57
  • 3026

springboot简单介绍

1 . springboot简单介绍(http://projects.spring.io/spring-boot/)         现在的web项目几乎都会用到spring框架,而要使用sprin...
  • u013111003
  • u013111003
  • 2016年07月21日 11:16
  • 3193

u-boot目录结构介绍

u-boot目录结构介绍  1、版本号变化: 2008年8月及以前 按版本号命名:u-boot-1.3.4.tar.bz2(2008年8月更新) 2008年8月以后均按日期命名。 目前最...
  • sts_linux
  • sts_linux
  • 2017年01月02日 14:40
  • 114

Spring Boot参考指南(中文,有目录)

  • 2016年03月04日 11:42
  • 1.14MB
  • 下载

linux /boot目录丢失后使用启动光盘修复

1,查看分区,boot分区是独立的,进入boot后删掉所有的文件 2,删除boot启动之后的启动画面,因为vmlinuz-*和initrd-*都在/boot目录下,所有是不可能手动指定内核的路径...
  • wesleyluo
  • wesleyluo
  • 2012年02月03日 15:23
  • 3285

U-boot目录结构

U-boot目录结构本文翻译自U-boot-2010-12版,译者才疏学浅,如有错误还请见谅。/arch 架构相关文件    /arm 和ARM架构相关的文件        /cpu CPU相关文件 ...
  • zxt6405
  • zxt6405
  • 2011年03月16日 20:24
  • 632
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:/boot 目录介绍
举报原因:
原因补充:

(最多只允许输入30个字)