LINUX 啟動流程

      網友投稿 983 2025-03-31

      ### 系統啟動流程

      系統組成:內核+根分區文件系統

      磁盤分區及相關文件

      啟動分區? /boot

      內核設計流派

      單內核設計: 把所有功能集成于同一個程序

      linux

      微內核設計:每種功能使用一個單獨的子系統實現

      Windows,Solaris

      linux 內核特點

      支持模塊化:

      支持模塊運行時動態裝載或者卸載

      內核組成

      核心文件: /boot/vminuz-VERSEION-Release

      模塊文件: /lib/modules/

      ramdisk: 臨時內存根文件

      CentOS 系統的啟動流程

      POST: '加電自檢'

      ROM: CMOS

      BIOS: Basic Input and output system

      Boot Sequence:

      按次序查找各引導設備、第一個有引導程序的設備、為本次啟動要用的設備

      bootloader: 引導加載器、程序

      Winodws: ntloader

      Linux:

      LILO: Linux Loader --- 無法加載大硬盤? (目前手機使用最多)

      GRUB: Grand Uniform Bootloader

      GRUB 0.X ---CentOS5/6? Grub Legay

      GRUB 1.X ---CentOS7? (是一個完全重寫的程序 )? GRUB2

      功能:提供一個菜單、允許用戶選擇要啟動的系統或不同的內核版本、把用戶選定的內核 裝載到RAM中的特定空間中、解壓,展開。而把整個系統的控制權移交給內核

      MBR: Master Boot Record

      512 bytes:

      446 bytes: bootloader

      64bytes: fat

      2bytes: 55AA(表示有效、如果是非55AA則表示MBR無效)

      GRUB:

      bootloader : 1st stage

      Pattion: filesystem driver 1.5 stage

      disk partition: /boot/grub 2nd stage

      加載Kernel

      自身初始化:

      探測可以識別到的所有硬件設備:

      加載硬件驅動程序(會借且于randisk加載驅動)

      以只讀方式掛載根文件系統

      運行用戶空間的第一個應用程序

      :/sbin/init

      CentOS5 使用 Sysv init

      配置文件:/etc/inittab

      CentOS6 使用 Upstar

      配置文件: /etc/inittab

      重要配置在 /etc/init/*.conf

      CentOS7 使用 Systemd

      配置文件: /usr/lib/systemd/

      /etc/systemd/system/

      ramdisk

      Linux 內核的特性之一:使用緩沖和緩存來加速對磁盤上的文件訪問

      CentOS 5 : initrd

      工具:mkinitrd

      CentOS6/7 :initramfs

      工具:dracut(mkinitrd)

      系統初始化流程(內核級別),POST---> BootSequence(BIOS)---->bootloader(MBR) ---->Kernel(ramdisk)---> rootfs(readonly)----->/sbin/init()

      /sbin/init

      CentOS5 : Sysv init

      運行級別:為了系統的運行或者維護等目的而設定的機制

      0-6 : 7個級別

      0: 關機

      1: 單用戶模式(single user) root 賬號,不需要認證、維護模式

      2: 多用戶模式,會啟動網絡功能、但不會啟動nfs,維護模式

      3: 多用戶模式,完整功能模式、(不會啟動用圖形)

      4: 預留級別、目前無特殊使用目的、功能和3級別一樣

      5: 多用戶模式,完全功能模式、圖形界面

      6: 重啟模式

      ~]# runlevel (查看目前運行的級別)

      配置文件: /etc/inittab

      每行定義一種action以及與之對應的process

      id:runlevels:action:process

      id:一個任務的標識符

      runlevel: 運行級別或以寫多個、空表示所有級別

      action: 在什么條件下啟動此任務

      process: 具體的任務是

      action

      wait: 等待切換至此余男所在的級別時執行一次

      respawn: 一旦任務終止、就自動重啟

      initdefault: 設定默認運行級別、此時process省略

      sysinit: 系統初始化方式、此處一身孕為指定/etc/rc.d/rc.sysinit腳本

      示例:

      id:3:initdefault:

      si::sysinit:/etc/rc.d/rc.sysinit

      L:0:wait:/etc/rc.d/rc 3

      意味著去啟動或者關閉/etc/rc.d/rc3.d/目錄下服務腳本所控制服務

      K*: 要停止的服務 K##*,優先級、數字越小、越是優先關閉,依賴的服務先關閉、而后關閉被依賴的

      S*: 要啟動的服務 S##*,優先級、數字越小、與關閉的順序相反

      系統初始化腳本:/etc/rc.d/rc.sysinit

      1: 設置主機名

      2:設置歡迎信息

      3:激活udev和selinux

      4: 掛載/etc/fstab文件中定義的所有文件系統

      5:檢測根文件系統、并以讀寫文件重新掛載根文件系統

      6:設置系統時鐘

      7:根據/etc/sysctl.conf文件來設置內核參數

      8: 激活lvm及軟raid設備

      9: 激活swap設置

      10: 加載額外設備的驅動程序

      11:清理操作

      LINUX 啟動流程

      用戶空間啟動流程:(/sbin/init(/etc/inittab))

      設置默認運行級別 ---> 運行系統初始化腳本 、完成系統初始化 ---> 關閉對應級別下需要停止的服務,啟動對應級別下需要開開啟的服務 ---> 設置登陸終端 ---> 啟動圖形終端

      ### Grub

      如果識別設備

      (hd#,#)

      hd# : 磁盤編號

      #: 分區編號

      grub的命令行接口

      help: 獲取幫助

      find: 查找文件

      root (hd#,#): 定義根設備

      kernel /PATH/TO/Kernel_file: 設定本次啟動時用到的內核文件

      initrd /PATH/TO/INITRAMFS_FILE: 設定為選定的內核 提供的額外的文件的randisk

      boot: 引導啟動選擇的內核

      配置文件 /boot/grub/grub.conf

      配置項:

      default=#: 設定默認啟動的菜單藏在

      timeout=#: 指定菜單等待的選擇時長

      splashimge=(hd#,#)/PATH/TO/XPM_PIC_FILE: 指明菜單背景圖片文件路徑

      hiddenmenu:隱藏菜單

      passwdord [--md5] STRING:菜單編輯認證

      title TITLE: 定義菜單項”標題“

      root (hd#,#): grub查找stage2 及kernel文件所在設備分區;為grub的根

      kernel /PATH/TO/VMLINUX_FIEL? [Patterns] : 啟動的內核

      initrd /PATH/TO/INITRAMFS_FILE: 內核匹配的ramfs文件

      password [--md5] STRING:啟動選定的內核或操作系統時進行誰

      ~]#grub-md5-crypt 密碼生成(md5)

      進入單用戶模式

      1: 編輯grub菜單(e命令)

      2: 在選定的kernel后、附加

      1,s,S,single

      3: 在kernel所在行、鍵入'b'命令

      如何安裝grub

      ~]# grub-install --root-direcotry=ROOT? /dev/DISK

      方案二

      ~]# grub

      grub> root(hd#,#)

      grub> setup(hd#)

      ### 流程

      POST --> bootloader ---> kernel ---> rootfs ---> switchroot ---> /sbin/init

      內核信息查看

      uname

      -r : release號

      -n : hostname

      lsmod

      顯示的內核來自于/proc/model

      modinfo

      show info about a linux kernel module

      -F field: 只顯示指定字段信息

      -n :只顯示文本

      modprobe

      模塊裝載

      modprobe -r module_name? ---remove

      modprobe module_name

      depmod

      模塊生成依賴

      insmod

      install module

      insmod [filename] []

      rmmod

      remove module

      ramdisk 文件管理

      mkinitrd

      dracut

      ~]#mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

      --with=: 除了默認的模塊之外還需要安裝的模塊

      內核信息輸出的文件系統

      /proc: 內核狀態和統計信息的輸出接口、同時還提供一個配置接口/proc/sys

      參數:

      只讀:信息輸出 /proc/#/*

      可寫:配置 /proc/sys/

      命令:

      sysctl 命令 ---> 專用于查看或者設定/proc/sys目錄中的值

      sysctl [options] [variable [=value]]

      查看

      ~]# sysctl -a

      ~]# sysctl variable

      修改

      ~]# sysctl -w variable=value

      echo 命令

      查看

      ~]# cat /proc/sys/PATH/TO/SOMEFILE

      修改

      ~]# echo "value" /proc/sys/PATH/TO

      配置文件

      /etc/sysctl.conf? /etc/sysctl.d/*.conf

      永久有效

      立即生效? sysctl -p key:value

      核心參數:

      net.ipv4.ip_forward: 核心轉發

      vm.drop_cache :手動回收 buffer

      kernel.hostname: 主機名

      net.ipv4.icmp_echo_ignore_all: 忽略所有ping

      /sys/

      sysfs: 輸出內核各硬件設備的相關屬性信息

      也有內核對硬件特性可設置的信息

      udev: 通過讀取/sys目錄下的硬件設備信息按需為各硬件設備 創建文件、:udev是用戶 空間程序

      kernel Linux

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:巧妙使用WPS表格制作網頁導航欄
      下一篇:怎么下一頁的表格弄到上一頁
      相關文章
      亚洲精品动漫人成3d在线| 亚洲人成色在线观看| 亚洲а∨天堂久久精品| 亚洲成人激情小说| 亚洲国产成人手机在线电影bd| 亚洲日韩区在线电影| 亚洲国产精品一区| 亚洲国产精品久久| 亚洲一区二区在线免费观看| 亚洲av片劲爆在线观看| 婷婷亚洲久悠悠色悠在线播放 | 亚洲精品国产品国语在线| 国产成人A亚洲精V品无码| 在线观看亚洲成人| 亚洲精品无码国产| 亚洲国产成人精品不卡青青草原| 久久精品国产亚洲AV网站| 亚洲AV无码成人精品区在线观看| 亚洲AV日韩AV永久无码免下载| 亚洲AV无码久久精品狠狠爱浪潮| 图图资源网亚洲综合网站| 久久精品蜜芽亚洲国产AV| 亚洲毛片无码专区亚洲乱| 亚洲人成综合在线播放| 在线aⅴ亚洲中文字幕| 亚洲AV成人片无码网站| 亚洲高清无码专区视频| 国内精品久久久久久久亚洲| 亚洲女久久久噜噜噜熟女| 久久亚洲精品中文字幕无码 | 亚洲精品无码永久在线观看男男 | 亚洲av无码成人精品区一本二本| 国产精品亚洲精品日韩动图| 亚洲国产小视频精品久久久三级| 久久影院亚洲一区| 久久久久亚洲av无码专区蜜芽| 久久久久亚洲av无码专区喷水| 亚洲免费视频播放| 亚洲爆乳大丰满无码专区| 亚洲精品无码专区2| 国产亚洲高清不卡在线观看|