linux系統啟動及kickstart

1、簡述linux操作系統啟動流程
2、簡述grub啟動引導程序配置及命令行接口詳解
3、實現kickstart文件制作與光盤鏡像制作

1、簡述linux操作系統啟動流程

當電腦開機時內存是空的,開機時BIOS會將RAM中的程序映射到內存中來(BIOS中是存儲在RAM中的一段程序代碼,這段代碼可以實現電腦自身狀況的檢查,BIOS中設置了如何檢查健康狀況),自檢完成沒有問題后會根據BIOS中的啟動順序去挨個找啟動設備的MBR,如果設備的MBR壞了,系統會報錯,無法啟動,只有在第一個設備沒有MBR時才會找第二個設備,第二個如果是硬盤的話,就會讀取硬盤的MBR,因為硬盤的MBR開始是bootloader,所以BIOS這段程序就會把bootloader裝載到內存,這段bootloader會再讀取硬盤MBR中的分區表,分區表大小64bytes。之后會根據我們的配置加載分區上的操作系統,因此這段bootloader一定要能讀取分區表,如果沒有分區表就找不到操作系統了。bootloader加載進內存后,BIOS就退出了,退出前會把執行的指令告訴CPU。bootloader根據我們先的操作系統運行,會找到操作系統那個分區上操作系統的內核,找到后就會將內核加載進內存,內核讀進內存后會先解壓縮,之后bootloader將管理權交給內核,于是內核開始啟動自身,之后根據電腦能找到文件系統在什么地方,以及要啟動的程序,最終啟動完成。

2、簡述grub啟動引導程序配置及命令行接口詳解

