本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/104529
centos啟動流程:
POST–>BootSquence(BIOS)–>Bootloader(MBR)–>kernel(ramdisk)–>rootfs(switch_root)–>/sbin/init(/etc/inittab,/etc/init/*.conf,/usr/lib/systemd/system/)–>默認運行級別,系統初始化、關閉及啟動服務、啟動終端(圖形終端)
grub啟動引導程序配置及命令行接口詳解
GRUB(boot loader)
grub:grand unified bootloader
grub 0.x:grub legacy
grub 1.x:grub2
grub legacy:
stage1:mbr
stage1_5:mbr之后的扇區,讓stage1中的bootloader能設別stage2所在的分區上的文件系統;
stage2:磁盤分區(/boot/grub/)
配置文件:/boot/grub/grub.conf <–/etc/grub.conf
stage2及內核通常放置于一個基本磁盤分區:
功用:
(1)提供菜單,并提供交互式接口
e:編輯模式,用于編輯菜單
c:命令模式,交互式接口;
(2)加載用戶選擇的內核或操作系統
允許傳遞參數給內個
可隱藏此菜單
(3)為菜單提供了保護機制
為編輯菜單進行認證
為啟用內核或操作系統進行認證
如何設別設備
(hd#,#),
hd#:磁盤編號,用數字表示
#:分區編號,用0開始編號
(hd0,0)
grub的命令行接口
help:獲取幫助列表
help KEYWORD:詳細幫助信息
find (hd#,#)/PATH/TO/SOMEFILE;
root (hd#,#)
kernel /PATH/TO/KERNEL_FILE:設定本次啟動時用到的內核文件;額外還可以添加許多內核支持使用的cmdline參數;
initrd /PATH/TO/INITRAMFS_FILE:設定為選定的內核提供額外的文件的ramdisks;
boot:引導啟動選定的內核;
手動在grub命令行接口啟動系統;
grub> root (hd#,#)
grub> kernel /vmliuz-VERSION-RELEASE ro root=/dev/DEVICE
grub> initrd /initramfs-VERSION-RELEASE.img
grub> boot
配置文件:/boot/grub/grub.conf
配置項:
default=#:設定默認啟動的菜單項;落單項(title)編號從0開始;
timeout-#:指定菜單項等待選項選擇的時長;
splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜單背景圖片文件路徑;
hiddenmenu:隱藏菜單;
password [–md5] STRING;菜單編輯認證;
title TITLE:定義菜單項“標題”,可出現多次;
root (hd#,#):grub查找stage2及kernel文件所在的設備分區:為grub的“根”
kernel /PATH/TO/VMLIMUZ_FILE [PARAMETERS]:啟動的內核
initrd /PATH/TO/INITRAMFS_FILE:內核匹配的ramfs文件;
password [–md5] STRING;啟動選定的內核或操作系統時進行認證;
grub-md5-crypt命令:
進入單用戶模式:
(1)編輯grub菜單(選定要編輯的title,而后使用e命名);
(2)在選定的kernel后附加
1,s,S,或single都可以;
(3)在kernel所在行,鍵入“b”命令;
安裝grub:
(1)grub-install
grub-install –root-directory=ROOT /dev/DISK
(2)grub
grub> root (hd#,#)
grub> setup (hd#)
實現kickstart文件制作與光盤鏡像制作
安裝引導選項:
ks:指明kickstart文件的位置;
ks=
DVD dirive:ks=cdrom:/PATH/TO/KICKSTART_FILE
Hard dirive: ks=hd:/DEVICE/PATH/TO/KICKSTART_FILE
HTTP server: ks=http://HOST[:PORT]/PATH/TO/KICKSTART_FILE
FTP server:ks=ftp://HOST[:PORT]/PATH/TO/KICKSTART_FILE
HTTPS server: ks=https://HOST[:PORT]/PATH/TO/KICKSTART_FILE
kickstart文件的格式
命令段:
指定各種安裝前配置選項,如鍵盤類型等;
必備命令
可選命令
程序包段:
指明要安裝程序包,以及包組,也包括
%packages
@group_name
package
-package
%end
腳本段:
%pre:安裝前腳本
運行環境:運行安裝介質上的衛星linux系統環境;
%post:安裝后腳本
運行環境:安裝完成的系統
命令段中的必備命令:
authconfig:認證方式配置
authconfig –enableshadow –passaigo=sha512
bootloader:定義bootloader的安裝位置及相關配置
bootloader –location=mbr –driveorder=sda –sppend=”crashkernel=auto rhgb quiet”
keyboard:設置鍵盤類型
keyboard US
lang:語言類型
lang zh_CN.UTF-8
part:分區布局:
part /boot –fstype=ext4 –size=500
part pv.008002 –size=51200
rootps:管理員密碼
timezone:指定時區
timezone Asia/Shanghai
補充:分區相關的其它指令
clearpart:清除分區
clearpart –none –drives=sda;清空磁盤分區;
volgroup:創建卷組
volgroup myvg –pesize=4096 pv.oo8002
logvol:創建邏輯卷
logvol /home –fstype=ext4 –name=lv_home –vgname=myvg –size=5120
生成加密密碼的方式:
openssl password -1 -salt ‘openssl rand -hex4’
可選命令:
install OR upgrade:安裝或升級;
text:安裝界面類型,text為tul,默認為GUI
network:配置網絡接口
network –onboot yes –device eth0 –bootproto dhcp –noipv6
firewall:防火墻
firewall –disabled
selinux:SElinux
selinux –disabled
halt、poweroff或reboot:安裝完成之后的行為;關機或重啟
repo:指明安裝時使用的repository;
repo –name=’centos’ –baseurl=cdrom:sr0 –cost=100
url:指明安裝時使用的repository,但為url格式:
系統安裝完成之后禁用防火墻:
centos 6
service iptables stop
chkconfig iptables off
centos 7
systemctl stop firewalld
systemctl disable firewalld
系統安裝后禁用selinux
編輯 /etc/sysconfig/selinux或/etc/selinux/config文件,修改selinux參數的值為下面其中之一:
permissive
disabled
立即生效:
getenforce
setenforce 0
定制kickstart文件:
yum install system-config-kickstart
system-config-kickstart
檢查語法錯誤:
ksvalidator
創建光盤鏡像:
mkisofs:
mkisofs -R -j -T -v -no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS6 x86_64 boot” -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso /PATH/TO/myboot/
贊 (1)
贊,很棒的總結。繼續加油。