1. 程式人生 > >Linux的GRUB簡介

Linux的GRUB簡介

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]
/* */ mnt]#kpartx -af /dev/sda [[email protected] mnt]#partx -a /dev/sda [[email protected] mnt]#mke2fs -T eth4 /dev/sda7 [[email protected] mnt]#mke2fs -T eth4 /dev/sda8 [[email protected] mnt]#mount /dev/sda7 /mnt/boot [[email protected] mnt]#mount /dev/sda8 /mnt/sysroot 3. 制作GRUB [[email protected]
/* */ mnt]#grub-install --root-directory=/mnt /dev/sda7 //註意這裏的磁盤文件是掛載在/mnt/boot下的磁盤 4. 復制內核文件 [[email protected] boot]# cp /boot/vmlinuz-2.6.32-696.6.3.el6.x86_64 /boot/initramfs-2.6.32-696.6.3.el6.x86_64.img /mnt/boot/ 5. 創建目標機的根文件系統 [[email protected] ]# mkdir -pv /mnt/sysroot/{dev,boot,root,home,etc/rc.d,urs,lib,bin,sbin,lib64,mnt,proc,var,medis,sys} 6. 復制bash和根文件系統 [[email protected] ]#cp /bin/bash /mnt/sysroot/bin 7. 配置grub配置文件 vim /mnt/boot/grub/grub.conf default=0 timeout=5 title root(hd0,0) kernel /vmlinuz ro root=/dev/sda1 selinux=0 init=/bin/bash initramfs /initramfs


本文出自 “lnsaneLlinux” 博客,請務必保留此出處http://lnsane784.blog.51cto.com/1226518/1948699

Linux的GRUB簡介