Linux-系統啟動的基本過程 以及相關破環修復實驗。

這章簡單描述下系統的啟動流程,主要以破環修復實驗為主:

系統啟動基本過程:

      Linux系統啟動過程大致按照如下步驟進行(這是一個簡述):
        第一階段:BIOS啟動引導階段;
                        在該過程中實現硬件的初始化以及查找啟動介質;
                        從MBR中裝載啟動引導管理器(GRUB)并運行該啟動引導管理
         第二階段:GRUB啟動引導階段;
                        裝載stage1
                        裝載stage1.5
                        裝載stage2
                        讀取/boot/grub.conf文件并顯示啟動菜單;
                        裝載所選的kernel和initrd文件到內存中
         

        第三階段:內核階段:
                        運行內核啟動參數;
                        解壓initrd文件并掛載initd文件系統,裝載必須的驅動;
                        掛載根文件系統
        

         第四階段:Sys V init初始化階段:
                        啟動/sbin/init程序;
                        運行rc.sysinit腳本,設置系統環境,啟動swap分區,檢查和掛載文件系統;
                        讀取/etc/inittab文件,運行在/et/rc.d/rc(N).d中定義的不同運行級別的服務初始化腳本;
                        打開字符終端1-6號控制臺/打開圖形顯示管理的7號控制臺



同時在上述過程中各階段所需要讀取的文件和操作的對象:

BIOS啟動引導階段                          GRUB啟動引導階段                    內核階段                            /init/sysinit階段



