1.如何修改GRUB
以ubuntu为例,不管什么的修改,都建议先了解修改内容的定义和修改允许的范围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,640x4806. 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等格式以下介绍/etc/grub.d目录下的档案。这些档案内都有很清楚的注解,但都是英文的,不过不需要很强的英文能力。
难的是你必须要有撰写修改scripts的能力。基本上,这些档案大多都不需要去修改。
1. 00_header - 设定初始显示项目 前一段介绍了/etc/default/grub的设定,就是由这一部份来负责,所以你不需要更动这个档案。2. 05_debian_theme - 布景主题 设定开机影像、文字颜色、高亮度选项及布景主题。
在没有开机影像的情况下,此档案会设定一个单色的布景主题来显示初始选单画面。在之前/etc/default/grub已经介绍过GRUB_BACKGROUND参数,若有设定,则在00_header就已经先载入了,所以优先性高於在此设定。
个人有点小看法,开机越快越好,在这个选单背景下功夫,不如想办法加快流程。而且这个步骤停留时间不长,实在吸引不了什麽目光。
3. 10_linux - 指定目前使用中的Linux作业系统核心位置 用来建立这些linux不同核心显示在选单中的名称。若您不想要所有的旧核心版本全都显示在选单中,请移除旧核心。
4. 20_memtest86+ - 搜寻 /boot/memtest86+.bin memtest86+ 主要是进行记忆体测试。你会常用到吗?假如用不到,不用移除,只要拿掉x属性即可不再出现在选单当中。
请输入:sudo chmod -x /etc/grub.d/20_memtest86+5. 30_os-prober - 此档案使用 os-prober 来搜寻其他分割区的作业系统。结果将会依据此档案中的内容而放至 grub.cfg 中 此档案被划分成四个段落,代表四种作业系统类型:Windows, Linux, OSX 和 Hurd。
假如你要去修改这个档案了,那你必须熟悉scripts的撰写。6. 40_costom - 用来加入自订选单选项的样板 会在执行 update-grub 时,嵌入至 grub.cfg 中。
既然不怎麽需要作修改,那知道这个目录有什麽用?就像最早简介中所述:更改数字,可以改变顺序,小的在前面,大的在后面;更改x属性,可以决定要不要在选单中出现。如,你想要windows系统出现在前面,你可以把os-prober的数字改成07,他就会出现在现有的linux。
2.如何修改GRUB
1:修改启动顺序,需要修改Ubuntu的GRUB配置文件。
使用常见的编辑程序如“gedit”就可以很方便的打开文件修改了,但是这里因为牵涉到系统权限,建议使用终端打开编辑文件。点击Ununtu左上角的“Launcher”搜索“Terminal”,就可以打开终端了。
2:打开之后,为了打开GRUB相关的配置文件编辑,可以选择gedit,也可以使用常见的vi命令直接编写,因此这里展示的vim命令可以随时替换为你个人喜欢的命令,如gedit。在一般情况下,有人可能直接修改GRUB配置文件“/boot/grub/grub.cfg”,但使用“suduvim/boot/grub/grub.cfg”发现提示这个是系统自动生成的文件,不建议直接编辑,而应该到“/etc/grub.d”和“/etc/default/grub”去修改。
3:“/etc/grub.d”是操作系统菜单目录,一般由系统生成,用户无需修改,接下来就是修改“/etc/default/grub”文件了。使用“sudovim/etc/default/grub”命令打开该配置文件。
4:其中的“GRUB_DEFAULT=0”就是设置的默认启动项了。GRUB启动项是按照启动菜单依次使用数字进行索引了,起始数字为0。
结合前面的系统启动菜单,可以看到,Windows8的启动项在第5项,因此这里就需要修改为4(因为第一项是从0开始的)。5:修改完成,保存退出之后,还需要执行一下“sudoupdate-grub”来重新生成GRUB启动配置项。
3.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 -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=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 -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 ###我 的第五个启动项是menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)”,我要它默认是以xp启动,所以修改为set default=”4″。
(hd0,1)表示第一块硬盘的第一个分区,我的Linux在(hd0,6)。当然,你也可以把你需要默认启动的系统放到最前面,那么就还是set default=02、set timeout=10if [ ${recordfail} = 1 ]; thenset timeout=-1elseset timeout=10fi这里停留在grub选择系统界面的时间就是10秒,即set timeout=10。
有时候我并不想等待这么久,我直接启动xp,需要Ubuntu时才按几下Shift键进入grub选择系统界面。可以添加如下代码:if keystatus; thenif keystatus –shift; thenset timeout=-1elseset timeout=10fielseif sleep$verbose –interruptible 3 ; thenset timeout=10fifi。
4.grub怎么改变系统位置
grub改变系统位置方法: 1、sudo update-grub(可以看到机器的启动列表,数一下XP排第几个); 2、sudo chmod +w /boot/grub/grub.cfg(修改grub.cfg的属性为可读写); 3、sudo gedit /boot/grub/grub.cfg(以管理员权限编辑grub.cfg) 找到: ### BEGIN /etc/grub.d/00_header ### if [ -s $prefix/grubenv ]; then load_env fi set default="0" 看到“set default="0"”,大概在第12行。
把这个0改成XP的顺序号,就是第1条中让数的XP的顺序,要减1,因为是从0开始的。如果是第5个,这里的0就改成4。
4、sudo update-grub(再更新列表,查看XP是不是到最上面了)。
转载请注明出处windows之家 » win10如何修改grub.cfg