当前位置:首页 » 操作系统 » linux修改grub

linux修改grub

发布时间: 2023-06-04 13:06:23

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下不识别Grub2修改启动项的方法

最近在搭建vps的时候发现有的商家没有grub2命令,很是郁闷,不过后来发现通过centos6的方式可以改变启动项

使用条件:

1. debian9/centos7 内核更新了,但是最后 grub2-mkconfig输入以后提示not found command的情况

2.要更新grub2却不识别命令的情况

上手方法:

1.查找grub.cfg位置定位

命令:whereis grub.conf

2.打开grub.conf:vim /etc/grub.conf

修改default=1 (0起)

3. ESC-> :wq 结束

4.重启

❸ Linux修改grub菜单

【注】参考自 grub 官方手册 。

每次开机时,大部分 Linux 发行版的 grub 菜单都是定位在首选项位置(即当前系统选项位置)。这就导致如果我们电脑安装了多个系统,那么每次开机进入其他系统都要重新选择 grub 菜单选项。而我们一般都是一段时间固定使用一个系统,因此如果 grub 菜单能够记住上一次的菜单选项,我们平常使用就不需要手动切换 grub 菜单选项(除非需要更换开机系统)。这样可以让我们免去每次开机都需要手动查看更改 grub 菜单选项,特别是 Winddows 系统,每次更新后基本都要重启,每次都需要盯着重启那一刻重新选择进入 Windows 系统,不胜其烦。

修改 Linux 的 /etc/default/grub 文件,添加以下内容:

GRUB_DEFAULT 可取值为 选项 ID、选项名称字符串以及 saved ,选项 ID 是从 0 开始计数的。

GRUB_SAVEDEFAULT 变量若设置为 true ,则会保留上一次的 grub 菜单选项,默认没有设置该变量。

有些 Linux 发行版开机进入 grub 菜单后等待时间很短,因此每次都需要抓住 grub 菜单出来的那一刻手动按键终止 grub 菜单等待时间倒计时。有时甚至来不及修改 grub 菜单选项,就进入了默认的系统。

修改 Linux 的 /etc/default/grub 文件中的 GRUB_TIMEOUT 变量值,单位为秒:

GRUB_TIMEOUT 可取值为:

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

进入ubuntu的请看这里。本帖是根据论坛里相应的帖子整理的。很可能有漏掉不少帖子,请使用论坛的搜索功能。

下面将给出很多种方法来解决这个问题:

1.用livecd(推荐)
2,用安装cd
3,使用grub4dos
4,使用grub软盘

上面的每一种方法都涉及到grub,通常,并不需要你对grub有多少了解,只要认真地读下面的帖子,参照这些帖子去做,就能解决问题,但是,如果你想不仅知其然,还要知其所以然,那你可以看一下grub入门

1,使用livecd(推荐)
使用任何你喜欢的linux livecd

取得root权限并在终端下运行grub
代码:

sudo -s -H
grub

然后,使用如下指令:
oneleaf 写道:

代码:

grub>root (hdX,Y)
grub>setup (hd0)

root 是 /boot 分区的地址,如果不知道可以在 root (hd0, 时按Tab键来补全。

如果按TAB键后你还拿不定主意,那么下面一段也许对你有帮助:
一般/boot就装在你的ubuntu系统所在的分区(如果你不知道ubuntu装在哪儿,可以用cfdisk命令查看)要小心的是hda1相当于(hd0,n-1),例如
yonsan 写道:

如果linux安装根分区为hda5 则执行的是root (hd0,4) 而不是 root (hd0,5)

最后,用
代码:
grub>quit

退出grub,重启系统。

下面是一个例子,(在这个例子中一些步骤并不是必需的——可能这些步骤是否必需取决于你的livecd 能否自动挂载你的本地硬盘的分区)
yonsan 写道:

假定ubuntu系统安装在hda5, 文件系统为ext3格式

使用 livecd 启动成功后运行终端:
代码:

sudo -s -H
mkdir -p /mnt/hda5
mount -t ext3 /dev/hda5 /mnt/hda5
mount -t proc none /mnt/hda5/proc
chroot /mnt/hda5 /bin/bash
source /etc/profile
grub

2) 在grub命令行模式下输入:
代码:

root (hd0,4)
setup (hd0)