grub工作階段
1st: mbr, bootloader加載到mbr
1.5st: 驅動,mbr之后的扇區,提供stage2在的分區的文件系統驅動;
2st: boot目錄所在分區
grub功用:
(1) 提供菜單、并提供交互式接口
e: 編輯模式,用于編輯菜單;
c: 命令模式,交互式接口;
(2) 加載用戶選擇的內核或操作系統
允許傳遞參數給內核
可隱藏此菜單
(3) 為菜單提供了保護機制
為編輯菜單進行認證
為啟用內核或操作系統進行認證
配置文件:/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/VMLINUZ_FILE [PARAMETERS]:啟動的內核
initrd /PATH/TO/INITRAMFS_FILE: 內核匹配的ramfs文件;
password [–md5] STRING: 啟動選定的內核或操作系統時進行認證;
進入單用戶模式:
(1) 編輯grub菜單(選定要編輯的title,而后使用e命令);
(2) 在選定的kernel后附加
1, s, S或single都可以;
(3) 在kernel所在行,鍵入“b”命令;
grub的命令行接口
help: 獲取幫助列表
help KEYWORD: 詳細幫助信息
find (hd#,#)/PATH/TO/SOMEFILE:
root (hd#,#)
kernel /PATH/TO/KERNEL_FILE: 設定本次啟動時用到的內核文件;額外還可以添加許多內核支持使用的cmdline參數;
例如:init=/path/to/init, selinux=0
initrd /PATH/TO/INITRAMFS_FILE: 設定為選定的內核提供額外文件的ramdisk;
boot: 引導啟動選定的內核;
手動在grub命令行接口啟動系統:
grub> root (hd#,#)
grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
grub> initrd /initramfs-VERSION-RELEASE.img
grub> boot
安裝grub:
(1) grub-install
grub-install –root-directory=ROOT /dev/DISK
(2) grub
grub> root (hd#,#)
grub> setup (hd#)

3、實現kickstart文件制作與光盤鏡像制作

通過anaconda自動生成的ks配置文件可以實現自動安裝操作系統,在配置文件中可以定義安裝時的其本信息,如語言,管理員密碼,時區,網絡,磁盤分區,防火墻,需要安裝的軟件,系統的安裝源,安裝前腳本,安裝后腳本等。定義好之后要生成ks.cfg配置文件,之后可將配置文件放于網絡上,通過系統鏡像引導啟動,并指定ip地址,掩碼,ks文件所在網絡路徑,讓主機可以通過網絡加載配置文件實現自動安裝?;蛘呖梢酝ㄟ^將ks配置文件與isolinux目錄打包成一個啟動鏡像(isolinux目錄是系統鏡像中的一個目錄,是一個小的系統,可以實現引導啟動),通過此啟動鏡像來啟動加載ks配置文件,并按照ks配置文件中的系統安裝源(這個安裝源是自定義的,可以是本地網絡中的源,也可以是互聯網上的源)實現自動安裝

測試安裝使用CentOS6.6系統,測試6.5時總在進入安裝界面后提示不支持CPU。但6.6版本也會提示不支持磁盤。取消使用之前所用的安裝后自動生成的ks.cfg文件后,自建ks.cfg文件可以安裝。
1.準備centos6.6,將鏡像掛載到/var/www/html/media目錄下,為的是可以在安裝httpd后訪問此目錄
2.安裝system-config-kickstart,X窗口系統,桌面,桌面開發這四個軟件,因為安裝后三個軟件才能打開kickstart的圖形界面。
3.在打開kickstart圖形界面后要注意第二項安裝方法要寫明光盤掛載的目錄,這里用了HTTP方法,軟件地址192.168.1.6,目錄/media/,(不知道不能安裝與media后的斜線是否有關系,需再測試);還要注意劃分分區,(需再測試不劃分是否可以安裝),另外要選擇不要初始化磁盤標簽,不要清除引導記錄
選擇好之后要保存ks.cfg文件,保存在/root目錄下。另外在/root目錄下創建myboot目錄。將/var/www/html/media/目錄下的isolinux目錄和ks.cfg復制到myboot目錄下。下面有兩種安裝方法
1.將ks.cfg文件復制到/var/www/html目錄下,安裝時用系統盤引導,之后按ESC,輸入boot: linux text ip=192.168.1.64 netmask=255.255.255.0 ks=http://192.168.1.6/ks.cfg。之后就可以自動安裝了。
2.這種方法不將ks文件放在網絡上,而是同isolinux一起做成啟動光盤。創建光盤前可以修改isolinux目錄中的isolinux.cfg文件,在第一段label linux中加入append initrd=initrd.img ip=192.168.1.10 netmask=255.255.255.0 ks=cdrom:/ks.cfg。之后用命令mkisofs -R -J -T -v –no-emul-boot –boot-load-size 4 –boot-info-table -V “CentOS 6 x86_64 boot” -c isolinux/boot.cat -b isolinux/isolinux.bin -o /root/boot.iso myboot/制作光盤。之后將光盤復制到主機桌面,用虛擬機加載此光盤啟動自動安裝?;蚩梢孕薷膋s.cfg文件,在其中加入network –onboot yes –device eth0 –bootproto dhcp –noipv6,但這要求有dhcp服務器,如果沒有就不能自動獲得地址了。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91186

(1)
ruopu1989ruopu1989
上一篇 2018-01-17 19:40
下一篇 2018-01-17 22:02

相關推薦

  • 內核編譯之增加ntfs文件系統

    內核編譯 內核編譯 單內核體系設計,但充分借鑒了微內核設計體系的優點,為內核引入模塊化機制。 內核組成部分:     Kernel,內核核心,一般為bzImage,通常在/boot目錄下,名稱為vmlinuz-WERSION- RELEASE;     Kernel object…

    Linux干貨 2016-09-13
  • Tomcat基于MSM+Memcached實現Session共享

    前言 在Tomcat集群中,當一個節點出現故障,其他節點該如何接管故障節點的Session信息呢?本文帶來的解決方案是基于MSM+Memcached實現Session共享。 相關介紹 MSM MSM–Memcached Session Manager是一個高可用的Tomcat Session共享解決方案,除了可以從本機內存快速讀取Session信…

    Linux干貨 2015-07-03
  • 關于nginx狀態監控字段的個人見解(求真相)

    今天看到了馬哥視頻其中一節對nginx狀態監控信息的介紹,對視頻ppt上的監控字段解析產生了一些疑問,ppt內容如下: active connections – 活躍的連接數量server accepts handled requests — 總共處理了xxx個連接 , 成功創建xxx次握手, 總共處理了xxx個請求reading — 讀取客戶端的連接數.w…

    Linux干貨 2016-07-12
  • ?Nginx 代理與緩存

    Nginx 代理與緩存 代理、緩存、集群概述 緩存控制(ngx_http_proxy_module) 配置nginx代理的URI資源類型 增加X-Forwarded-For值 啟用proxy緩存URL資源 封裝首部(ngx_http_headers_module) 響應報文首部添加代理信息 代理調度模塊(ngx_http_upstream_module) R…

    Linux干貨 2016-10-30
  • 2016.10.12 成為了馬幫的一員!

    未來的6個月內,好好學習天天向上!

    Linux干貨 2016-10-19
  • HAProxy

    LB Cluster: 四層:lvs, nginx(stream),haproxy(mode tcp) 七層:http: nginx(http, ngx_http_upstream_module), haproxy(mode http), httpd, ats, perlbal, pound… HAProxy 程序環境: 主程序:/usr/sbi…

    Linux干貨 2017-07-03
欧美性久久久久