Linux運維——啓動引導與修復
一、系統運行級別
1、運行級別
運行級別 | 含義 |
---|---|
0 | 關機 |
1 | 單用戶模式,可以想象爲windows的安全模式,主要用於系統修復 |
2 | 不完全命令行模式,不含NFS服務 |
3 | 完全命令行模式,標準字符界面 |
4 | 系統保留 |
5 | 圖形模式 |
6 | 重啓動 |
- 使用命令查看系統的運行級別
runlevel
- 進入指定級別
init [級別]
2、修改默認啓動級別
# centos6
# 修改/etc/inittab
# centos7
命令格式:
systemctl [command] [unit.target]
command參數:
get-default 取得當前的target
set-default 設置指定的target爲默認的運行級別
isolate 切換到指定的運行級別
unit.target 上面列出的運行級別
3、開機啓動自動運行命令
/etc/rc.d/rc.local
配置文件會在用戶登錄之前讀取,在此文件中寫入任何命令,在每次系統啓動時都會執行一次。有任何需要在系統啓動就運行的工作,只要寫入/etc/rc.d/rc.local
這個配置文件即可。
二、啓動引導程序(Boot Loader)
1、Grub 目錄
- 打開
/boot/grub2/
[root@192 grub2]# ll
總用量 40
-rw-r--r--. 1 root root 64 2月 12 15:54 device.map
drwxr-xr-x. 2 root root 25 2月 12 15:54 fonts
-rw-r--r--. 1 root root 5162 2月 12 16:16 grub.cfg # grub 配置文件
-rw-r--r--. 1 root root 4287 2月 12 15:55 grub.cfg.1581495172.rpmsave
-rw-r--r--. 1 root root 1024 2月 12 16:16 grubenv
drwxr-xr-x. 2 root root 8192 2月 12 15:54 i386-pc
drwxr-xr-x. 2 root root 4096 2月 12 15:54 locale
- Grub 配置文件軟連接路徑
[root@192 grub2]# ll /etc/grub2.cfg
lrwxrwxrwx. 1 root root 22 2月 12 16:13 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
2、Grub 配置文件
2.1在Grub中分區的表示方法
硬盤 | 分區 | Linux中設備文件名 | Grub中設備文件名 |
---|---|---|---|
第一塊 SCSI 硬盤 | 第一個主分區 | /dev/sda1 | hd(0,0) |
第二個主分區 | /dev/sda2 | hd(0,1) | |
擴展分區 | /dev/sda3 | hd(0,2) | |
第一個邏輯分區 | /dev/sda5 | hd(0,4) | |
第二塊 SCSI 硬盤 | 第一個主分區 | /dev/sdb1 | hd(1,0) |
第二個主分區 | /dev/sdb2 | hd(1,1) | |
擴展分區 | /dev/sdb3 | hd(1,2) | |
第一個邏輯分區 | /dev/sdb5 | hd(1,4) |
2.2 Grub 配置文件
vim /boot/grub/grub.conf
文件內容:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/sda2
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0 # 默認啓動那個系統
timeout=5 # 等待時間
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS 6 (2.6.32-754.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=UUID=265e5c19-2d77-4123-b688-9a90a3786f72 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-754.el6.x86_64.img
default=0
- 默認啓動第一個系統。也就是如果在等待世界結束後,用戶沒有選擇進入哪一個系統,那麼系統會默認進入第一個系統。如果有多系統並存,那麼每個系統都會有自己的
title
字段,如果想要默認進入第二個系統,這裏可以設置爲default=1
。
- 默認啓動第一個系統。也就是如果在等待世界結束後,用戶沒有選擇進入哪一個系統,那麼系統會默認進入第一個系統。如果有多系統並存,那麼每個系統都會有自己的
timeout=5
- 等待時間,默認爲5秒。也就是進入系統時,如果5秒內用戶沒有按下任何鍵,那麼系統會進入
default
字段定義的系統。當然可以手動修改此等待時間,如果timeout=0
則不會等待直接進入系統,timeout=-1
則是一直等待用戶輸入,而不會自動進入系統。
- 等待時間,默認爲5秒。也就是進入系統時,如果5秒內用戶沒有按下任何鍵,那麼系統會進入
splashimage=(hd0,0)/grub/splash.xpm.gz
- 這裏指定grub啓動時的背景圖文件的保存位置,這裏的
(hd0,0)
表示第一個硬盤的第一個分區。
- 這裏指定grub啓動時的背景圖文件的保存位置,這裏的
hiddenmenu
- 隱藏菜單,啓動時默認只能看到讀秒,而不能看到菜單。
系統配置項:
-
title CentOS(2.6.32-279.d6.i686)
:系統啓動時在 GRUB 的啓動菜單中的標題。 -
root(hd0,0)
:啓動程序的保存分區。 -
kernel /vmlinuz-xxxx.x86_64 ro root=UUID=xxxxxxxx
/vmlinuz-xxxx.x86_64
:指定了內核文件的位置。ro
:啓動時以只讀方式掛載根文件系統。root=UUID=xxxxxxxx
:指定根文件系統的所在位置。- 配置項參數:
rd_NO_LUKS
:禁用LUKS(用於磁盤加密)。rd_NO_MD
a:禁用軟RAIDrd_NO_DM
:禁用硬RAIDrd_NO_LVM
:禁用LVM,以上禁用均爲在系統啓動時禁用,用於加速系統啓動速度。KEYBOARDTYPE=pc KEYTABLE=us
:鍵盤類型crashkernel=auto
:自動爲crashkernel
預留內存LANG=zh_CN.UTF-8
:語言環境rhgb
:(redhat graphics boot)用圖片來代替啓動過程中的文字信息。啓動完成之後可以試用dmesg
命令查看這些信息。quiet
:隱藏啓動信息,只顯示重要信息
initrd /initramfs-2.6.32-754.el6.x86_64.img
:指定了initramfs
內存文件系統鏡像文件所在位置。
2.3 Grub 加密
- 生成密碼
grub-md5-crypt
- 設置密碼
default=0
timeout=5
password --md5 XXXXXXXXX
splashimage=xxxxx
注意:密碼項必須添加在
timeout
下方splashimage
上方纔可生效。格式:password --md5 [生成的加密後的密碼]
添加此密碼不影響操作系統正常啓動,在title
下方添加lock
則表示啓動系統也需要輸入密碼。
注意:在遠程服務器禁止使用此操作,否則會導致系統無法開機。