`
whatiswhat
  • 浏览: 12884 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

如何修改Grub 2(Ubuntu 9.10)的系统启动项

阅读更多
在早期的Ubuntu中,使用Grub作为系统的启动引导程序,想修改系统启动项非常简单,只要用gedit打开系统菜单设定文件( sudo gedit /boot/grub/menu.lst ),修改该文件中到内容即可,但是到了Grub 2中,不能采用这种方式修改系统启动项了。
Grub 2特性
Grub 2(GRand Unified Bootloader, version 2)是Grub的第二版。Grub 2对Grub的接口进行了完整到重写,基于PUPA(详细介绍)项目到研究,Grub 2更模块化并且更方便扩展,Grub 2的一些提升如下:
  • 具有图形化界面,支持主题
  • 模块化加载
  • 夸平台的兼容性
  • 支持脚本
  • 自定义的启动项目定义
  • 修改分区命名

Grub 2结构
Grub 2包含下面几个部分:
  • /boot/grub/grub.cfg 文件
  • /etc/grub.d/ 文件夹
  • /etc/default/grub 文件

下面开始一个个介绍。
grub.cfg类似Grub中的 /boot/grub/menu.lst。里面的格式于menu.lst差不多,但是现在不允许你通过直接修改该文件到方式来修改启动项,因为该文件是在执行“update-grub”或者update-grub2”之后,根据上面说到2、3两项动态生成到,也就是说,如果你修改了这个文件当下次这两个命令被执行了,你修改到内容就会背覆盖。我发现这两个命令应该经常会自动执行的,因为上次我修改了启动画面的背景,需要通过这两个命令重新生成grub.cfg,但是后来我忘了用这两个命令,所以背景一直没有生效,当时还很纳闷,不知道怎么回事,不过今天开机用了会儿,系统又更新,装完之后重启就 好了,然后我突然想到上次可能忘了执行这命令了,没想到系统更新会自动执行,:)。
grub.cfg文件中主要包含两个部分,一部分是各个启动项的定义,第二部分是启动界面的设置。你可以直接用gedit打开该文件看其中的内容。既然grub.cfg不能修改,那也没什么好详细说的了,稍微研究下就能看懂里面是怎么写的。下面就介绍一下Grub 2的另外两个部分。
Grub 2的另外两部分内容其实就分别对应于grub.cfg中的两部分内容。首先 2. /etc/grub.d/ 文件夹中定义各个启动项,其中的文件代表了一个或多个启动项,命名规范都是“两个数字_名称”,前面的两位数字确定这个或这多个启动项在启动界面的位置,默认的 “00_“是预留给“00_header“的,“10_是预留给当前系统内核的,20_是预留给第三方程序的,除了这些你都可以使用,增加自己的,比如 05_ , 15_,数字越小越前面。这里的文件好像是代码,我还没研究透,不会自己写,只会改,:(,要加油学习了。当执行前面说的“update-grub”或者update-grub2”命令之后,这个文件夹中的文件就是用于生成 grub.cfg 中启动项的定义的。
Grub 2的最后一部分是 3. /etc/default/grub 文件,该文件主要是启动界面的配置,比如默认的启动项,等待用户选择启动项的时间等。文件内容很简单,就是一些键值对,详细的可配置属性可以参考Grub 2的Wiki中“grub (/etc/default/grub)”这一节。当执行前面说的“update-grub”或者update-grub2”命令之后,这个文件的内容就用于生成 grub.cfg 中启动界面的设置。
总结
好了,通过上面的介绍,应该对Grub 2有些了解了,聪明的你应该想到要怎么修改默认启动项了,有下面三种方法:
根据以前修改 /boot/grub/menu.lst 的方法那样直接修改已经生成好的 /boot/grub/grub.cfg。这个方法的优点是简单,缺点是修改之后会被update-grub命令覆盖掉。
修改 /etc/grub.d/ 中启动项的顺序,将你想要默认启动的项顺序设置为较小的值。优点是修改不会被update-grub命令覆盖掉,好像没啥缺电,只有另外的程序修改为比你的值更小了才会成为默认启动。
修改 /etc/default/grub 中默认的启动项,设置该文件中 GRUB_DEFAULT 为你想要的值,这个值是生成的 grub.cfg 中各个启动项的从0开始的下标。该方法优点是修改不会被update-grub命令覆盖,缺电是当启动项的顺序变化之后,下标也就变了。。。
示例
在写这篇文章的时候,我的环境是这样的:安装了Ubuntu 9.10,内核是Linux 2.6.31-14,后来两次更新之后变成Linux 2.6.31-16,在安装Ubuntu之前是用win7的,现在是双系统,现在的启动项有(根据已经生成的 /boot/grub/grub.cfg得到):
引用
Ubuntu, Linux 2.6.31-16-generic
Ubuntu, Linux 2.6.31-16-generic (recovery mode)
Ubuntu, Linux 2.6.31-15-generic
Ubuntu, Linux 2.6.31-15-generic (recovery mode)
Ubuntu, Linux 2.6.31-14-generic
Ubuntu, Linux 2.6.31-14-generic (recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Windows 7 (loader) (on /dev/sda1)

呵呵,好多,我本来想根据第二种方法先删掉几个启动项的,不过想想以后可能还是会用到的,就先留着吧,所以采用第三种方法修改。现在在 /boot/grub/grub.cfg 有这么一行“set default=0”,注意这里的下标是从0开始的,相当于我现在的默认启动项是上面的第一个“Ubuntu, Linux 2.6.31-16-generic”,我要改为默认启动win7,所以应该将默认启动项改为 8,用下面的命令调出gedit。
引用
sudo gedit /etc/default/grub

修改/etc/default/grub中GRUB_DEFAULT=0为GRUB_DEFAULT=8。
用下面的命令重新生成 /boot/grub/grub.cfg:
引用
sudo update-grub

执行后显示:
引用
rextu@rextu-laptop:/etc/default$ sudo update-grub
Generating grub.cfg ...
Found Debian background: moreblue-orbit-grub.png
Found linux image: /boot/vmlinuz-2.6.31-16-generic
Found initrd image: /boot/initrd.img-2.6.31-16-generic
Found linux image: /boot/vmlinuz-2.6.31-15-generic
Found initrd image: /boot/initrd.img-2.6.31-15-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done

这时候在执行:
引用
sudo gedit /boot/grub/grub.cfg

可以看到其中的set default=0已经变成set default=8了。大功告成,restart,哈哈。
分享到:
评论

相关推荐

    grub修改ubuntu启动项

    在 早期的Ubuntu中,使用Grub作为系统的启动引导程序,想修改系统启动项非常简单,只要用gedit打开系统菜单设定文件( sudo gedit /boot/grub/menu.lst ),修改该文件中到内容即可,但是到了Grub 2中,不能采用这种...

    Ubuntu 9.10 硬盘安装 过程图解

    先说一下安装环境,我的电脑分为4个盘:C(NTFS格式,Windows XP系统)、D、E、F(这三个是FAT32格式),我把Ubuntu9.10装在E盘,E盘事先被清空。 第一步:把ubuntu-9.10-desktop-i386.iso 文件拷贝到非安装盘,比如...

    硬盘安装win7与ubuntu9.10双系统

    硬盘安装 windows 7 和 ubuntu 9.10 双系统 Windows 7 和 ubuntu 都已经发布了,想体验一下。 Windows 7 已经安装了,本来想用 wubi 安装 ubuntu ,担心 ubuntu 系统性能不好,使用虚拟机安装吧,也是担心同样的...

    修改ubuntu开机启动项顺序 grub设置 删除多余内核

    修改 Ubuntu 开机启动项顺序 GRUB 设置删除多余内核 GRUB(Grand Unified Bootloader)是 Ubuntu 中的开机引导程序,它负责在系统启动时加载操作系统。GRUB 的配置文件是 `/boot/grub/grub.cfg`,该文件定义了开机...

    ubuntu更改grub启动.pdf

    在 Ubuntu 9.10 中,更改 GRUB 启动顺序是一个常见的需求,特别是在多系统环境下。GRUB(GRand Unified Bootloader)是 Ubuntu 中的默认启动引导程序,它可以管理多个操作系统的启动过程。在本文中,我们将介绍如何...

    Ubuntu和XP双系统 grub2 默认启动项的更改

    Ubuntu和XP双系统 grub2 默认启动项的更改

    修改Ubuntu 的Grub2启动项

    安装后Ubuntu双系统后,要更改开机选项或开机默认选项什么的。。可以下载来参考,里面有详细的解析。

    ubuntu-grub-启动项教程.docx

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

    linux 在grub2中添加windows启动项

    NULL 博文链接:https://xiongjiajia.iteye.com/blog/2233043

    用grub取代grub2启动ubuntu 10

    不要更新太快的菜鸟们,怀念boot.ini的老人,可以用grub取代grub2启动ubuntu 10,介绍具体方法

    windows下面启动ubuntu9.10的grub

    这个是工具,文章在http://blog.csdn.net/JikeiLiu/archive/2010/01/22/5224066.aspx

    ubuntu卸载后windows启动项修改.pdf

    通过修改 GRUB2 的配置文件,我们可以轻松地修改 Windows 启动项,使其成为默认启动系统。这对于需要经常使用 Windows 的用户来说非常重要。 在最后,我们需要注意的是,GRUB2 的配置原理非常复杂,需要深入了解 ...

    grub2系统引导iso文件

    把g2ldr放在c盘,在boot.ini中加入c:\g2ldr="我的ubuntu"就能引导grub2了(如ubuntu9.10等系统)

    在Windows 上使用 grub 进行硬盘安装Ubuntu

    2、修复 Windows 启动项 重新启动ubuntu之后,你会发现丢失了windows 7的启动项。下面来说明如何修复。 进人Ubuntu系统,打开终端,命令如下: sudo gedit /etc/default/grub 修改GRUB_TIMEOUT="10" ,然后在终端中...

    grub命令-Ubuntu启动

    grub命令总结,Ubuntu,linux,Fedora

    双系统时如何修改ubuntu 11.04的开机Grub引导菜单

    双系统时如何修改ubuntu 11.04的开机Grub引导菜单

    使用Mbr引导Ubuntu系统或找回Ubuntu的Grub菜单

    关于Ubuntu没有grub菜单或想要设置mbr引导ubuntu。 网上关于Ubuntu和Win7双系统的安装教程不少,但是...另外,这里还提供了关于安装完Ubuntu后,Grub引导菜单默认不显示的解决方案,以及如何找回Win7选择项的解决方案。

    Ubuntu重装启动失败进入修复grub rescue模式.docx

    Ubuntu重装启动失败进入修复grub rescue模式 本文将详细介绍Ubuntu重装启动失败进入修复grub rescue模式的解决方法。该方法适用于在Ubuntu重装过程中出现启动失败的问题,并且介绍了在grub rescue模式下如何修复...

    Ubuntu下分离的Grub2的MOD

    搜索了很久都找不到CSDN上有GRUB2的MOD下载,就上载一个,取自UBUNTU9.10。

Global site tag (gtag.js) - Google Analytics