导航:首页 > 编程语言 > 代码更改grub内容

代码更改grub内容

发布时间:2024-01-24 15:16:19

linux 如何修改 Grub

要修改grub,请注意以下几个重要文件

1. /boot/grub/grub.cfg

此档案中包含了GRUB选单资讯。

注意他的开头,说明了这是由/etc/grub.d与/etc/default/grub所生成的,不要自己编辑。这个档案还是唯读属性,就是要避免你直接去编辑。

若是你修改了这个档案,只要更新核心,或是以指令更新grub选单,之前的修改就会被覆盖掉。所以除非不得已,请不要去动这个档案。要修改,请继续往下看。

2. /etc/default/grub

此档案为使用者修改grub设定的主要档案,真的改烂了请不要急,在/usr/share/grub/default/里还有一份,复制回来即可。

要修改这个档案,请输入

sudo gedit /etc/default/grub

3. /etc/grub.d目录

此目录放置档案,会在sudo update-grub时,合并到/boot/grub/grub.cfg中。

注意这些档案名称结构,前面都有数字。数字越小的,在合并时放在越前面。常有人问到,grub menu要怎麼更改选项的顺序?就是更改数字的大小。

此外请你在这目录下输入ls -l,看一下各档案的属性,有没有看到都有x属性(可执行)?变动x属性,可以决定这个选项要不要出现在选单内。

以下介绍 /etc/default/grub 所使用的参数,我只介绍大家比较会去修改到的。

1. GRUB_DEFAULT - 设定预设选单选项。有以下几种作法。

GRUB_DEFAULT=0 以位置来设定预设选单选项。第一笔选单选项为 0,第二笔为 1,以此类推。

GRUB_DEFAULT="xxxx" 在此例中,选单中的位置不会有影响。例如:GRUB_DEFAULT="Ubuntu, Linux 3.11.0-13-generic"。注意要完整全称。

GRUB_DEFAULT=saved 由储存预设的作业系统开机。可以用grub-reboot和grub-set-default指令来设定预设作业系统。预设作业系统不会由来自选单中的互动式选择而被设定。

sudo grub-set-default 0 以位置来设定预设选单选项。第一笔选单选项为 0,第二笔为 1,以此类推。

sudo grub-set-default "xxxx" 以选单名称来设定

sudo grub-reboot 0 以位置来设定下次重启开机选项。第一笔选单选项为 0,第二笔为 1,以此类推。

sudo grub-reboot "xxxx" 以选单名称来重启开机

2. GRUB_HIDDEN_TIMEOUT - 此设定用来决定GRUB选单会有多长时间不被显示。

GRUB_HIDDEN_TIMEOUT=0 在单一作业系统电脑中,会立刻以预设作业系统开机。在只有一个作业系统状况下,这是预设的设定。假如还是要显示选单,请在这行前加上 # 注销掉,并确认 GRUB_TIMEOUT 设定为正整数。

GRUB_HIDDEN_TIMEOUT=X x为秒数,空白画面几秒后,系统将会依照预设开机,不会出现选单。当萤幕是空白时,使用者可以按下任何键以显示选单。

3. GRUB_HIDDEN_TIMEOUT_QUIET - 在空白画面时,是否显示倒数计时器

GRUB_HIDDEN_TIMEOUT_QUIET=true '不'显示计时器

GRUB_HIDDEN_TIMEOUT_QUIET=fault 显示计时器

4. GRUB_TIMEOUT - 选单显示多久之后自动以预设作业系统开机

GRUB_TIMEOUT=10 10秒后以预设系统开机

GRUB_TIMEOUT=-1 持续显示选单,直到使用者选择

5. GRUB_GFXMODE - 设定grub选单显示的解析度。一般是注解掉。

GRUB_GFXMODE=640x480 以640x480模式显示。

除非开机时选单显示就有问题,不然不要启用这个参数,据说会影响进入grub选单的时间。真的要启用,后面的数值请依照你显卡可以支援的模式填入,如1280x1024x16,800x600x24,640x480

6. GRUB_DISABLE_LINUX_RECOVERY - 救援模式要不要显示?

你在选单中是不是都有看到救援模式(recovery mode)?假如你的电脑一向稳定,而且你不太会去动到系统,可以考虑去除 # 注解

GRUB_DISABLE_LINUX_RECOVERY=true '不' 显示救援模式

7. GRUB_DISABLE_OS_PROBER - 对其他分割区作业系统的检查

大家应该都知道sudo update-grub可以找到在其他分割区的作业系统,制成选单。但有时我就是不想要他显示到选单内,那怎麼办?那注销掉这一行就可以不检查其他分割区有没有作业系统。

GRUB_DISABLE_OS_PROBER=true '不'检查其他作业系统

