一、/boot/initrd
initrd(initial ramdisk)是一个在Linux启动过程中内核使用的临时文件系统。该文件系统为挂载真正的文件系统做准备。要想看看里面都是什么东西,可以进行下面的操作:
# mkdir ~/initrd
# cp /boot/initrd ~/initrd
# cd ~/initrd
# mv initrd initrd.gz
# gunzip initrd.gz
# cpio -idmv < initrd
可以看出该文件系统首先用cpio压缩归档,再用gzip压缩。
二、/boot/vmlinuz
静态链接的内核可执行文件,如果用源代码编译内核,对应文件是/usr/src/linux/arch/i386/boot/bzImage
三、/boot/System.map
该文件由命令nm /boot/vmlinuz得到。重新编译新内核后,该文件需要更新,如果有多个内核的话,加上相应的版本号。如果/boot/System.map和系 统不符,内核会使用/usr/src/linux/System.map。该文件是内核地址和变量名的对应。该文件在调试内核时很有帮助。我觉得这和 gdb调试应用程序时需要gcc加上-g选项有异曲同工之妙。我没有发现Solaris有相应的东西,可能是因为Solaris有强大的内核调试工具的原 因吧。
四、/boot/grub/menu.lst
如果你在C盘安装了windows,大概需要这么两行。
rootnoverify (hd0,0)
chainloader +1(hd0,0)
五、/boot/grub/device.map
(hd0) /dev/hda
grub使用的设备名称和Linux的不太一样,这是一张映射表。
0 条评论。