None                                         /boot/grub/grub.conf              /boot/vmlinuz-<version>       /etc/rc.d/rc.sysinit
                                                 /boot/grub/stage1_5                /boot/initrd-<version>           /etc/inittab
                                                 /boot/grub/stage2                                                                 /etc/rc.d/rc<#>.d
                                                                                                                                              /etc/rc.d/init.d/*



實驗一:如果開機啟動時發現某服務出錯導致無法啟動,進行排錯?

            步驟:1、開機啟動讀秒后按esc鍵,進入GUN GRUB 窗口,按a進行內核參數修改。

                         Linux-系統啟動的基本過程 以及相關破環修復實驗。

                        Linux-系統啟動的基本過程 以及相關破環修復實驗。

                   2、chkconfig –list testsrv 查看服務所有模式下的啟動狀態

                3、mount -o remount,rw / 用讀寫方式重新掛載/
                4、chkconfig testsrv off 關閉服務,不制定級別,默認2,3,4,5級別下服務關閉
                5、chkconfig –level 1 testsrv off
                6、ls /etc/rc5.d/*tsetsrv* 查看是5模式下,文件是K或S開頭的,
                7、重新啟動


實驗二:dd if=/dev/zero of=/dev/sda bs=1 count=446,破環MBR第一個分 區 前446字節(bootloader),修復?

                    

                步驟:1、開機進入救援模式,按下面步驟,打開一個shell。

                      Linux-系統啟動的基本過程 以及相關破環修復實驗。

                      Linux-系統啟動的基本過程 以及相關破環修復實驗。

 

                          Linux-系統啟動的基本過程 以及相關破環修復實驗。


                         Linux-系統啟動的基本過程 以及相關破環修復實驗。


                         Linux-系統啟動的基本過程 以及相關破環修復實驗。


                         Linux-系統啟動的基本過程 以及相關破環修復實驗。

 

                         Linux-系統啟動的基本過程 以及相關破環修復實驗。

                      

                         Linux-系統啟動的基本過程 以及相關破環修復實驗。


                         

                   2、按照下圖,進行操作,

                        Linux-系統啟動的基本過程 以及相關破環修復實驗。    

                 3 、exit,退出重啟.


 

實驗三:刪除/boot/grub下的所有文件,保留grub.conf和splash.xpm.gz這兩個文件;即stage_2階段被破環?

                   重啟時的界面如下圖:

                        Linux-系統啟動的基本過程 以及相關破環修復實驗。

                

               修復方法和實驗二的過程一樣:
                       1、進入救援模式,開啟一個shell
                       2、chroot /mnt/sysimage
                       3、 grub-install /dev/sda
                       4、sync; exit ;退出重啟

實驗四:編輯/boot/grub/grub.conf文件,設置進入單用戶模式口令,不讓其他用戶隨便進入單用戶
                   模式,進行某些危險操作?
                    a 、 1、 vim /boot/grub/grub.conf
                            2、在hiddenmenu這一行的上面插入:
                                  password (輸入密碼)
                   b、也可以對密碼進行加密;
                         用 grub-md5-crypt 命令對密碼進行加密,
                        password –md5 加密后口令
                   c、md5加密算法不安全,已被破解,可以用 grub-crypt 命令生成更安全的加密口令;
                                password –encrypted 生成的加密口令

                   d、如果 password –encrypted 生成的加密口令,放在 title這一行的下面,則變成開機啟動 時的密碼;

                         輸入對應密碼才能啟動。

實驗五:/etc/grub/grub.conf文件里,initrd 與kernel這兩行的順序不能顛倒,如果順序反了,如何修復?

                  啟動時報錯的界面如下圖:

                               Linux-系統啟動的基本過程 以及相關破環修復實驗。

                 

                修復步驟如下圖:

                       1、重啟,按e進入編輯命令模式

                              Linux-系統啟動的基本過程 以及相關破環修復實驗。

                    

                              Linux-系統啟動的基本過程 以及相關破環修復實驗。

            

                              Linux-系統啟動的基本過程 以及相關破環修復實驗。

                              

                              Linux-系統啟動的基本過程 以及相關破環修復實驗。

             

                              Linux-系統啟動的基本過程 以及相關破環修復實驗。

                         2、 啟動完成后,再 修改/boot/grub/grub.conf文件;

                               把initrd 與kernel行的位置換一下,kernel一定在initrd行的前面;然后保存退出。

實驗六: 刪除/etc/fstab 和/boot ,并恢復?重啟后界面如下圖:

                        Linux-系統啟動的基本過程 以及相關破環修復實驗。   

                   

               

                      步驟:1、重啟,在讀進度條界面快速按esc鍵,選擇下圖中救援模式:

       

                                  Linux-系統啟動的基本過程 以及相關破環修復實驗。


                 

                              2,下圖發現,找不到系統的分區了,要先修復/etc/fsatb,讓系統識別分區。

                                         Linux-系統啟動的基本過程 以及相關破環修復實驗。

 

                         

                         3、通過下圖中的操作找出/boot和”/”分區,并修復/etc/fstab文件:

                                          Linux-系統啟動的基本過程 以及相關破環修復實驗。

                         

                                          Linux-系統啟動的基本過程 以及相關破環修復實驗。

                      4、修復完/etc/fstab 文件,保存退出,重新啟動,再次進入救援模式,可以看到,這時候,系統找到根分區了,并且被掛載到/mnt/sysimage下;

                            可以進行chroot   /mnt/sysimage 切根操作了。如下圖:

                                          Linux-系統啟動的基本過程 以及相關破環修復實驗。

              

                         

                           5、先切換根,掛載光盤,發現光盤下有vmlinuz內核文件,移動內核文件到/boot,操作如下圖:

                                         Linux-系統啟動的基本過程 以及相關破環修復實驗。

      

                          

                          6、創建根文件系統
                                  #mkinitrd /boot/initramfs-`uname -r` `uname -r
                          7、安裝grub

                                   #grub-install /dev/sda

                         

                          8、/boot/grub下缺少grub.conf文件。手動編輯一下,下圖中注釋可以不寫。

                                       Linux-系統啟動的基本過程 以及相關破環修復實驗。

 

                       注意:如果上述實驗步驟8,grub.conf文件寫錯了,重啟時會出現下圖的界面:

                                        Linux-系統啟動的基本過程 以及相關破環修復實驗。

                         

                              這里也可以直接寫grub.conf文件,然后重新加載boot,就不需要再重新進救援模式重新修改grub.conf文件了;節省大量時間。

                              等機器重啟后,再把grub.conf文件修改好。操作如下圖:

                                        Linux-系統啟動的基本過程 以及相關破環修復實驗。

                  

              


















原創文章,作者:shenjialong,如若轉載,請注明出處:http://www.www58058.com/79676

(0)
shenjialongshenjialong
上一篇 2017-07-10
下一篇 2017-07-10

相關推薦

  • N26-第一周博客作業

    第一周博客作業 一、計算機的組成及其功能 計算機的組成可分為硬件、軟件兩部分。 硬件部分: 按馮.諾伊曼提出的計算機體系,計算機可分為五個部分,分別是:控制器、運算器、存儲器、輸入設備、輸出設備。 CPU:由運算器及控制器組成。 控制器:發出決策指令,協調和指揮計算機各部件的工作。 運算器:對數據進行加工,主要進行算數運行、邏輯運算。 存儲器:分為內存儲器和…

    2017-02-17
  • 初識linux

    Linux操作系統入門 Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。 1991年的10月5日,Linux創…

    Linux干貨 2016-06-09
  • vsftpd+pam+MySQL—->實現虛擬用戶認證

    一、安裝所需要程序 1、安裝vsftpd yum -y install vsftpd 2、安裝MySQL yum -y install  mysql-server mysql-devel pam_mysql 二、創建虛擬用戶賬號 1.準備數據庫及相關表 首先請確保mys…

    Linux干貨 2016-09-19
  • Unix發展與現狀

    Unix 簡史 1965年時,貝爾實驗室(Bell Labs)加入一項由奇異電子(General Electric)和麻省理工學院(MIT)合作的計劃;該計劃要建立一套多使用者、多任務、多層次(multi-user、multi- processor、multi-level)的MULTICS操作系統。直到1969年,因MULTICS計劃的工作進度太慢,該計劃就…

    Linux干貨 2015-09-22
  • linux命令的使用格式

    Linux命令的一般格式為: [root@node1 ~]#command [選項] [參數] 1、ifconfig 設備 參數 參數: up:啟動指定設備 down:關閉指定設備 arp:指定設備是否支持ARP協議 -a:顯示全部接口信息 例如:[root@node1 ~]#ifconfig eth0 up #啟動eth0網卡 2、echo打印 &nbsp…

    Linux干貨 2016-09-17
  • GRUB啟動故障排除和內核編譯

    如何進入光盤應急系統(以下修復操作僅適用于GRUB legacy, 不適用于GRUB2): 步驟一:給主機掛上安裝光盤, 或者有相應啟動鏡像的硬盤分區(可移動的分區) 步驟二:開機時選擇CDROM先啟動 步驟三:進入光盤啟動界面選擇應急救援模式 步驟四: 不選擇設置網絡接口, 直接讀取磁盤分區并以讀寫方式掛載 步驟五: 選擇shell進入bash中對磁盤進行…

    Linux干貨 2016-09-12
欧美性久久久久