2,使用ubuntu安装cd恢复
firehare 写道:

1. 启动系统到 Ubuntu 安装CD
2. 沿着屏幕上的命令直到 (千万不要超过这一步)
[!!] Fdisk disks
3. 按 'Ctrl + Alt + F2'
4. 按 'Enter' 进入终端
5.

~ # mkdir /ubuntu
~ # fdisk -l /dev/discs/disc0/disc
~ # mount <你的Ubuntu根设备所在位置> /ubuntu/
~ # chroot /ubuntu/
sh-2.05b#
6. 假设 /dev/hda1 是 /boot 分区的地址
7. sh-2.05b# grub

grub> root (hd0,0)
grub> setup (hd0)
grub> quit

或者,你可以按照新手指南的做法

1. 用 Ubuntu 安装 CD 开机
2. 在 "boot:" 提示号出现时, 键入 "rescue" 当作开机参数

boot: rescue

3. 顺着屏幕上的指示跟着作
4,例如 假设 /boot 磁盘分区位在 /dev/hda
代码:
#grub-install /dev/hda

3.1使用grub4dos重新安装grub
下载
oneleaf 写道:

将 grldr 复制到 C:\,编辑C:\BOOT.INI,加入一行:

C:\GRLDR="GRUB"

再手工输入启动命令
例如:
root (hd0,0)
kernel /vmlinuz-2.6.10-5-686 root=/dev/hdb5 ro quiet splash
initrd /initrd.img-2.6.10-5-686
savedefault
boot

进入后,重新安装grub就好了。

重新安装grub:
例如 假设 /boot 磁盘分区位在 /dev/hda
代码:
# grub-install /dev/hda

3.2用grub4dos代替grub来引导系统
yonsan 写道:

(凭记忆写的,如有不完善请指正)

如果你的系统现在正在使用grub引导方式,请在操作之前查看一下/boot/grub/menu.lst的内容,建议将/boot/grub/menu.lst拷贝一份以备用(将它拷到fat32分区中存放就可以)!

进入window环境下

1) 下载grub020p.zip并解压到C盘根目录下,打开C盘查看一下是否有以下文件

C:\boot (文件夹)
C:\ChangeLog.txt
C:\compile
C:\COPYING
C:\grldr
C:\grub4lin
C:\grub-0.95-patch1-startups
C:\grub-0.95-patch2-findroot
C:\grub-0.95-patch3-ntfs
C:\grub-0.95-patch4-emulation
C:\grub-0.95-patch5-splash
C:\grub-0.95-patch6-scdrom
C:\grub-0.95-patch7-bioscdrom
C:\grub.exe
C:\grub.pif
C:\README.txt
C:\robin.xpm.gz
C:\scratchpad.txt

2) 修改C:\boot\grub\menu.lst ,用你刚才从linux系统中拷贝的menu.lst覆盖C:\boot\grub\menu.lst

3) 进入grub命令行方式 (出现grub引导菜单时按c键)
> root (hd0,0)
> setup (hd0)

4) 重启计算机

使用DOS引导盘,找到grub文件.
修改grub.conf文件。其中
“default=n”(n是个数字)是grub引导菜单默认被选中的项,n从0开始,0表示第一项,1表示第二项,依此类推。
“timeout=x”(x是一个数)是超时时间,单位是妙。也就是引导菜单显示后,如果x秒内用户不进行选择,那么grub将启动默认项。
“splashimage =xxxxxx”,这是引导菜单的背景图,先不理他。
其它常用项我用下面的例子来说明:
title Red Hat 8.0
root (hd1,6)
kernel /boot/vmlinuz-2.4.18-14 ro root=/dev/hdb7
initrd /boot/initrd-2.4.18-14.img
其中"Red Hat 8.0"是在启动菜单列表里显示的名字
root (hdx,y)用来指定你的boot分区位置,如果你没有分boot分区(本例就没分boot分区),那就指向根分区就行了,hdx是linux所在硬盘,hd0是第一块硬盘,hd1是第二块,依此类推。y是分区位置,从0开始,也就是等于分区号减一,比如你要指向的分区是hdx7,那么y就是6,如果是hdx1,那y就是0。注意root后面要有一个空格。
kernel /boot/vmlinuz-2.4.18-14,其中"/boot/vmlinuz-2.4.18-14"是你要用的内核路径,如果你编译了心内核,把它改成你的新内核的路径就行了。
ro就不用管,写上不会有错。
root=/dev/hdxx指定根分区,本例是hdb7,所以root=/dev/hdb7
initrd xxxxxxxxxxxxx这行不要也行,目前我还不清楚它是做什么用的。
上面是linux的,下面是windows的
title windows 98
rootnoverify (hd0,0)
chainloader +1
title xxxxxxx不用解释了,上面有解释。
rootnoverify (hdx,y)用来指定windows所在分区,x,y跟上面一样,注意rootnoverify后有空格。
chainloader +1照抄就行,注意空格。

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

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

