GRUB

简介

GNU GRUB(简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。

启动选项

如果您安装了Linux Deepin和Windows7系统组成双系统.那么您的Grub启动选项应该为如下:

LinuxDeepin GNU/Linux 
Advabced options for LinuxDeepin GNU/Linux
memtest86  ##此项可能不存在
Windows 7 (loader) (on /dev/sd**)   ## /dev/sd**对应你Windows系统所在的分区

简单解读:

  • LinuxDeepin GNU/Linux:LinuxDeepin系统的启动项
  • Advabced options for LinuxDeepin GNU/Linux :Linux Deepin系统的高级选项,进入此处可以选择启动的内核版本.
  • memtest86:内存测试,可以进入此模式运行行一些很耗系统资源的程序,测试系统在高负载的情况下主机是否运行稳定.
  • Windows 7 (loader) (on /dev/sd**):windows7系统的启动项

配置

文件配置

在早期的Ubuntu版本中,使用grub1作为默认的启动引导程序,如果想要修改系统启动菜单,直接编辑/boot/grub/menu.lst即可。

从9.10开始,Ubuntu使用grub2作为默认启动引导程序,相对于grub的第一个版本,grub2改动很大。 grub2的新特性主要有:支持图形化界面,支持主题,模块化加载,跨平台兼容等,总而言之,功能的加强也使得grub2的配置变得更加复杂了。

grub2主要有三部分组成:

 /boot/grub/grub.cfg    #系统引导时读取的文件之一,由其他文件生成的,一般不在这里修改
 /etc/default/grub      #grub的默认配置文件,可以修改一些常见的参数
 /etc/grub.d            #这个文件夹下面是一些生成grub.cfg文件的可执行脚本,可以修改


打开gru.cfg文件终端执行:

 sudo gedit /etc/default/grub

*显示为以下信息,已加上中文注释

# If you change this file, run 'update-grub' afterwards to update(如果你修改了这个文件,运行“update-grub”更新grub)

# /boot/grub/grub.cfg. (文件路径而已)

# For full documentation of the options in this file, see:(在此文件中的选项的完整文档,请参阅:
#info -f grub -n 'Simple configuration'  (GRUB的简单的配置)


GRUB_DEFAULT=0  (设置默认启动项,按menuentry顺序如果要默认从第四个菜单项启动,数字改为3,若改为 saved,则默认为上次启动项。)

GRUB_HIDDEN_TIMEOUT=0  (前面有#注释将会显示引导菜单,没有#注释将会不显示引导菜单)

GRUB_HIDDEN_TIMEOUT_QUIET=true  (黑屏,并且不显示GRUB_HIDDEN_TIMEOUT过程中的倒计时)

GRUB_TIMEOUT="10"  (设置进入默认启动项的等候时间,默认值10秒,按自己需要修改,单位为秒改改为零和负值为无限等待操作)

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`  (获得发行版名称(比如Ubuntu, Debian)

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" (选择启动的环境,“quiet splash”为图像界面,“text”为文本界面。)

GRUB_CMDLINE_LINUX="noresume" (手动添加内核启动参数,比如 acpi=off noapic 等可在这里添加。)
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" (目前未知)

# 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将传递参数 "root=UUID=xxx" 传递给 Linux内核)

# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true" (设定是否创建修复模式菜单项,前面有#注释(建立修复模式).前面没有#注释(不建立修复模式))

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1" (当GRUB菜单出现时发出鸣音提醒,户无法看到屏幕特别有用,默认关闭,在此处不能设置开启)

修改后grub配置后需要更新才可以生效,终端执行:

 sudo update-grub

图形软件

  • Super-boot-manager:是一个可以用来管理Burg、Grub2、Plymouth的一站式工具。

常见问题

此处为常见问题,方便查询.

修改等待时间

终端输入:

 sudo gedit /etc/default/grub

修改文件中的:GRUB_TIMEOUT=10 (默认是为10秒的)

修改为:GRUB_TIMEOUT=X (X表示你要设置的秒数,设置为0为一直等待操作) 修改后保存。终端输入:

 sudo update-grub

重启生效。

修改默认启动系统

终端输入:

 sudo gedit /etc/default/grub

修改文件中的GRUB_DEFAULT=0

GRUB_DEFAULT=0 (0默认启动第1项,如果你的win是第5项,把这个0改为4) 保存文件后终端输入:

 sudo update-grub 

重启生效。

图文教程:点此查看

修改默认分辨率

终端输入:

 sudo gedit /etc/default/grub

修改文件中的 #GRUB_GFXMODE=640x480

把前面#去掉,把分辨率改为800x600或1024x768(或者修改为你屏幕的分辨率,但前提是分辨率为常见分辨率) 保存文件后终端输入:

 sudo update-grub

重启生效

修复损坏的grub引导

  • 方法一

建议事先备份sda 的grub:

 dd if=/dev/sda of=./mbr.bak bs=512 count=1 

这样子是把你现有的分区跟引导信息保存下来了。找个linux的live进入linux,然后把刚才的mbr.bak还原回去。

 dd if=./mbr.bak of=/dev/sda  bs=446 count=1
  • 方法二

点此查看:修复MBR,恢复系统引导

降级为Grub legacy

注意:目前 GRUB 分成 GRUB legacy 和 GRUB 2。版本号是 0.9x 以及之前的版本都称为 GRUB Legacy ,从 1.x 开始的就称为 GRUB 2。

  • 目前 GRUB Legacy 已经停止开发了,只是出于一个修复漏洞的状态,不再增加新的功能了,所有的开发都转移到 GURB 2 之上了。
  • GRUB 2 是源自于一个名为 PUPA 的项目,目的是建立下一代的 boot loader。GRUB 2 几乎是从零开始开始开发的,它和 GRUB Legacy 不同的地方有很多,例如支持 scripts、国际化语言、动态加载模块、带有 resuce 模式等等,这些都是 GRUB Legacy 所没有的。

1.备份 备份主要的 Grub2 目录及文件。

sudo cp /etc/default/grub /etc/default/grub.old
sudo cp -R /etc/grub.d /etc/grub.d.old
sudo cp -R /boot/grub /boot/grub.old

2.移除 Grub2

sudo apt-get purge grub2 grub-pc

此时,系统在另一启动装载程序前将无法启动。 当这些软件包被移除后,许多文件还会残留在“/boot/grub”目录下。

  • 安装 Grub Legacy
sudo apt-get install grub

Grub 安装后,用户仍需通过运行以下命令来创建 menu.lst 和 stage1/stage2 文件:

sudo update-grub

这一步可以生成 menu.lst 文件。

sudo grub-install /dev/sdX

选择正确的设备(sda、sdb、sdc),通常为你的 Linux Deepin 操作系统所在的磁盘。
在 /boot/grub 目录下创建 stage1 和 stage2 文件并写入 MBR。
运行这一命令来阻止其自动升级:

echo "grub hold" | sudo dpkg --set-selections

重新启动。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值