天天看點

Linux引導與服務控制

一、Linux引導過程

1.引導過程

(1)開機自檢:根據主機闆BIOS對CPU、記憶體等進行檢測,成功後根據啟動順序移動系統控制權
(2)MBR引導:根據硬碟第1個扇區中MBR(主引導記錄)的設定,将系統控制權傳給包含系統的分區,
        或者根據引導資訊調用啟動菜單(如GRUB)
(3)GRUB菜單:顯示啟動菜單使用者選擇,根據選項(或預設值)加載Linux核心檔案,将控制權交于核心
(4)加載Linux核心:核心加載,掌控整個Linux系統運作過程;/boot存放核心檔案
(5)init程序初始化:讀取/sbin/init程式加載到記憶體中運作,完成一系列系統初始化,等待使用者登入           

2.Linux啟動方式

(1)Centos 6:Upstart
(2)Centos 7:Systemd           

二、運作級别

1.init程序

核心第一個加載程式,PID(程序的身份标記)總為1
 RHEL 6采用Upstart啟動方式,将初始化配置分散存放,以前全部存放在/etc/inittab配置檔案中           
配置檔案 作用
/etc/inittab 配置預設運作級别
/etc/sysconfig/init 控制tty終端的開啟數量、終端顔色方案
/etc/init/rcS.conf 加載rc.sysinit腳本,完成系統初始化任務
/etc/init/rc.conf 相容腳本,負責各運作級别的調用處理
/etc/init/rcS-sulogin.conf 為單使用者模式啟動/sbin/sushell環境
/etc/init/control-alt-delete.conf 控制終端下的Ctrl+Alt+Del熱鍵操作
/etc/init/start-ttys.conf 配置tty終端的開啟數量、裝置檔案
/etc/init/tty.conf 控制tty終端的開啟

2./etc/inittab配置檔案

vim /etc/inittab
id:3:initdefault:
辨別名:運作級别:動作:開機需執行指令
0:關機;不要設定為預設
1:單使用者模式;一般用于維護或救援操作
2:多使用者模式;不支援網絡
3:完整的多使用者模式;大多數使用
4:未定義
5:圖形化
6:重新開機;不要設定為預設           

3.運作級别控制

1.runlevel //檢視目前系統運作級别
    N 3
    上次運作級别 目前運作級别
    N=從未切換運作級别
    S=與1效果一樣,運作級别為1
2.init  <運作級别> :切換運作級别;一次生效           

三、Linux服務控制

1.方式一

service 服務名稱 控制類型           

2.方式二

/etc/init.d/服務名稱 控制類型           

控制類型:

start:啟動
  stop:停止
  restart:重新開機
  reload:重新加載配置檔案
  status:檢視服務狀态           

例:

(1)service sshd start :啟動sshd遠端服務

(2)/etc/init.d/ntpd restart :重新開機ntpd時間同步服務

(3)/etc/init.d/ntpd status :檢視ntpd服務狀态;is running為正在運作、is stopped為停止狀态

四、服務的自啟動控制

1.ntsysv:互動式控制服務的自啟動狀态;批量控制較常見
    ntsysv --level 35 //運作級别35設定服務的自啟動狀态;如未使用--level選項則為目前運作級别設定
2.chkconfig:非互動式控制服務的自啟動狀态;控制單個服務較常使用
    chkconfig --level 35 sshd { on | off }  //設定sshd服務在35運作級别為開啟|禁用;如未使用--level選項則為目前運作級别設定
3.chkconfig --list  //檢視所有服務的自啟動狀态
4.chkconfig --list sshd  //隻檢視sshd服務的自啟動狀态           

五、故障恢複

1.MBR故障

(1)備份MBR

建立硬碟,并分區挂載到/hehe/目錄下

Linux引導與服務控制
Linux引導與服務控制
Linux引導與服務控制
Linux引導與服務控制
Linux引導與服務控制
dd if=/dev/sda of=/hehe/mbr.bak bs=512 count=1    //将系統磁盤頭部的512位元組MBR引導拷貝到/hehe/mbr.bak           
Linux引導與服務控制

(2)模拟故障

dd if=/dev/zero of=/dev/sda bs=512 count=1     //使用/dev/zero檔案覆寫掉/dev/sda的512位元組頭部MBR引導           
Linux引導與服務控制

(3)放入CD光牒,進入救援模式

Linux引導與服務控制

(4)還原

mkdir /aa     //建立目錄/aa           
Linux引導與服務控制
mount /dev/sdb1 /aa     //挂載/dev/sdb1到/aa           
dd if=/aa/mbr.bak of=/dev/sda bs=512 count=1       //将之前備份出的/aa/mbr.bak怼到/dev/sda頭部的512位元組           
Linux引導與服務控制

(5)驗證結果,重新開機檢視是否能啟動系統

Linux引導與服務控制

2.GRUB菜單

#Centos 7以上(Grub2)

#chroot /mnt/sysimage

#grub-mkconfig -o /boot/grub/grub.cfg

Centos 6以下(Grub1)

(1)備份Grub檔案

cp /boot/grub/grub.conf /hehe/      //将grub配置檔案拷貝到/hehe/           
Linux引導與服務控制
rm -rf /boot/grub/grub.conf      //删除grub引導           
Linux引導與服務控制
chroot /mnt/sysimage            //切換到原系統環境           

#如不使用chroot

{
mkdir /aaa
mount /dev/sdb1 /aaa
cp /aaa/grub.conf /mnt/sysimage/boot/grub/
exit
}           
mount /dev/sdb1 /hehe       //挂載/dev/sdb1到/hehe           
cp /hehe/grub.conf /boot/grub/          //将之前拷貝出的檔案還原到/boot/grub           
Linux引導與服務控制
exit
reboot        //退出重新開機系統           

3.testdisk <要恢複的磁盤> //Linux下恢複分區表指令

4.root使用者密碼恢複

(1)GRUB菜單 --> e --> kernel一行按e --> 空格1 --> 回車 --> b      //進入單使用者           
(2)passwd root 或 echo "密碼" | passwd --stdin root       //重置密碼