❻ Linux Debian11如何修改Grub2的开机启动顺序

Windows和Linux双系统,如何修改启动顺序。

1、进入/etc/grub.d目录,将该目录下的“30_os-prober”文件改名为“##_os-prober”。##的取值为06~09之间的数字。

2、执行sudo update-grub。

注意是加sudo否则找不到该命令

❼ Linux 修复grub开机引导(ubuntu)

问题 : 有时候Linux系统/boot分区损坏时,启动Linux系统时直接进入字符接口的grub引导,并没有进入到系统或者开机显示 error:unknow filesystem提示

解决办法:

Linux开机自动会进入到grub引导接口(如果没进入到grub引导接口可以按C键进入)

第一步:找到系统对应的扇区及/boot/grub目录
注意 :假设是硬盘接口类型sd,hd0对应是sda hd1对应是sdb
(hd0)≠(hd0)
(hd1,gpt2)=(hd1,2)
ls (hd1,gpt2)  查看(hd1,gpt2)扇区信息(盘符、空间等)
ls (hd1,gpt2)/  查看(hd1,gpt2)扇区下的内容(文件、文本等)

如果打印每个扇区目录信息,会出现两种情况:
1、ls (hd1,gpt2)显示Unknow filesystem提示说明这个扇区不是我们要找系统分区
2、ls (hd1,gpt2)显示/boot /proc等系统目录信息说明这个扇区是我们要找的系统分区

如果找到对应扇区的系统分区,可能会遇到两种情况:
1、 A目录下有/boot/grub
2、A目录下有/boot,B目录下有/grub (此时在第二步加载系统内核要使用 set prefix=(hd1,gpt2)/grub 命令)

grub > ls
(hd0), (hd1), (hd1, gpt1), (hd2,gpt2), (hd3, gpt3)

第二步:加载系统内核
grub > set root=hd1,2 #此处不需要括号,加括号也可以,hd0和hd1是有区别
grub > set prefix=(hd1,2)/boot/grub
grub > linux /vmlinuz root=/dev/sdb2 #vmlinuz必须使用TAB补全(可能有后缀),注意sda或sdb需要看自己的实际情况
grub > initrd /initrd.img-xxx #TAB补全,多内核情况下版本需统一
grub > boot

提示 :如果在boot之后不幸进入BusyBox,说明参数设置有问题,可以仔细查看出错的日志,再重启系统后重复执行第二步操作(重启系统后上面设置的参数会被清空)。

第三步:修改grub引导
如果成功进入系统,记得要马上信息grub引导,不然重启系统后问题还是存在
sudo update-grub2 #grub2命令(高版本使用grub2)
$ sudo grub-install /dev/sdb

第四步:重启系统
重启系统后即可正常进入系统
reboot

热点内容
安卓在美国怎么下载 发布:2024-05-05 02:31:06 浏览:923
黑莓存储空间 发布:2024-05-05 02:19:50 浏览:274
我的世界矿石岛服务器宣传片 发布:2024-05-05 02:17:19 浏览:613
如何区分安卓原装充电器 发布:2024-05-05 01:41:23 浏览:72
怎么从苹果转移到安卓 发布:2024-05-05 01:41:20 浏览:721
支付宝付款码怎么设置密码 发布:2024-05-05 01:27:36 浏览:878
qtp录制的脚本 发布:2024-05-05 01:14:04 浏览:367
如何安装卡罗拉安卓系统 发布:2024-05-05 01:09:00 浏览:985
sql创建表查询表 发布:2024-05-05 01:00:12 浏览:799
食色抖音上传 发布:2024-05-05 00:55:56 浏览:658