• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Linux啟動流程

    發布: 2008-7-15 18:06 | 作者: 網絡轉載 | 來源: 網絡轉載 | 查看: 108次 | 進入軟件測試論壇討論

    領測軟件測試網 一、Linux的啟動流程
    1. 從BIOS到KERNEL
    BIOS自檢->MBR(GRUB)->KERNEL->KERNEL自解壓->內核初始化->內核啟動
    2. 內核啟動:創建1#進程并執行,由它創建若干內核線程(kernel thread),然后裝入并執行程序/sbin/init(變成一個用戶進程)。此后,init根據/etc/inittab配置文件來執行相應的腳本進行系統初始化,如設置鍵盤、字體,裝載模塊,設置網絡等。
    對于Redhat來說,執行的順序為:
    /etc/rc.d/rc.sysinit # 由init執行的第一腳本
    /etc/rc.d/rc $RUNLEVEL # init執行指定運行級別($RUNLEVEL為缺省的運行模式)的各腳本;
    /etc/rc.d/rc.local #運行模式2、3、5時會運行的腳本
    /sbin/mingetty(或getty) # 等待用戶登錄
    /etc/inittab中指定了系統的運行級別(RUNLEVEL),init根據運行級別啟動相關的服務(一些后臺進程),實現不同的功能。
    RUNLEVEL值為:0-6
    0:halt, 1:單用戶,2:多用戶,3:多用戶并啟動NFS服務
    4:保留,5:運行xdm(X window)以圖形界面方式登錄
    6:reboot
    3./etc/inittab文件
    /etc/inittab的文件內容如下:
    # 設定系統開機預設的RUNLEVEL:
    id:3:initdefault:
    # 開始進行RUNLEVEL的服務啟動前,使用來偵測與初始化系統環境的設定文件:
    si::sysinit:/etc/rc.d/rc.sysinit
    # 7 個不同 run level 的,需要啟動的服務的 scripts 放置路徑:
    l0:0:wait:/etc/rc.d/rc 0
    l1:1:wait:/etc/rc.d/rc 1
    l2:2:wait:/etc/rc.d/rc 2
    l3:3:wait:/etc/rc.d/rc 3
    l4:4:wait:/etc/rc.d/rc 4
    l5:5:wait:/etc/rc.d/rc 5
    l6:6:wait:/etc/rc.d/rc 6
    # 是否允許按下 [ctrl]+[alt]+[del] 就重新開機的設定項目:
    ca::ctrlaltdel:/sbin/shutdown -t3 -r now
    # 本機端終端機啟動的個數:
    1:2345:respawn:/sbin/mingetty tty1
    2:2345:respawn:/sbin/mingetty tty2
    3:2345:respawn:/sbin/mingetty tty3
    4:2345:respawn:/sbin/mingetty tty4
    5:2345:respawn:/sbin/mingetty tty5
    6:2345:respawn:/sbin/mingetty tty6
    # 在 X Window (RUNLEVEL 5) 環境下的啟動 script 設定項目:
    x:5:once:/etc/X11/prefdm -nodaemon
    這個文件的語法是這樣的:
    標識符:級別:init 的動作行為:指令項目
    1. 標識符:
    最多四個字符,代表 init 的主要工作項目,只是一個簡單的代表說明。
    2. 級別:
    該項目在哪些 run level 底下進行的意思。如果是 35 則代表 runlevel 3 與 5 都會執行。
    3. init 的動作行為:
    主要可以進行的動作項目意義有:
    initdefault :代表預設的 run level 設定值;
    sysinit :代表系統初始化的動作項目;
    ctrlaltdel :代表 [ctrl]+[alt]+[del] 三個按鍵是否可以重新開機的設定;
    wait :代表后面接的指令項目必須要執行完畢才能繼續后面的動作;
    respawn :代表后面接的, init 仍會主動的『重新』啟動。
    更多的設定項目請參考 man inittab 的說明。
    4. 指令項目:
    亦即應該可以進行的指令,通常是一些 script 啰。
    說明:如根據上面的文件,init程序執行時根據/etc/inittab文件的內容,完成以下功能
    (1)獲取RUNLEVEL(文件中的這一行 id:3:initdefault:)為3
    (2)執行rc.sysinit(文件中的這一行 si::sysinit:/etc/rc.d/rc.sysinit)
    (3)執行/etc/rc.d/rc3.d目錄中的腳本(文件中的這一行 l3:3:wait:/etc/rc.d/rc 3,且因為本例RUNLEVEL為3)
    (4)然后設定是否允許按下 [ctrl]+[alt]+[del] 就重新開機(文件中的這一行 ca::ctrlaltdel:/sbin/shutdown -t3 -r now,當然如果不允許,可把此行注釋掉)
    (5)啟動六個終端界面tty1-tty6
    (6)最后如果我們使用的是 run level 5 ,那么除了這六個終端機之外, init 還會執行/etc/X11/prefdm -nodaemon 其主要的功能就是在啟動 X Window !
    二、GRUB及其配置
    1.GRUB(啟動引導器程,低版本的為lilo,其配置文件為:/etc/lilo.conf)簡介
    安裝Linux后GRUB位于硬盤0柱面,0磁道,1扇區。是計算機啟動過程中運行的第一個真正的軟件,通常計算機啟動時在通過BIOS自
    檢后讀取并運行硬盤的主引導扇中的啟動引導器程序,啟動引導器再負責加載啟動硬盤分區中的操作系統。
    2.GRUB的配置文件—grub.conf
    可通過/boot/grub/grub.conf配置GRUB,其文件內容大致如下:
    default 0 ----設置GRUB的默認啟動項
    splashimage (hd0,0)/boot/grub/splash.xpm.gz ----用于指定某一個文件作為啟動菜單的背景圖象
    timeout 30 ----設置菜單的啟動延時
    title=Boot Linux using initrd ----菜單項名稱
    root (hd0,0) ----設置GRUB的根設備(root)為linux內核所在的分區
    kernel /boot/bzImage root=/dev/loop0 init=/initdisk.gz ----使用kernel命令后跟linux內核文件作為參數,加載。
    linux的內核文件
    initrd /initdisk.gz ----使用initrd命令加載鏡像文件
    title=Windows NT ----菜單項名稱
    root (hd0,1) ----設置Windows NT系統所在的分區
    makeactive ----設置根設備為活動分區(針對windows不能從非活動分區啟動)
    chainloader +1 ----使用chainloader命令調用windows分區的啟動引導器引導windows系統,+1表示第一個扇區
    3.忘記根口令時的設置
    啟動計算機,在顯示GRUB菜單時---按e鍵,進入編輯---選kernel項---按e鍵---輸入空格+single 回車---按b鍵,重啟系統進入單用戶模式,輸入以下命令更改口令:
    #passwd root
    #reboot
    4.為grub設置口令
    為防止用戶在顯示grub菜單時進入編輯,以單用戶模式啟動更改root用戶口令,可給grub設置口令。
    修改/boot/grub/grub.conf文件,加上:password 口令
    (假設密碼為123456)
    (1)設置全局口令
    password 123456
    default=1
    timeout=10
    ……
    (2)可使用全局口令鎖定啟動菜單項
    緊跟在title命令之后添加lock命令
    password 123456
    default=1
    timeout=10
    splashimage=(hd0,7)/grub/splash.xpm.gz
    title Red Hat Linux (2.4.20-8)
    lock
    root (hd0,7)
    kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
    initrd /initrd-2.4.20-8.img
    (3)設置獨立的口令鎖定啟動菜單項,在菜單項中使用password命令
    可實現全局口令和菜單項口令的分級管理。
    password 123456
    default=1
    timeout=10
    splashimage=(hd0,7)/grub/splash.xpm.gz
    title Red Hat Linux (2.4.20-8)
    password 67890
    root (hd0,7)
    kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
    initrd /initrd-2.4.20-8.img
    (4)可以使用MD5L加密口令
    采用#grub-md5-crypt
    或 #grub
    grub>md5crypt
    Password:

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: linux Linux 流程


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>