8. GRUB_BACKGROUND - 背景影像所在。这个参数,需要自行加入。

GRUB_BACKGROUND= 以/usr/share/background/xxx.jpg当作选单背景。可以.png, .jpg, 或.tga等格式

㈡ 如何修改新内核linux下的grub配置

sudo gedit /boot/grub/grub.cfg
gedit可以换成nano,vim等看你用什么文本编辑器了。
grub.cfg是新版grub。以前版本的是menu.list(lst??)

㈢ Linux启动时显示Grub命令行及修改

1、在启动linux系统时,如果/boot/grub/grub.cfg文件损坏或者不存在时,启动linux时,就会有Grub命令行的提示。
如下操作,将系统自带的grub.cfg文件改名。
2、重新启动系统后,发现和自己预想的一样,没有出现引导菜单。
3、在grub命令提示符下,可以使用一些命令加载内核和文件系统,设置根目录的分区。
有的grub使用
linux
/boot/vmlinuz-xx
有的grub使用kernel
/boot/vmlinuz-xx,可自己输入一个首字母,按TAB键查看,演示的grub支持的是linux命令
4、过一会出现下面的界面。
->
sudo
update-grub
->sudo
grub-install
/dev/sda
输入这两个命令后,新的grub.cfg就生成了,跟之前文件的一样(前提是没有对文件做任何更改)。

㈣ linux下怎么修改grub.cfg

1、grub2的启动配置文件grub.cfg是/boot/grub/grub.cfg,而不是以前的memu.lst。

2、如果你是多系统,有Ubuntu和windows,那么用下面的命令,可以使grub2得到所以可以启动的系统。

sudo update-grub

实际就是让系统自己生成合适的grub.cfg文件。

3、这个grub.cfg文件是只读属性,so如果你要修改它,需要权限。sudochmod+w/boot/grub/grub.cfg 然后可以编辑grub.cfg了。

㈤ 关于ubuntu的grub2引导

步骤如下:

a 进入grub的命令模式。进入grub界面后按C键进入命令行界面。

b 先熟悉一下grub 的一些命令 grub>help

c 熟悉一下cat命令

d root指令来指定/boot所在的分区

e kernel指令来指定linux的内核,及所在的分区

f 用initrd命令来指定initrd文件

g boot引导系统

cat命令的用法

cat指令是用来查看文件内容的,有时不知道Linux的/boot分区,以及/根分区所在的位置,要查看/etc/fstab的内容来得知, 这时,就要用到cat (hd[0-n],y)/etc/fstab 来获得这些内容;注意要学会用tab键命令补齐的功能;

