ubuntu grub.cfg(grub怎么修改)

其实ubuntu grub.cfg的问题并不复杂,但是又很多的朋友都不太了解grub怎么修改,因此呢,今天小编就来为大家分享ubuntu grub.cfg的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

linux下怎么修改grub.cfg

一、grub2的启动配置文件grub.cfg

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

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

sudo update-grub

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

这个grub.cfg文件是只读属性,so如果你要修改它,需要权限。

sudo chmod+w/boot/grub/grub.cfg

然后可以编辑grub.cfg了。

sudo gedit/boot/grub/grub.cfg

二、默认系统和等待时间

1、set default=0

这是说从第一项启动。每个启动项都是以menuentry开始,menuentry后面“xxx”是启动项名称,然后{xxx}是启动代码。

### BEGIN/etc/grub.d/10_linux###menuentry“Ubuntu, Linux 2.6.31-14-generic”{recordfail=1if [-n${have_grubenv} ]; then save_env recordfail; fiset quiet=1insmod ext2set root=(hd0,6)search–no-floppy–fs-uuid–set 040508ff-fec7-4c66-ba64-a09f8abe8059linux/boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splashinitrd/boot/initrd.img-2.6.31-14-generic}menuentry“Ubuntu, Linux 2.6.31-14-generic(recovery mode)”{recordfail=1if [-n${have_grubenv} ]; then save_env recordfail; fiinsmod ext2set root=(hd0,6)search–no-floppy–fs-uuid–set 040508ff-fec7-4c66-ba64-a09f8abe8059linux/boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro singleinitrd/boot/initrd.img-2.6.31-14-generic}### END/etc/grub.d/10_linux###### 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+###### BEGIN/etc/grub.d/30_os-prober###menuentry“Microsoft Windows XP Home Edition(on/dev/sda1)”{insmod ntfsset root=(hd0,1)search–no-floppy–fs-uuid–set 5c108a1c1089fd70drivemap-s(hd0)${root}chainloader+1}if keystatus; thenif keystatus–shift; thenset timeout=-1elseset timeout=10fielseif sleep$verbose–interruptible 3; thenset timeout=10fifi### END/etc/grub.d/30_os-prober###### BEGIN/etc/grub.d/10_linux###

menuentry“Ubuntu, Linux 2.6.31-14-generic”{

recordfail=1

if [-n${have_grubenv} ]; then save_env recordfail; fi

set quiet=1

insmod ext2

set root=(hd0,6)

search–no-floppy–fs-uuid–set 040508ff-fec7-4c66-ba64-a09f8abe8059

linux/boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro quiet splash

initrd/boot/initrd.img-2.6.31-14-generic

}

menuentry“Ubuntu, Linux 2.6.31-14-generic(recovery mode)”{

recordfail=1

if [-n${have_grubenv} ]; then save_env recordfail; fi

insmod ext2

set root=(hd0,6)

search–no-floppy–fs-uuid–set 040508ff-fec7-4c66-ba64-a09f8abe8059

linux/boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single

initrd/boot/initrd.img-2.6.31-14-generic

}

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

### 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+###

### BEGIN/etc/grub.d/30_os-prober###

menuentry“Microsoft Windows XP Home Edition(on/dev/sda1)”{

insmod ntfs

set root=(hd0,1)

search–no-floppy–fs-uuid–set 5c108a1c1089fd70

drivemap-s(hd0)${root}

chainloader+1

}

if keystatus; then

if keystatus–shift; then

set timeout=-1

else

set timeout=10

fi

else

if sleep$verbose–interruptible 3; then

set timeout=10

fi

fi

### END/etc/grub.d/30_os-prober###

我的第五个启动项是menuentry“Microsoft Windows XP Home Edition(on/dev/sda1)”,我要它默认是以xp启动,所以修改为set default=”4″。(hd0,1)表示第一块硬盘的第一个分区,我的Linux在(hd0,6)。

当然,你也可以把你需要默认启动的系统放到最前面,那么就还是set default=0

2、set timeout=10

if [${recordfail}= 1 ]; then

set timeout=-1

else

set timeout=10

fi

这里停留在grub选择系统界面的时间就是10秒,即set timeout=10。

有时候我并不想等待这么久,我直接启动xp,需要Ubuntu时才按几下Shift键进入grub选择系统界面。可以添加如下代码:

if keystatus; then

if keystatus–shift; then

set timeout=-1

else

set timeout=10

fi

else

if sleep$verbose–interruptible 3; then

set timeout=10

fi

fi

如何打开ubuntu11.10中的grub.cfg

在Ubuntu 11.10中,grub2的配置文件位于/boot/grub/grub.cfg,而grub1.x版的配置文件则是/boot/grub/menu.lst。如果你想要修改grub.cfg,首先需要切换到root用户权限。

进入root用户的方法是使用命令“sudo su”,这适合有一定经验的用户。如果你是新手,可以使用“nano/boot/grub/grub.cfg”这个命令来直接编辑文件。

值得注意的是,每次安装或更新与启动相关的软件包(例如内核),系统会根据/etc/grub.d/目录下的文件重新生成grub.cfg。这意味着,如果你每次都手动修改grub.cfg,可能会导致配置文件丢失或被覆盖。因此,建议花些时间学习如何正确编辑/etc/grub.d/下的文件,以便一次性完成所有必要的配置。

如果你希望在不频繁修改的情况下保持grub.cfg的完整性,可以通过编辑/etc/grub.d/目录中的脚本文件来实现。这些脚本负责生成grub.cfg,因此修改它们可以避免频繁手动调整配置文件。

总而言之,了解如何正确编辑grub.cfg对于保持系统的稳定性和高效性至关重要。通过研究/etc/grub.d/中的文件,你可以避免频繁手动修改配置文件,从而节省时间和精力。

ubuntu重启出现grub

首先,在grub>指令处,输入ls指令。

这个指令能让你看到当前路径下的文件和文件夹。

使用这个指令,你可以类似这样的输出,(hd0)、(hd0, msdos1)类似的。

这些是磁盘的分区,我们需要在这些分区内找到能够正确引导系统的文件配置。

使用指令ls(hd0)/来一个个测试,看输出有没有vmlinuz或者linux,initrd.img,root这样的字样。

比如第一步出现(hd0),(hd0, msdos1),在这一步的时候,你需要使用ls(hd0)/和ls(hd0, msdos1)/来一个个去试,直至出现上文提示的那些字样,那个分区就是引导文件所在的地方。

如果ls(hd0, msdos1)/出现unknown filestystem,你可以尝试使用ls/(hd0, msdos1)/,以此类推

ls(hd0, msdos1)/可以简写为ls(hd0, 1)/

找到引导文件所在位置,比如在(hd0,5)。

输出以下指令

set root=(hd0,5)

set prefix=(hd0,5)/boot/grub

insmod normal

normal

这一步来设置引导文件的位置。

4.如果还是不行,尝试以下指令

linux(hd0,5)/vmlinuz root=/dev/sda5

initrd(hd0,5)/initrd.img

boot

这里是让引导程序去引导。至此,应该可以正常开机了。

阅读剩余
THE END