linux啓動流程

linux操作系統常規啓動流程:

  POST-->BIOS(boot sequence)-->MBR(bootloader(512,446))-->Kernel-->initramfs-->init

MBR(bootloader)詳述

 GRUB:GRand Unified Bootloader 比較流行的啓動引導程序,突破了446字節的限制

    Stage1:MBR 主要目的爲了引導第二階段

    Stage1_5: 用來識別常見的不同的 文件系統

    Stage2: 位於內核所在的分區,/boot/grub/(這是一個基本磁盤分區,肯定能訪問的)

  GRUB的配置文件:

    /boot/grub/grub.conf

    #boot=/dev/sda

    default=0   #默認啓動的title的編號

    timeout=5   

    splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz    #指定grub的背景圖片

    hiddenmenu  #隱藏菜單

    #password --md5 密碼串  #通過grub-md5-crypt命令生成密文密碼串(防止編輯GRUB)

    title CentOS 6 (2.6.32-573.el6.x86_64)    #內核或操作系統的標題可自由修改

    root (hd0,0) #內核文件所在的設備,對grub而言,硬盤識別爲hd(磁盤,分區)

    kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root             rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap             SYSFONT=latarcyrheb-sun16 crashkernel=auto                         rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM             rhgb quiet #內核路徑及傳遞給內核的參數,/boot是獨立分區的,grub直接

              訪問的分區而不是通過文件系統訪問的,所以內核路徑在/vmlinux

            #password --md5 密碼串 #(啓動內核需要密碼)

    initrd /initramfs-2.6.32-573.el6.x86_64.img  #ramdisk文件路徑(操作系統安

                    裝過程最後一步生成的;ramdisk與內核版本要保持一致)

  GRUB的使用:

      安裝grub stage1:

        # grub

        grub> root (hd0,0)

        grub> set (hd0)

      安裝grub第二種方式:

        # grub-install --root-directory=/path/to/boot的父目錄 /PATH/TO/DEVICE

      GRUB配置文件丟失後:

        啓動進入grub命令行

        grub> find(hd0,0)/    查看分區下都有什麼問題件

        grub> kernel /PATH/TO/KERNEL_FILE

        grub> initrd /PATH/TO/INITRD_FILE

        grub> boot


kernel初始的過程:

    1、設備探測

    2、驅動初始化(可能會從initramfs文件中裝載驅動模塊)

    3、以只讀掛載根文件系統:

    4、裝載第一個進程init(PID:1)


/sbin/init:  (配置文件/etc/inittab,centos5是順序啓動的很慢,centos6文件被切割了)

    upstart: 並行啓動,基於envent-drive事件驅動d-bus (/etc/init/*.conf很多配置文件)

    systemd: 並行啓動

    

    /etc/rc.d/rc.sysinit完成的任務:

    1、激活udev和selinux

    2、根據/etc/sysctl.conf文件,來設定內核參數;

    3、設定時鐘;

    4、裝載鍵盤映射;

    5、啓用交換分區;

    6、設置主機名;

    7、根文件系統檢測,並以讀寫方式重新掛載;

    8、激活RAID和LVM設備;

    9、啓用磁盤配額;

    10、根據/etc/fstab,檢查並掛載其他文件系統;

    11、清理過期的鎖和PID文件;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章