grub> cat ( 按tab 键会出来hd0或hd1之类的;

grub> cat (hd0, 注:输入hd0,然后再按tab键;会出来分区之类的;

grub> cat (hd0,6)

Possible partitions are:

Partition num: 0, Filesystem type unknown, partition type 0x7

Partition num: 4, Filesystem type is fat, partition type 0xb

Partition num: 5, Filesystem type is reiserfs, partition type 0x83

Partition num: 6, Filesystem type is ext2fs, partition type 0x83

Partition num: 7, Filesystem type unknown, partition type 0x83

Partition num: 8, Filesystem type is reiserfs, partition type 0x83

Partition num: 9, Filesystem type unknown, partition type 0x82

grub> cat (hd0,6)/etc/fstab 注:比如我想查看一下 (hd0,6)/etc/fstab的内容就这样输入;

LABEL=/ / ext3 defaults 1 1

/dev/devpts /dev/pts devpts gid=5,mode=620 0 0

/dev/shm /dev/shm tmpfs defaults 0 0

/dev/proc /proc proc defaults 0 0

/dev/sys /sys sysfs defaults 0 0

LABEL=SWAP-hda1 swap swap defaults 0 0

/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,

managed 0 0

主要查看/etc/fstab中的内容,主要是Linux的/分区及/boot是否是独立的分区;如果没有/boot类似的行,证明/boot和 Linux的/处于同一个硬盘分区;比如上面的例子中LABEL=/ 这行是极为重要的;说明Linux系统就安在标签为LABEL=/的分区中;

如果您的Linux系统/boot和/没有位于同一个分区,可能cat (hd[a-n],y) 查到的是类似下面的;

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

root (hd[0-n,y) 指令来指定/boot所在的分区;

其实这个root (hd[0,n],y)是可以省略的,如果省略了,要在kerenl 命令中指定;前面已经说过 (hd[0-n],y)硬盘分区的表示方法的用途;主要是用来指定 /boot所在的分区;

eg:

grub> root (hd0,0)

kernel 指令,用来指定Linux的内核,及/所在的分区;

kernel 这个指令可能初学者有点怕,不知道内核在哪个分区,及内核文件名的全称是什么。不要忘记tab键的命令补齐的应用;

如果已经通过root (hd[0-n],y) 指定了/boot所在的分区,语法有两个:

如果/boot和Linux的/位于同一个分区,应该是下面的一种格式;

kernel /boot/vmlinuz在这里按tab键来补齐,就看到内核全称了 ro root=/dev/hd[a-z]X

如果/boot有自己独立的分区,应该是;

kernel /vmlinuz在这里按tab键来补齐,就看到内核全称了 ro root=/dev/hd[a-z]X

在这里 root=/dev/hd[a-z]X 是Linux 的/根所位于的分区,如果不知道是哪个分区,就用tab出来的来计算,一个一个的尝试;或用cat (hd[0-n],y)/etc/fstab 中得到Linux的/所在的分区或分区的标签;

grub> kernel /boot/在这里按tab键;这样就列出/boot中的文件了;

Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369

_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK memtest86+-1.55

.1 xen-syms xen.gz

grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/

[Linux-bzImage, setup=0x1e00, size=0x18e473]

注解: root=LABEL=/ 是Linux的/所在的分区的文件系统的标签;如果您知道Linux的/在哪个具体的分区,用root=/dev/hd[a-z]X来指定也行。比如下面的一行也是可以的;

grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7

也可以把/boot所在的分区的指定 root (hd[0-n],y)这行省掉,直接在kernel 中指定/boot所在的分区;所以就在下面的语法;

如果是/boot和Linux的根同处一个分区;

kernel (hd[0-n],y)/boot/vmlinuz ro root=/dev/hd[a-z]X

比如:

grub>kernel

如果是/boot和Linux所在的根不在一个分区;则是;

kernel (hd[0-n],y)/vmlinuz ro root=/dev/hd[a-z]X

grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7

[Linux-bzImage, setup=0x1e00, size=0x18e473]

或下面的输入,以cat 出/etc/fstab内容为准;

grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/

[Linux-bzImage, setup=0x1e00, size=0x18e473]

initrd 命令行来指定initrd文件;

grub> initrd /boot/initrd在这里tab 来补齐;

grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img

[Linux-initrd @ 0x2e1000, 0x10e685 bytes]

如果/boot是独立的一个分区,应该是如下样子的语法;比如下面的;

grub> initrd /initrd在这里tab 来补齐;

grub> initrd /initrd-2.6.11-1.1369_FC4.img

[Linux-initrd @ 0x2e1000, 0x10e685 bytes]

boot 引导系统;

grub>boot

下面是在我机器上的命令:

grub> cat (hd0,0)/etc/fstab

# This file is edited by fstab-sync - see 'man fstab-sync' for details

LABEL=/ / ext3 defaults 1 1

/dev/devpts /dev/pts devpts gid=5,mode=620 0 0

/dev/shm /dev/shm tmpfs defaults 0 0

/dev/proc /proc proc defaults 0 0

/dev/sys /sys sysfs defaults 0 0

LABEL=SWAP-hda1 swap swap defaults 0 0

/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0

grub> root (hd0,0)

Filesystem type is ext2fs, partition type 0x83

grub> kernel /boot/在这里按tab补齐,全列出/boot所有的文件;

Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4

memtest86+-1.55.1 xen-syms xen.gz

grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/

[Linux-bzImage, setup=0x1e00, size=0x18e473]

grub> initrd /boot/在这里按tab补齐

Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK

memtest86+-1.55.1 xen-syms xen.gz

grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img 注;输入intrd文件名的全名;

[Linux-initrd @ 0x2e1000, 0x10e685 bytes]

grub> boot

阅读全文

与代码更改grub内容相关的资料

热点内容
用换机助手接收的软件文件在哪找 浏览:282
阅达app一教一辅五年级有哪些 浏览:7
win10系统用f2调节音量 浏览:19
压缩文件密码器 浏览:840
线下活动数据分析有哪些 浏览:314
助听器插片式编程线如何连接 浏览:293
怎么删除系统休眠文件 浏览:914
搜索文件内容中包含的文字并替换 浏览:542
微信相册程序图标 浏览:714
win8怎么显示文件格式 浏览:547
文件服务器中毒 浏览:721
如何修改网站访问次数 浏览:518
mdfldf是什么文件 浏览:569
文件在桌面怎么删除干净 浏览:439
马兰士67cd机版本 浏览:542
javaweb爬虫程序 浏览:537
word中千位分隔符 浏览:392
迷你编程七天任务的地图怎么过 浏览:844
word2003格式不对 浏览:86
百度云怎么编辑文件在哪里 浏览:304

友情链接