`
gstarwd
  • 浏览: 1525271 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

grub2 基础教程

阅读更多

grub2基础教程-修订版
     
                                 smallapple


目录

一、 grub2 新特性

二、 grub2 安装与启动

三、 grub2 配置文件详解

四、脚本修改

五、使用 grub2 常见错误及修复方法


一、 grub2 新特性

1 grub2 grub 有很多不同的地方
a
)图形接口
b
)使用了模块机制,通过动态加载需要的模块来扩展功能
c
)支持脚本语言,例如条件判断,循环、变量和函数
d
)支持 rescue 模式,可用于系统无法引导的情况
e
)国际化语言。包括支持非 ASCII 的字符集和类似 gettext 的消息分类,字体,图形控制台等等
f
)有一个灵活的命令行接口。如果没有配置文件存在, GRUB 会自动进入命令模式
g
)针对文件系统、文件、设备、驱动、终端、命令、分区表、 os loder 的模块化、层次化、基于对象的框架
h
)支持多种文件系统格式
i
)可访问已经安装的设备上的数据
j
)支持自动解压

2
、设备的命名
grub2
同样以 fd 表示软盘, hd 表示硬盘(包含 IDE SCSI 硬盘)。设备是从 0 开始编号,分区则是从 1 开始,主分区从 1-4 ,逻辑分区从 5 开始,而 grub 分区编号是从 0 开始的。下面给出几个例子 :
(fd0)
:表示整个软盘
(hd0,1)
:表示 BIOS 中的第一个硬盘的第 1 个分区
(hd0,5)/boot/vmlinuz
:表示 BIOS 中的第一个硬盘的第一个逻辑分区下的 boot 目录下的 vmlinuz 文件

二、 grub2 安装与启动

1 、安装 ubuntu9.10 时, grub 默认安装在第一硬盘( hd0 )的 mbr ,其实就是把引导文件 boot.img 写入硬盘的 mbr ,当然,用户也可以选择不写入硬盘 mbr 而是写入 linux 分区的引导扇区。启动时根据 mbr 所提供信息找到启动分区后,加载分区内的 grub 核心文件 core.img 和配置文件 grub.cfg ,进入选择菜单画面,在菜单画面,按上下箭号选择需要系统菜单项,按 Enter 进入选项。






e 进入己选择菜单的编辑状态,在编辑状态下,由上下左右箭号来移动光标, enter 键换行, ctrl+x 以编辑的内容启动, ctrl+c 进命令行状态,按 Esc 退出,回到菜单项。

在需要使用额外的内核参数启动时,比如要加上 acpi=off 时,把光标移动到 linux 这一行最后,在 splash 后加上一空格再输入 acpi=off ,然后按 ctrl+x 启动。



c 进入命令行状态,按 Tab 键可查看所有可用的命令。




在命令行状态,可以根据需要加载或移除相应模块,也可用来启动在菜单没有显现的的系统。

比如,在第一硬盘的第一分区上装有 windows xp 系统,但在菜单上没显示出来,我们可以命令行状态下输入命令启动:

    grub>set root=(hd0,1)

    grub>chainloader +1

    grub>boot

又比如启动第二硬盘第一逻辑分区上的 ubuntu 系统:

    grub>set root=(hd1,5)

    grub>linux /boot/vmlinuz-xxx-xxx root=/dev/sdb5

    grub>initrd /boot/initrd.img-xxx-xxx

    grub>boot

其中内核 vmlinuz initrd.img 的版本号可用按 Tab 键自动查看。


2 、下面介绍下在 grub2 中一些常用的命令

    1)help
        查看命令用法,如
    help search
:查看 search 命令详细用法
    2)set

        设置变量值,如

    set default=0
    set timeout=5

    set root=(hd0,3) 等等

        需要调用变量 AA 的值时,使用 ${AA} ,如 set root=(hd1,1) ,则 ${root}=(hd1,1)

    3)default

        定义默认引导的操作系统。 0 表示第一个操作系统, 1 表示第 2 个,依此类推

    4)timeout

        定义在时间内用户没有按下键盘上的某个按键,自动引导 default 指定的操作系统。

    5)root

        指定用于启动系统的分区。

    6)insmod rmmod

        加载或移除某模块,如

insmod jpeg

insmod png

insmod ntfs

rmmod png

 等

 7)drivemap
 drivemap
兼容 grub map ,主要用于只能从第一硬盘 (hd0) 引导启动的系统如 win2000 xp 2003 ,比如要添加第二硬盘第一分区上的 xp 系统:
 menuentry "Windows XP" {
 set root=(hd1,1)
 drivemap -s (hd0) ${root}
 chainloader +1
 }

    8)ls
        列出当前的所有设备。如 (hd0) (hd0,1) (hd0,5) (hd1) (hd1,1) (hd1,2)

    ls -l
        详细列出当前的所有设备。对于分区,会显示其 label uuid
    ls /
        列出当前设为 root 的分区下的文件
    ls (hd1,1)/
        列出 (hd1,1) 分区根目录的文件
    9)search
    search -f /ntldr
        列出根目录里包含 ntldr 文件的分区,返回为分区号
    search -l LINUX
        搜索 label LINUX 的分区。
    search --set -f /ntldr
        搜索根目录包含 ntldr 文件的分区并设为 root ,注意如果多个分区含有 ntldr 文件,

    set 失去作用。

    10)loopback
    loopback
命令可用于建立回放设备,如
    loopback lo0 (hd1,1)/abc.iso
        可以使用 lo0 设备来访问 abc.iso 里的内容,比如说,可以从 abc.iso 里的软盘映像中启动
    loopback lo0 (hd1,1)/aa.iso
    linux (lo0)/memdisk
    initrd (lo0)/abc.img
        要删除某一回放设备,可以使用 -d 参数:
    loopback -d lo0
    11)pager
        分页显示。
    set pager=1
        显示满一页时暂停,按 space 继续
    set pager=0
        取消分页显示
    12)linux
        用 linux 命令取代 grub 中的 kernel 命令

    13)chainloader

        调用另一个启动器,如

    chainloader (hd0,1)+1

        调用第一硬盘第一分区引导扇区内的启动器,可以是 windows linux 的启动器


三、 grub2 配置文件详解

    grub2 改用 grub.cfg 为配置文件,配置文件包含以下基本内容:(红色为解释部分)


### BEGIN /etc/grub.d/00_header ###
load_env

# 加载变量,如果在grubenv 保存变量,则启动时装载
set default="0"

# 设置默认引导项,默认值为0
insmod ext2

# 插入文件系统支持的模块,除了用作启动的分区外,其他分区格式可在menuentry 底下再添加
set root=(hd0,8)

# 指定系统root 分区,也就是 / 分区
search --no-floppy --fs-uuid --set 2d61e5f9-1d2a-4167-a6f1-b991ba00878b

#指定uuid=2d61e5f9-1d2a-4167-a6f1-b991ba00878b的分区为root分区,如果前面的分区号(hd0,8)的#uuid与这里的uuid一致,这两句作用一样,如果不一致,则指定uuid的起作用。

if loadfont /usr/share/grub/unicode.pf2 ; then

# 设置终端字体,unicode.pf2 支持中文字符显示
set gfxmode=640x480

# 设置显示分辨率,默认为640x480 ,可用800x600 ,1024x768 ,建议跟你想设定的图片大小一致
insmod gfxterm

# 插入终端模块gfxterm ,支持中文字符显示和支持24 位图像
insmod vbe

# 插入vbe 模块,GRUB2 引入模块化机制,要使用它,需要在这里加入
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm

# 设定grub2 终端为gfxterm
fi
fi
set timeout=10

# 设定默认启动前等待时间,默认为10
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black

# 设定菜单字体及背景颜色
set menu_color_highlight=black/blue

#设定选择项字体及背景颜色

# 如果使用默认,背景将完全被蓝色挡住了,需要修改blue 为black ,背景图片才能显示
### END /etc/grub.d/05_debian_theme ###


### BEGIN /etc/grub.d/10_linux ###

#10_linux为系统自动添加的当前root分区linux引导项

# 每个菜单项要包括menuentry 双引号" " 和大括号{ } 才完整,否则不显示菜单
menuentry "Ubuntu, Linux 2.6.31-10-generic" {
set quiet=1
insmod ext2
set root=(hd0,8)
search --no-floppy --fs-uuid --set 2d61e5f9-1d2a-4167-a6f1-b991ba00878b

# 这句与set root=(hd0,8) 效果一样,可删除其一,二者不一致以这句为准
linux /boot/vmlinuz-2.6.31-10-generic root=UUID=2d61e5f9-1d2a-4167-a6f1-b991ba00878b ro quiet splash

# 不喜欢看到一长串的, roo=UUID=*** 可用root=/dev/sda8(/ 分区的分区号) 代替
initrd /boot/initrd.img-2.6.31-10-generic
}


### END /etc/grub.d/10_linux ###


#20_memtest86+ 为系统自动添加的内存测试菜单项
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
#30_os-prober
或30_others 为系统自动查找并添加其他系统菜单项,按windows ,linux ,macos 顺序

# 查找并添加,支持windows 7 识别
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_otheros ###
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
menuentry "Microsoft Windows XP Professional" {
set root=(hd0,1)
search --no-floppy --fs-uuid --set e852-230b
drivemap -s (hd0) $root

# 对以ntldr 引导的系统如win2000 ,xp ,win2003 ,因其引导机制只能从第一硬盘启动,系统会自动添加# 映射命令,对vista 和win7 就没有这句命令
chainloader +1
}
### END /etc/ grub.d/30_otheros ###
#40_custom
为自定义的启动项,如启动cdlinux
### BEGIN /etc/grub.d/40_custom ###

menuentry "CDLinux"{

set root=(hd0,8)

linux /CDlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8

initrd /CDlinux/initrd

}
### END /etc/grub.d/40_custom ###

定制个性化的配置文件,可以加入背景图片,使用中文字符,让启动画面独具特色,而不是单调的黑、白、蓝三色。下面是一张经美化启动画面:




四、脚本修改

该怎样定制个性化的配置文件呢 ?

系统安装完成后,用户就会发现 /boot/grub/grub.cfg 文件只有 root 权限可读,如果要直接修改 grub.cfg 文件,要先修改其权限。好不容易把 grub.cfg 修改好了,系统内核或 grub 升级时,会自动执行 update-grub grub.cfg 文件就会被打回原形,如何保证修改后的配置文件能一直保留下来呢?

其实不用修改grub.cfg ,只要把个性化配置写入/etc/default/ 目录下的grub 和/etc/gurb.d 目录下的脚本文件,以后不管升级内核或者是升级grub 所执行的update-grub ,都会按要求创建个性化的grub.cfg

1 、首先看下 /etc/default/grub ,先从应用程序-附件里打开终端,输入

            sudo gedit /etc/default/grub

                  用户密码



看看打开的文件可作什么修改:


# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0 ->设置默认启动项,按menuentry顺序。比如要默认从第四个菜单项启动,数字改为3,若改为 saved,则默认为上次启动项。
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true ->隐藏菜单,grub2不再使用,不管
GRUB_TIMEOUT="3" ->设置进入默认启动项的等候时间,默认值10秒,按自己需要修改
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" ->添加内核启动参数,这个为默认
GRUB_CMDLINE_LINUX="noresume" ->手动添加内核启动参数,比如 acpi=off noapic等可在这里添加

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console ->设置是否使用图形介面。去除前面#,仅使用控制台终端,不使用图形介面

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480 设定图形介面分辨率,如不使用默认,把前面#去掉,把分辨率改为800x600或1024x768

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true ->设置grub命令是否使用UUID,去掉#,使用root=/dev/sdax而不用root=UUDI=xxx

# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true" ->设定是否创建修复模式菜单项

2、再看下/etc/grub.d目录下的脚本文件:




00_header,05_debian_theme,10_linux,20_memtest86+,30_os- prober,40_custom这五个脚本对应grub.cfg上的各个部分,有的版本的grub可能把30_os-prober分出另一部分为 30_os-others,这并不影响。怎样修改这些脚本文件才能保证不会破坏update-grub的运行,又能让生成的grub.cfg合乎意愿呢? 其实很简单,只要在脚本文件中找到
    cat << EOF
    ********
    ********
    ********
    EOF
这类语句,EOF中间的文本会直接写入grub.cfg中相应位置,所以个性化的语句添加在这地方就可以了。

其他使用变量的语句不要随变做修改,除非你清楚修改后会有什么结果。


1)看看00_header,一样在终端中打开sudo gedit /etc/grub.d/00_header,找到这部分


cat << EOF
load_env ->加载由save_env保存在grubenv的变量
set default="${GRUB_DEFAULT}" ->使用/etc/default/grub中的设定值
if [ \${prev_saved_entry} ]; then
  saved_entry=\${prev_saved_entry}
  save_env saved_entry
  prev_saved_entry= ->变里设置的变量由下句保存到grubenv
  save_env prev_saved_entry
fi ->这里回车添加新行后可插入需要添加的模块
insmod jpeg ->添加背景图片格式支持,如jpeg,png,tga等。
insmod fat ->添加文件系统格式支持如fat,ntfs,也可在menuentry下添加
EOF

再看看最后这一段


cat << EOF
if [ \${recordfail} = 1 ]; then
  set timeout=-1 ->设定为若有启动失败记录,就显示菜单,需手动选择才能启动选择项
else
  set timeout=${GRUB_TIMEOUT} ->使用/etc/default/grub中的设定值
fi ->这行后添加行
background_image (hd0,7)/boot/images/002.jpg ->添加背景图片的绝对路径
EOF


2)05_debian_theme修改字体及背景颜色

先打开文件 sudo gedit /etc/grub.d/05_debian_theme

看这里

  cat << EOF
set menu_color_normal=white/black ->设置菜单项的字体和背景颜色
set menu_color_highlight=black/white ->设置选择项的字体和背景颜色。
EOF

可供使用菜单颜色有:
black,blue,green,cyan,red,magenta,brown,light- gray,dark-gray,light-blue,light-green,light-cyan,light-red,light- magenta,yellow,white


3)10_linux这部分是自动搜索当前系统,建立当前系统的启动菜单,包括系统头,内核等信息,不要随便修改,要使用个性菜单名,比如中文菜单,可适当添加:

先打开文件 sudo gedit /etc/grub.d/10_linux,找到


        cat << EOF
menuentry "$1" { ->双引号内可添加个性化字符,$1变量也可改为定值,如改为menuentry "启动 Ubuntu Karmic" {
        recordfail=1
        save_env recordfail ->如不要保存启动失败记录的,这两句可删除
EOF

  if [ "x$3" = "xquiet" ]; then
    cat << EOF
    set quiet=1
EOF ->启动画面不用splash,要用跳动字符的,这段可删除


个性化菜单项也可在这里修改,即上面的menuenrty "$1"不变,修改下面的数值:
  linux_entry "${OS}, Linux ${version}" \ ->可改为 linux_entry "启动 Ubuntu, Linux ${version}"\
      "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_EXTRA} ${GRUB_CMDLINE_LINUX_DEFAULT}" \
      quiet
  if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
    linux_entry "${OS}, Linux ${version} (recovery mode)" \ ->可改为 linux_entry "启动 Ubuntu, Linux ${version} (修复模式)"\
    "single ${GRUB_CMDLINE_LINUX}"
  fi

注意只修改引号内的字符,前面的menuentry,linux_entry和后面的\不要做修改。


4)20_memtest86+自动添加内存测试启动项

打开文件 sudo gedit /etc/grub.d/20_memtest86+,找到


  cat << EOF
menuentry "Memory test (memtest86+)" { ->双引号内可添加个性字符如menuentry "启动 内存测试"
    linux16    $MEMTESTPATH
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    linux16    $MEMTESTPATH console=ttyS0,115200n8
}
EOF
上面有两内存测试项,可删除其中一个。

5)30_os-prober查找其他分区中存在的系统并建立菜单项,依次为windows,linux,macos。

对于单系统,默认会隐藏菜单,可在这里去掉隐藏

先打开文件 sudo gedit /etc/grub.d/30_os-prober

单ubuntu系统会自动隐藏菜单,要取消隐藏菜单,可把这部份的三个timeout=0改为和/etc/default/grub中的timeout一致,比如timeout=10。
    cat <<EOF
if [ \${timeout} != -1 ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep$verbose --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
EOF
      else
    cat << EOF
if [ \${timeout} != -1 ]; then
  if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
    set timeout=0
  fi
fi
EOF

下面这段自动查找并添加windows、linux和macos启动项,可在menuentry内修改个性字符
windows启动项
for OS in ${OSPROBED} ; do
   ......
  if [ -z "${LONGNAME}" ] ; then
    LONGNAME="${LABEL}"
  fi
    ......
      cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" { ->比如改为menuentry "启动 Windows XP" {
EOF

linux启动项
    linux)
      LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
    ......
        if [ -z "${LLABEL}" ] ; then
          LLABEL="${LONGNAME}"
        fi
        cat << EOF
menuentry "${LLABEL} (on ${DEVICE})" { ->比如改为menuentry "启动 Mandriva" {
EOF

macos启动项
    macosx)
      OSXUUID="`grub-probe --target=fs_uuid --device ${DEVICE} 2> /dev/null`"
        cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" { ->比如改为menuentry "启动 MacOS" {
EOF

6)40_custom 自定义启动项,按菜单标准格式在后面添加即可,如


#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "启动 Veket" {
    set root=(hd0,8)
    linux /veket/vmlinuz root=/dev/ram0 PMEDIA=hd
    initrd /veket/initrd.gz
}
menuentry "启动 CDLinux" {
    set root=(hd0,8)
    linux /CDlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8
    initrd /CDlinux/initrd
}


3、把各项脚本修改保存后,在终端执行
sudo update-grub
再执行

sudo gedit /boot/grub/grub.cfg
看看配置文件是不是和你想要的一样了。
如果有不够满意的地方,重新修改下脚本文件,再执行sudo update-grub


4、 ubuntu 和windows 双系统,怎样让系统默认为从windows 启动

在 /etc/grub.d目录中的脚本文件的文件名都是以数字开头,这确定了在执行update-grub时各文件内容被执行的顺序,我们只要把 30_os-prober这个文件名的数字30改为05到10之间的数字即可(没多少可选06、07、08、09),比如改为08_os-prober, 这样创建出来的grub.cfg内的菜单项,windows的排序就会自动在ubuntu之前。


五、使用grub2常见错误及修复方法

1 、双系统,重装windows 引起没有ubuntu 启动项

使用安装版的windows 重装windows 时会改写mbr ,造成grub 丢失,可以用grub4dos 引导进入ubuntu 后修复grub 或用livecd 启动后修复grub

1 )用grub4dos 修复ubuntu

先下载最新版的grub4dos ,下载地址 http://nufans.net/grub4dos/ ,如果是 xp 系统,把 grub4dos 压缩包内的 grldr 复制到 C 根目录 下,修改 boot.ini ,在最后加上一行 c:\grldr = "grub4dos"

 



对 于vista/win7系统,把压缩包内的grldr.mbr和grldr复制到C盘根目录下,在C盘自己建立一个boot.ini文件,若有boot隐 藏分区的,先给boot分区分配盘符,再把grldr,grldr.mbr和boot.ini放在boot分区下,boot.ini内容如下:

     Win7使用软改激活的请不要使用此方法,否则会造成win7不能启动。

 



然后在根目录新建一个menu.lst,内容为

        timeout 0
        default 0

        title grub2
        find --set-root /boot/grub/core.img

        kernel /boot/grub/core.img
        boot

        (有/boot分区的改为

        find –set-root /grub/core.img

        kernel /grub/core.img)

重启后选择Grub4Dos会自动转入grub2,从grub2菜单项选择ubuntu启动后,在终端执行

        sudo grub-install /dev/sda

将grub装入第一硬盘的mbr,如要装入第二硬盘的mbr把sda改为sdb,第三硬盘为sdc,类推。

至于要把 grub 装到 sda sdb sdc mbr 上,需根据自己情况确定,看看要设置哪一块硬盘为启动盘,就把 grub 装到那块硬盘的 mbr 上。


2)用livecd修复grub

用ubuntu9.10的livecd启动后,打开终端

假如你的ubuntu的 / 分区是sda7,又假如 /boot分区是 sda6,用livecd启动,在终端下输入
    sudo -i
    mount /dev/sda7 /mnt
    mount /dev/sda6 /mnt/boot (如果没 /boot 单独分区这步跳过)
    grub-install --root-directory=/mnt  /dev/sda
  

     和前面一样,要装入第二硬盘的把sda改为sdb。


如果grub.cfg己丢失,或grub.cfg出现错误,需要重建的继续执行下面操作:

    mount --bind /proc /mnt/proc
    mount --bind /dev /mnt/dev
    mount --bind /sys /mnt/sys
    chroot /mnt update-grub
    umount /mnt/sys
    umount /mnt/dev
    umount /mnt/proc

    exit


3)用带grub启动的光盘或U盘修复

如果手上有grub启动的工具盘,用工具盘启动,在grub菜单上按c进入命令行状态,

在grub>提示符下输入

    grub>find /boot/grub/core.img (有/boot分区的用find /grub/core.img)

    (hdx,y) (显示查找到的分区号)

    grub>root (hdx,y)

    grub>kernel /boot/grub/core.img (/boot分区的用 kernel /grub/core.img)

    grub>boot

执行boot后能转入grub2菜单,启动ubuntu后,再在ubuntu终端下执行

    sudo grub-install /dev/sda (或sdb,sdc等)修复grub。

    如果ubuntu的启动分区使用ext4格式,要有支持ext4格式的grub才能修复。



4)没安装引导器的 grub4dos引导ubuntu的方法

    按第一步的方法使用 boot.ini 建立grub4dos 引导项,自己编写 menu.lst,内容如下
   
timeout 3
default 0

title Ubuntu 9.10
root (hdx,y)  --------> (hd0x,y) 为 /boot分区的分区号
kernel /vmlinuz-xxx-generic root=/dev/sdxy   ------->/dev/sdxy 为 / 分区的分区号

initrd /initrd.img-xxx-generic

 

没 /boot 分区的用

timeout 3
default 0

title Ubuntu 9.10
root (hdx,y)
kernel /boot/vmlinuz-xxx-generic root=/dev/sdxy
initrd /boot/initrd.img-xxx-generic


<span st

分享到:
评论

相关推荐

    Grub2基础教程Grub2基础教程

    **Grub2基础教程** Grub2(GRand Unified Bootloader 2)是Linux系统中的一个引导加载器,它负责在计算机启动时加载操作系统内核。Grub2取代了早期的Grub,提供了更多功能和改进,使得系统引导更加灵活和可定制。 ...

    grub2基础教程-修订版

    ### GRUB2基础教程知识点详解 #### 一、GRUB2新特性 1. **图形接口**:GRUB2引入了图形化的用户界面,相比于早期版本的文本模式,提供了更直观的操作体验。用户可以在引导菜单中看到清晰的操作系统图标和其他可视...

    GRUB2基础教程

    GRUB2是一种流行的引导加载程序,广泛用于Linux和其他类Unix系统中。它负责加载操作系统内核到内存中并启动系统。GRUB2相较于其前身GRUB,增加了很多新的特性和改进,提供了更为强大的配置选项和用户界面。 一、...

    grub2基础教程

    ### GRUB2基础教程知识点详述 #### 一、GRUB2的新特性 1. **图形接口**:GRUB2引入了一个更为现代化的图形界面,这使得用户可以在启动时直观地选择操作系统,甚至进行简单的配置调整。 2. **模块化机制**:GRUB2...

    Grub2基础教程基础教程

    Grub2,全称Grand Unified Bootloader 2,是Linux系统中最常见的引导加载器之一,用于在计算机启动时选择和加载操作系统。...通过阅读提供的"Grub2基础教程.pdf",你将能够深入了解每个主题,并获得实践操作的指导。

    Grub2基础教程(新特性、安装与启动、配置文件详解等)

    ### Grub2基础教程知识点详述 #### 一、Grub2新特性 Grub2作为新一代的引导加载程序,相较于其前身Grub1.x,引入了许多重要的改进和新特性,使得它更加灵活且功能强大。 1. **图形接口**:Grub2支持图形界面,...

    grub2基础教程 by smallapple

    ### GRUB2基础教程知识点详述 #### 一、GRUB2的新特性 GRUB2作为GRUB(Grand Unified Bootloader)的继任者,带来了众多显著改进和新功能: 1. **图形接口**:提供了更为直观的图形界面,使用户在启动过程中能够...

    grub 2基本教程

    ### GRUB 2 基础教程 #### 一、GRUB 2 新特性 GRUB 2(Grand Unified Bootloader 2)是GRUB(GRand Unified Bootloader)的下一代版本,它提供了许多增强的功能和改进。这些新特性不仅提高了GRUB 2 的灵活性和可靠...

    最新Grub2全面教程

    以上就是对Grub2全面教程的内容总结,其中包含了Grub2的基础知识、新特性、安装与启动步骤、配置文件详解、命令行工具使用、常见错误修复方法以及脚本的修改等知识点。掌握这些内容对于系统管理员和高级用户来说是...

    ubuntu-grub-启动项教程.docx

    本文档旨在为用户提供 GRUB2 基础教程,包括 GRUB2 新特性、安装与启动、配置文件详解、脚本修改和常见错误及修复方法等内容。 一、GRUB2 新特性 GRUB2 与 GRUB 有很多不同的地方,包括: * 图形接口,提供了一个...

    GRUB基础教程.pdf

    通过学习GRUB的基础知识,用户不仅能够提升Linux系统的稳定性和可用性,还能在多操作系统环境中游刃有余地管理引导过程。 总的来说,GRUB是一个强大的工具,无论是对于日常使用还是系统管理员来说,都是值得掌握的...

    grub4dos初级教程-入门篇

    GRUB4DOS是GRUB(GRand Unified Bootloader)的一个特别版本,专为DOS环境设计,...在入门篇的教程中,会详细讲解这些基础知识,帮助你快速上手。记得阅读`grub4dos初级教程-入门篇.txt`文件,以便获取更多详细信息。

    Grub for dos 入门教程

    **三、Grub for DOS 命令行基础** Grub for DOS 提供了一个简单的命令行界面,用于输入各种命令来控制启动过程。常见的命令包括: - `boot`: 加载指定的内核文件并启动系统。 - `root`: 设置根目录,确定从哪个分区...

    Ubuntu下分离的Grub2的MOD

    标题中的“Ubuntu下分离的Grub2的MOD”指的是在Ubuntu操作系统中,对Grub2进行模块化的修改或定制。Grub2是GNU GRand Unified Bootloader的第二代版本,是一个多操作系统启动加载器,广泛用于Linux系统。它允许用户...

    grub 完美教程 学习grub多启动设置方法

    "GRUB 完美教程:学习 GRUB 多启动设置方法" GRUB 是一个功能强大的开源启动管理器,能够管理多个操作系统的启动过程。下面是 GRUB 的详细教程,涵盖了 GRUB 的基本概念、多系统引导的实现、GRUB 的安装和配置等。 ...

Global site tag (gtag.js) - Google Analytics