Linux的GRUB簡介
GRUB的功能
1. 提供選擇要啟動的內核或者系統 2. 提供交互式接口。進入GRUB後按e鍵進入GRUB的交互接口,可已經行Linux系統運行基本的選擇。 3. 基於密碼的保護:啟用內核映像,傳遞參數12341234
GRUB的接口格式
title:操作系統的內核或者系統的標題 root:設定內核文件所在分區的grub跟 kernel:定義要使用的內核文件,後邊附加傳遞給內核的參數 initrd:指定為內核提供的額外驅動等功能12341234
GRUB配置文件格式
default=0 //指定默認啟動的內核或者啟動 timeout=5 //等待用戶選擇內核時長,默認單位為秒 splashimage=(hd0,0)/grub/splash.xpm.gz //啟動時使用的圖片 hiddenmenu //隱藏菜單 title CentOS (2.6.32-696.6.3.el6.x86_64) //系統內核名 root (hd0,0) //內核所在的分區 kernel /vmlinuz-2.6.32-696.6.3.el6.x86_64 ro root=UUID=9b571efa-58dc-46c5-add3-871cf8abf3c0 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet //內核文件並給內核傳遞參數 initrd /initramfs-2.6.32-696.6.3.el6.x86_64.img1234567812345678
制作一個簡單的內核
在一個已經有內核的系統上創建另一個內核
1. 在/mnt下創建boot和sysroot目錄 [[email protected] mnt]# mkdir boot sysroot 2. 在磁盤上分出兩個區並格式化分別掛載在/mnt/boot和/mnt/sysroot下 [[email protected] mnt]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to switch off the mode (command ‘c‘) and change display units to sectors (command ‘u‘). Command (m for help):n First cylinder (4361-7833, default 4361): Using default value 4361 Last cylinder, +cylinders or +size{K,M,G}(4361-7833, default 7833): +500M Command (m for help): n First cylinder (4426-7833, default 4426): Using default value 4426 Last cylinder, +cylinders or +size{K,M,G} (4426-7833, default 7833): +500M Command (m for help):w [[email protected]