Ubuntu 作業系統學習筆記之系統啟動詳解

2021-06-21 08:30:41 字數 3161 閱讀 6481

執行引導程式 - grub

載入核心

執行init

runlevel

bios, basic input output system, 基本輸入輸出系統, 存在於主機板的bios晶元上.

計算機啟動首先執行bios

作用: 1, 硬體檢查(開機自檢); 2, 查詢可啟動裝置

可啟動裝置 具有引導程式, 首512個位元組的最後兩個位元組 為 "55aa" (mbr有效標誌)

可啟動裝置在bios中設定順序, 如 usb(u盤) -> cdrom(光碟) -> hd(硬碟)

挨個查詢這些裝置的 是否具有 mbr有效標誌, 

找到第乙個就將啟動控制權轉移給它 (首512個位元組的前446個位元組, 引導**)

bios找到可啟動裝置, 執行其引導** boot code

引導**為mbr的前446個位元組, 裝os時 由os寫入的

作用 : 查詢並載入 引導程式 grup

grub 是現在linux使用的主流引導程式, 可用來引導絕大多數os

grub相關檔案儲存於 /boot/grub 目錄

stage1  : 512位元組, mbr的映象

檔案系統驅動

e2fs_stage1_5

fat_stage1_5

ffs_stage1_5

iso9660_stage1_5

jfs_stage1_5

minix_stage1_5

reiserfs_stage1_5

ufs2_stage1_5

vstafs_stage1_5

xfs_stage1_5

stage2

grub配置檔案 : /boot/grub/grub.conf

default=0   預設啟動第0個os

timeout=5   倒數幾秒等待選擇啟動哪個os

splashimage=(hd0,1)/boot/grub/splash.xpm.gz  倒數時的背景

hiddenmenu  隱藏選單欄

os定義

title centos (2.6.32-279.el6.i686)  選單項的名字

root (hd0,1)    根分割槽的位置. hd- 硬碟; 0,1 - 第0塊硬碟, 第0個分割槽

kernel /boot/vmlinuz-version ro root=/dev/sda2  核心,readonly,根目錄

initrd /boot/initramfs-[generic-]version.img 核心模組打包檔案

# man initrd    : boot loader initialized ram disk

/boot/initramfs-[generic-]version.img 封裝os所有可能用到的模組(如裝置驅動)

mbr的引導** 根據grub.conf檔案 找到並載入 linux核心

linux核心: /boot/vmlinuz-2.6.32-279.el6.i686

載入核心模組打包檔案: /boot/initramfs-2.6.32-279.el6.i686.img

linux為保持kernel的精簡, 

將一些不常用的 驅動、功能 編譯成模組, 在需要的時候動態載入,

這些模組被打包成乙個 initramfs檔案

早期linux使用的是initrd檔案, initramfs是initrd的替代優化版本

dmesg命令 可檢視本次啟動時kernel的輸出資訊

# dmesg | less

# less /var/log/dmesg

init 是linux系統中執行的第乙個程序

init程序是所有程序的父程序

/etc/init目錄

作用呼叫 /etc/rc.d/rc.sysinit 對系統進行初始化

掛載檔案系統

根據執行級別啟動相應服務

執行級別(執行模式)

/etc/inittab 配置預設級別

0 - 關機

1 - 單使用者(root)模式

2 - 不帶網路的多使用者名稱模式

3 - 命令列多使用者模式

4 - 未使用

5 - x11圖形化多使用者模式

6 - 重新啟動

每個級別對應的啟動指令碼儲存於: /etc/rc.d目錄

init命令 : 切換執行級別

# init 3    : 切換到命令列介面

# init 5    : 切換到圖形介面

runlevel命令: 顯示上乙個執行級別 和 當前執行級別

$ runlevel

3 5擴充套件

單使用者模式

為核心傳遞引數"1"(數字) 或 "single" 進入單使用者模式, 修改root密碼

特點不啟動任何服務

直接以root使用者登陸, 無需root 密碼

可直接使用 passwd命令 設定新的root密碼(無需舊密碼)

步驟1. 在啟動介面按 上/下方向鍵 以暫停grub引導

2. 按 "e" 鍵 編輯高亮的引導條目

3. 選擇 kernel, 再按 "e"鍵 進行編輯

注: 預設 游標在末尾的, 可以按"home"  "end"  左/右方向鍵 移動游標

4. 在末尾加乙個引數"1"(啟動級別)即可

注: 需要用空格將前面的 隔開

5. 編輯完後按回車返回, 再按"b"鍵啟動

6. 修改完root密碼, 輸入exit命令繼續 預設的啟動

grub加密

1. 生成密碼對應的md5碼

[root@wuqinfei ~]# grub-md5-crypt

password:

retype password:

$1$harqz1$i.m/fpab/xstl.czse7ww1

2. 編輯 /boot/grub/grub.conf檔案

在第一行新增下面的命令

password --md5 $1$harqz1$i.m/fpab/xstl.czse7ww1

注: 編輯 /etc/grub.conf檔案同樣有效

3. 編輯啟動條目時需要輸入密碼 

ubuntu作業系統學習筆記之網路配置

英文,ethernet linux中,乙太網介面為 eth0 編號為0的網絡卡 eth1,lspci 檢視網絡卡硬體資訊 00 03.0 ethernet controller intel corporation 82540em gigabit ethernet controller rev 02 ...

Ubuntu作業系統學習筆記之FTP基礎

乙個 古老但應用極為廣泛 的網際網路協議 ftp提供了一種可靠的方式在網路上進行檔案共享.c s 架構,基於 tcp,提供了資料傳輸的可靠性 標準埠 20 資料埠 21 指令埠 ftp會話時包含了兩個通道,乙個叫控制通道,乙個叫資料通道。控制通道 控制通道是和ftp伺服器進行溝通的通道,連線ftp,...

ubuntu作業系統學習筆記之NFS安裝

1 安裝 nfs 服務版 機器 一 機器二都要裝 伺服器端安裝 sudo aptitude install nfs common nfs kernel server portmap 在客戶端則需要安裝 sudo aptitude install nfs common portmap sudo apt...