GRUB bootloader 引導流程 學習筆記

2021-10-02 21:30:22 字數 1915 閱讀 2826

1、用於選擇作業系統分割槽上的不同核心,

2、用於向這些核心傳遞啟動引數。

此處以簡略的方式描述,沒有/boot分割槽,簡單磁碟模式。

1、提供選單(e)、提供互動式介面(c)

2、載入使用者選擇的核心或作業系統

3、為選單提供保護機制

(hd#,#)表示第幾塊磁碟的第幾塊分割槽,#從零開始。

例如(hd0,0)表示第一塊硬碟的第乙個分割槽。

命令

作用help

獲取幫助列表

help [命令]

檢視指定命令的詳細幫助資訊

ls顯示磁碟資訊

find (hd#,#)/path/to/檔名

查詢某個磁碟上的某個檔案

root (hd#,#)}

設定grub的根裝置(boot目錄所在的磁碟裝置)

initrd /path/to/initramfs_file

設定選定核心配套的ramdisk檔案

boot

引導啟動選定的核心

kernel /path/to/kernel_file

設定本次啟動時用到的核心;額外還可以新增許多核心支援的cmdline引數:

例如init=/path/to/init, selinux=0

核心支援的啟動引數:

磁碟相關啟動引數:

root 指定啟動系統的真實根檔案系統所在分割槽 如:root=/dev/sda1

ro  指定根裝置在啟動過程中為readly-only(唯讀),預設情況下為ro(這裡根裝置指的是grub的根裝置)

rw  指定根裝置在啟動過程中為read-write(讀寫)

rootfstype 指定根檔案系統型別,如:rootfstype=ext4

console和kernel log相關的啟動引數:

console console的裝置和選項,如:console=tty0,console=ttys0

debug  enable kerneldebugging 系統啟動中的所有debug資訊

quiet  靜默模式將kernel loglevel設定為kern_warning,在啟動中指非常嚴重的資訊

loglevel 設定預設的console日誌級別,如:loglevel=7(0~7數字分別為kern_emerg,…,kern_debug)

time   設定在每條kernel log資訊前加乙個時間戳

cpu啟動的相關引數:

mce   #enable the machine check exception feature.

nosmp   #run as a single-processor machine. 只使用乙個處理器,不使用smp(多處理器)

max_cpus #max_cpus=n, smp系統最多能使用的cpu個數

ramdisk相關的啟動引數:

initrd  指定初始化ramdisk的位置,initrd=filename

noinitrd 不使用initrd的配置,即使配置了initrd引數

selinux相關啟動引數:

enforcing #selinux enforcing狀態的開關,enforcing=0表示僅僅是記錄危險 而不是阻止訪問,enforcing=1完全enable,預設值是0

selinux 在啟動時關閉或開啟selinux,selinux=0表示關閉,selinux=1表示開啟selinux

Linux shell指令碼上引 單引 模式匹配

生成日期日誌,記錄前一天使用的命令 vim mylog.sh bin bash f record touch record sed n 1p student.txt awk record start cat record mydate date y m d sed n start p student...

別人的話引

工作九年了,相關的開發工作也幹了八年多。負責帶領團隊也好幾年了。面試和帶領剛工作的人也不少了。其中的優秀者不少,但是大多數都存在下面提到的幾個認識誤區。把這些問題提出來,希望對剛參加工作沒有多久的程式設計師們有所幫助,少走彎路。公司招你進來,其實最重要的就是看到你的工作能力和工作態度是可以接受的。工...

Windows Ubuntu修復UEFI引導

修復windows的efi引導需要使用到的工具為大白菜裝機工具,官網是使用大白菜製作好裝機工具以後,重啟選擇u盤啟動 一定要選 uefi 你的u盤名 那個啟動項 進入大白菜的pe,然後在桌面就有乙個引導修復工具,傻瓜式操作,我就不細說了。修復完之後就能正常啟動了。需要用到的工具為 然後選擇 try ...