ubuntu grub 修改,ubuntu安装出现grub
本篇文章给大家谈谈ubuntu grub 修改,以及ubuntu安装出现grub对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
ubuntu系统进入GRUB后怎么修改为进入当命令行模式
在Ubuntu系统遇到GRUB启动问题时,可以尝试通过命令行模式来修复。首先,需要确认Ubuntu安装在哪一个分区上,使用ls命令在GRUB提示符下进行分区查找。如示例所示,输入ls后,会列出所有磁盘分区信息。在输出结果中寻找含有/boot目录的分区,例如(hd0,5)。如果/boot未单独分区,可使用ls(hd0,X)/boot/grub;如果/boot单独分区,则使用ls(hd0,X)/grub。
接着,将GRUB的两部分临时关联起来。若/boot未单独分区,输入命令:grub>set root=(hd0,5),grub>set prefix=(hd0,5)/boot/grub,grub>insmod/boot/grub/normal.mod;若/boot单独分区,则输入:grub>set root=(hd0,5),grub>set prefix=(hd0,5)/grub,grub>insmod/grub/normal.mod。随后,执行grub>normal以恢复GRUB菜单,但重启后问题可能依旧存在,此时需进入Linux修复GRUB。
重启电脑,启动进入Ubuntu后,在终端执行sudo update-grub和sudo grub-install/dev/sda(注意sda应为你的硬盘编号,不要指定分区如sda1)。重启后检查GRUB是否已恢复。如果成功,恭喜你!若未找到正确的/grub目录,则尝试寻找vmlinuz-3.0.0-12-generic这类的Linux核心文件,记录其分区号,然后使用Live CD或USB启动,在Live CD的终端中执行类似命令:sudo mount/dev/sda5/mnt,sudo grub-install--boot-directory=/mnt/boot/dev/sda。
若连Linux核心文件也未找到,则考虑重新安装Ubuntu。通过Live CD或USB启动,执行sudo mount/dev/sda5/mnt,sudo grub-install--boot-directory=/mnt/dev/sda,重新启动即可。
以上步骤可以帮助你解决Ubuntu系统启动时遇到的GRUB问题,确保系统能够正常启动。如果在执行过程中遇到任何问题,建议查阅官方文档或寻求社区帮助。
如何修改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.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