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
这里是让引导程序去引导。至此,应该可以正常开机了。