grub2(grand unified bootloader version 2):統一引導引導程式2
bios/uefi指向啟動裝置,如果啟動裝置是硬碟,則硬碟的mbr/gpt指向grub2
grub2選擇乙個啟動選項,則載入對應的linux的核心和ram檔案系統。核心啟動systemd程序,systemd程序初始化系統,為initrd.target啟用相關系統服務,將根檔案系統掛載到/sysroot下,systemd在新的根下重新啟動自己,再啟用預設目標下的所有單元。
systemd是在引導時第乙個啟動的程序。它負責啟用所有服務。
/var/log/dmesg檔案或者dmesg命令可以檢視引導內容。
傳統硬碟用mbr分割槽,現代硬碟用gpt
在grub選單中,e進入臨時編輯模式,c進入grub命令列
引導到不同目標:
刪除:rhgb quiet ,改為systemd.unit=multi-user.target 或者:graphical.target rescue.target emergency.target
可以進入不同的啟動目標,需要口令
如果直接在這行末尾加rd.break 或者 init=/sysroot/bin/sh,以唯讀方式掛載root檔案系統,不需要口令。這是重置root密碼的常用方法。
恢復root口令:
按e鍵-》新增rd.break-》ctrl+x
以讀寫方式重新掛載/sysroot,並將根目錄改為/sysroot
mount -o remount,rw /sysroot
chroot /sysroot
修改口令:passwd root
此時selinux沒有啟動,不會存入/etc/passwd,因此:
touch /.autorelabel 通知系統引導時重新賦予標籤
exit 關閉chroot
exit 重新引導
修改引導程式:
配置檔案:
bios管理的:/etc/grub2.cfg 指向/boot/grub2/grub.cfg
uefi管理的:指向/boot/efi/efi/redhat/grub.cfg
一般不直接修改這個配置檔案,使用grub2-mkconfig命令,基於/etc/defalt/grub檔案和/etc/grub.d目錄生成新版本
grub2-mkconfig -o /boot/grub2/grub.cfg
grub命令列
grub>ls 列出所有硬碟分割槽,包括lvm
grub>ls (hd0,msdos1)/grub2/grub.cfg 找到grub配置檔案位置
grub>cat (hd0,msdos1)/grub2/grub.cfg 檢視grub配置檔案
也可以search.file /grub2/grub.cfg查詢
載入lvm模組命令:
grub>insmod lvm
grub> cat (lvm/rhel-root)/etc/fstab 檢視檔案系統裝置檔名
手動引導:都在grub>命令列下進行
insmod lvm
lscat (lvm/rhel-root)/etc/fstab
set root=(lvm/rhel-root)
initrd (boot所在分割槽)/initramfs..........img
boot
重灌grub
rpm -qc grub-tools
rm -f /etc/default/grub
rm -f /etc/grub.d/*
yum reinstall grub2-tools
grub2-mkconfig -o /boot/grub2/grub.cfg
救援:啟動u盤的rescue模式
進入continue選項
chroot /mnt/sysimage(把系統的頂層目錄掛載到/)
目標、服務單元
systemctl list-units --type=service --all
systemctl list-units --type=target --all
檢視runlevel執行級別:
檢視乙個目標、單元的依賴:
systemctl list-dependencies graphical.target
不同目標之間的切換:
systemctl isolate graphical.target
其他:systemctl poweroff
systemctl reboot
日誌記錄:
journalctl命令顯示systemd日誌
預設臨時儲存在ram
持久儲存:
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod 2755 /var/log/journal
systemctl restart system-journald.service
有了持久日誌,journalctl -b 0 指定特定的一次引導的日誌
journalctl -p warning -p引數用來過濾
cgroups:
把程序分組到一起。
systemd使用cgroups可以殺死一組程序
systemd-cgls顯示cgroups層次結構
systemd單元
systemd程序的配置檔案在/etc/systemd/system(自定義) 和 /usr/lib/systemd/system(預設配置)
列出所有活動的systemd單元:systemctl list-units
列出單元啟動時的狀態:systemctl list-unit-files
時區配置:
timedatectl
timedatectl list-timezones
timedatectl set-timezone america/los_angles
配置檔案/etc/chrony.conf
使用ntp時間同步
安裝ntp
配置檔案/etc/ntp.conf
systemctl start ntpd.service
systemctl enable ntpd.service
linux引導過程
bios是位於主機板的快閃儲存器中某段特殊區域。這個過程主要是是執行bios中從位址0xffff0處開始的 主要是確定要使用哪個裝置來引導系統,這個過程的具體步驟為 1 加電自檢 post 即對硬體進行檢測 2 本地裝置的列舉及初始化,bios會按照cmos設定的順序來搜尋處於活動狀態並且可以引導的...
系統引導過程
系統引導過程主要由以下幾個步驟組成 以硬碟啟動為例 1 開機 2 bios加電自檢 post power on self test 記憶體位址為0fff 0000 3 將硬碟第乙個扇區 0頭0道1扇區,也就是boot sector 讀入記憶體位址0000 7c00處 4 檢查 word 0000 7...
Linux引導過程
1 開機 2 加電自檢 bios,一段程式用於控制管理硬體,並決定啟動順序 所有資料 於cmos晶元 3 mbr引導 尋找啟動裝置上的mbr資訊,搜尋系統所有分割槽位置 4 grub引導 系統選擇選單 boot grub grub.conf 5 載入核心 將啟動核心載入到記憶體中 改區域不可越權訪問...