搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
凡人多烦事01
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
新睿云帮你轻松搞定:自建云邮箱
2
pikachu靶场通关之sql注入系列_pikachu靶场sql注入
3
【开发模板】Vue和SpringBoot的前后端分离开发模板_springboot+vue系统的程序结构图
4
kali安装卡在最后一步_手机端(安卓)安装 Kali Linux 系统详细教程
5
第八阶段:uni-app小程序 --首页开发(2)
6
凡亿PCB笔记总结——快捷键操作及绘制PCB的操作要点_ad 快捷键 凡亿
7
【移动端】微信小程序开发从入门到成神(精兵)_微信小程序有移动版的吗
8
Mac取消Chrome自动更新_chorme关闭自动更新mac
9
Android应用开发:禁用FallbackHome,直接进入默认Launcher_关闭fallbackhome
10
1.1.2 Mac上面搭建Eclipse+Java+Maven环境_在mac中eclipse中使用maven创建java项目
当前位置:
article
> 正文
Grub2配置详解_grub2-set-bootflag
作者:凡人多烦事01 | 2024-03-18 12:21:28
赞
踩
grub2-set-bootflag
一、
grub.cfg
详解
(
红色为说明
)
grub.cfg
默认为只读,要修改前先设为可写
sudo chmod +w /boot/grub/grub.cfg
set default=0
#
默认为
0
insmod jpeg
#
添加
jpg
支持,如要使用
png
或
tga
文件做背景,加上
insmod png
或
insmod tga
insmod ext2
#
除了用作启动的分区外,其他分区格式可在
menu
底下再添加
set root=(hd0,7)
#
设定
root
分区
search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3
#
设定
uuid=****
的分区为
root
,和上句重复,可删除
#
以下为终端配置
if loadfont /usr/share/grub/unicode.pf2 ; then
#
设置终端字体,
unicode.pf2
支持中文显示
set gfxmode=640x480
#
设置分辨率,默认为
640x480
,可用
800x600
,
1024x768
,建议跟你想设定的图片大小一致
insmod gfxterm
#
插入模块
gfxterm
,支持中文显
示,它还支持
24
位图像
insmod vbe
#
插入
vbe
模块,
GRUB 2
引入很多模块的东西,要使用它,需要在这里加入
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
#
设置
GRUB 2
终端为
gfxterm
fi
fi
set timeout=10
background_image (hd0,7)/boot/images/1.jpg
#
设置背景图片
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=cyan/black
#
这两行为
Debian
下的菜单颜色设置,如果默认的话,你会发现背景完全被蓝色挡住了,你需要修改
blue
为
black
,这样背景就会出现
### END /etc/grub.d/05_debian_theme ###
# 10_linux
为自动添加的当前
root
分区
linux
引导项
### BEGIN /etc/grub.d/10_linux ###
#
菜单项,要包括
menuentry
双引号
" "
和大括号
{ }
才完整,否则不显示菜单
menuentry "Ubuntu, Linux 2.6.31-9-386" {
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3
#
这句与
set root=(hd0,7)
重复,可删除
linux /boot/vmlinuz-2.6.31-9-386 root=UUID=f255285a-5ad4-4eb8-93f5-4f767190d3b3 ro quite splash
#
不喜欢看到一长串的,
roo=UUID=***
可用
root=/dev/sda7
代替
initrd /boot/initrd.img-2.6.31-9-386
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
### END /etc/grub.d/20_memtest86+ ###
#
自动添加存在于其他分区的系统引导项
### BEGIN /etc/grub.d/30_os-prober ###
#windows
启动菜单
menuentry "Windows Vista (loader) (on /dev/sda1)" {
insmod ntfs
#windows
格式为
ntfs
,或为
fat32
改为
insmod fat
set root=(hd0,1)
search --no-floppy --fs-uuid --set ece067d2e067a196
#
可删除
#grub2
比较先进的地方就是如果发现
windows
启动是通过
ntldr
引导的,定为
2000/xp/2003
,会在这加上
drivemap -s (hd0) ${root}
,作用相当于
grub
的
map
,可正常启动非第一硬盘的
xp/2003
系统。
chainloader +1
}
#
查找到其他分区上的
linux
系统并自动添加
menuentry "Ubuntu karmic (development branch) (9.10) (on /dev/sda3)" {
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set 4d893970-0685-44ed-86b3-1de45b2db84a
linux /boot/vmlinuz-2.6.31-9-generic root=/dev/sda3
initrd /boot/initrd.img-2.6.31-9-generic
}
#
若存在
macos
会自动在这里添加。
### END /etc/grub.d/30_os-prober ###
#
以下为手动添加的菜单项
### BEGIN /etc/grub.d/40_custom ###
menuentry "CDLinux"{
set root=(hd0,8)
linux /CDlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8
initrd /CDlinux/initrd
}
### END /etc/grub.d/40_custom ###
#
手动添加时,硬盘编号从
0
开始
(hd0)
,主分区编号从
1
开始
(hd0,1)
,逻辑分区从
5
开始
(hd0,5)
二、
grub2
终端部分命令介绍
在出现选择菜单时,按
C
进入终端命令行模式,按
E
进入当前菜单项编辑模式(和
grub
一样),编辑中按
Ctrl + C
退出,按
Ctrl + X
以编辑内容启动。
1. help
查看命令用法,显示所有可用命令
help search
search
命令用法
2. ls
列出当前的所有设备。如
(hd0) (hd0,1) (hd0,5) (hd1) (hd1,1) (hd1,2) .......
ls -l
详细列出当前的所有设备。对于分区,会显示其
label
及
uuid
。
ls /
列出当前设为
root
的分区下的文件
ls (hd1,1)/
列出
(hd1,1)
分区下文件
3. search
search -f /ntldr
列出根目录里包含
ntldr
文件的分区,返回为分区号
search -l LINUX
搜索
label
是
LINUX
的分区。
search --set -f /ntldr
搜索根目录包含
ntldr
文件的分区并设为
root
,注意如果多外分区含有
ntldr
文件,
set
失去作用。
4. loopback
loopback
命令可用于建立回放设备,如
loopback lo0 (hd1,1)/abc.iso
可以使用
lo0
设备来访问
abc.iso
里的内容,比如说,可以从
abc.iso
里的软盘映像中启动
loopback lo0 (hd1,1)/aa.iso
linux (lo0)/memdisk
initrd (lo0)/abc.img
要删除某一回放设备,可以使用
-d
参数:
loopback -d lo0
5. set
使用
set
可以设置变量的值
set root=
set timeout=
需要调用变量的值时,使用
${AA}
,如
set root=(hd1,1)
则
${root}=(hd1,1)
6. pager
分页显示。
set pager=1
满页时暂停,按
space
继续
set pager=0
取消分页
7. linux
linux
取代
grub
中的
kernel
三、
单
linux
系统或
硬盘安装时
iso
放在
C
盘,
umount /isodevice
引起的误认为单系统
不能出现菜单项的几种处理方法。
1.
开机自检后时按几下
shift
键,可调出菜单项
2. sudo update-grub
重建
grub.cfg
,会发现新的系统而改写
grub.cfg
,一般能出现菜单项。
3.
如第二种方法不能解决,直接修改
grub.cfg
把在
### BEGIN /etc/grub.d/30_os-prober
中的这一段
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep$verbose --interruptible 3 ; then
set timeout=0
fi
fi
删除或修改三处
set timeout=
四、双硬盘双系统
Grub Loading
时间过长的解决方案
grub2
的
boot.img
设定
root
的
uuid
从第一分区开始搜索分区的
/boot/grub
下的模块并加载,
如果
linux
分区处于第二硬盘甚至第三硬盘,会导致搜索时间过长而,出现菜单时间会长达
10
多秒。
对双(多)硬盘的情况建议把
grub
安装在
ubuntu
所在硬盘的
mbr
上,
/boot
分区或
/
分区
尽量靠前,并设该硬盘为启动盘,会大大缩短启动时间。
五、
grub2
几种修复方法
1.
双系统重装
windows
造成
grub2
被改写的修复
方法一
grub4dos0.4.4
在
Windows
启动项上加上
grub4dos
启动(不多说了,看置顶贴),重启选择进入
grub
,在命令行下输入
(/boot
单独分区的去掉
/boot)
代码
:
grub>find --set-root /boot/grub/core.img
grub>kernel /boot/grub/core.img
grub>boot
进入
grub2
菜单,进入系统后再执行
代码
:
sudo grub-install /dev/sd
?
方法二
进入
Livecd
后修复(感谢
billbear
)
引用
:
sudo -i
mount
你的根分区
/mnt
mount
你的
/boot
分区
/mnt/boot #
如果有的话
#
挂载你其他的分区,如果有的话
#
重建
grub
到
sda
的
mbr
grub-install --root-directory=/mnt /dev/sda
2.
由于
root
分区
uuid
改变造成的不能正常启动,只能进入
grub rescue
模式的修复
代码
:
grub rescue>set
grub rescue>prefix=(hd
?
,
?
)/grub
grub rescue>root=hd
?
,
?
grub rescue>set root=hd
?
,
?
grub rescue>set prefix=(hd
?
,
?
)/boot/grub
grub rescue>set
grub rescue>root=hd
?
,
?
grub rescue>prefix=(hd
?
,
?
)/boot/grub
grub rescue>insmod /boot/grub/normal.mod
grub rescue>normal
这时就可以调出
/boot/grub/grub.cfg
,修改相应
uuid
,
改到命令行下
grub>insmod /boot/grub/linux.mod
grub>set root=hd
?
,
?
grub>linux /boot/vmlinuz-*** root=/dev/sd
??
grub>initrd /boot/initrg.img-****
进入系统
hd
?
,
?
是
grub
文件所在分区
sda
?
是
/
分区。
3. grub
模块和配置文件
grub.cfg
受损无法启动时修复
Livcd
启动进入试用
引用
:
sudo -i
mount
你的根分区
/mnt
mount
你的
/boot
分区
/mnt/boot #
如果有的话
#
挂载你其他的分区,如果有的话
#
重建
grub
到
sda
的
mbr
grub-install --root-directory=/mnt /dev/sda
#
重建
grub.cfg
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt update-grub
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc
六、
一些补充说明
1. chainloader
grub2
将支持
chainloader /file
的用法。
目前支持的文件只有
grub2
的
boot.img
和
grub4dos
的
grldr
和
grub.exe
。希望正式版能支持
ntldr bootmgr peldr
等文件。
2. drivemap
drivemap
兼容
grub
的
map
,主要用于只能从
(hd0)
引导启动的系统如
win2000 xp 2003
,可以象
map
用法一样如
:
menuentry "Windows XP" {
insmod ntfs
drivemap (hd0) (hd1)
drivemap (hd1) (hd0)
set root=(hd1,1)
chainloader +1
}
实际上
drivemap
有了更方便的用法:
menuentry "Windows XP" {
insmod ntfs
set root=(hd1,1)
drivemap -s (hd0) ${root}
chainloader +1
}
3. grub2
引导软盘
img
镜像启动
比如要加载
(hd1,1)
根目录下的
a.img
镜像,先把
memdisk
从
memdisk.gz
中解压出来,用法是
:
linux (hd1,1)/memdisk #
镜像文件超过
2.88M
要加上
c=* h=* s=*
initrd (hd1,1)/a.img
boot
现在有
bug
,加载
memdisk
会自动重启,
beta2
还没修正。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/凡人多烦事01/article/detail/263006
推荐阅读
article
[
daily
][
grub2
]
grub2
修改
内核
选项...
以前, 我们就直接去
修改
/boot/grub/grub.cfg 文件了.其实这并不正确.正确的做法是:1.
修改
/etc...
赞
踩
article
w
in
10
+
中标
麒麟
双系统安装步骤_
boot
in
grub2
mode...
w
in
10
+
中标
麒麟
双系统安装步骤客户场景要求:联想启天M415台机出厂预装的是
w
in
10
,现在要改成w
in
7和
中标
麒麟
...
赞
踩
article
grub2
中的
boot
命令_
boot
in
grub2
mode
...
boot
命令的调用flow如下:grub_enter_normal_
mode
->grub_normal_execute...
赞
踩
article
GRUB
安装
,配置及使用汇总_
boot
in
grub2
mode
选
哪个...
转载地址:http://www.l
in
uxm
in
e.com/3996.html(一)
安装
l
in
ux时
安装
grub.
安装
r...
赞
踩
article
Ubuntu
18.04双
系统
安装
教程-超详细(原
系统
W
in
7,解决
安装
完成后启动
Ubuntu
进入G...
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...
赞
踩
article
Grub2
配置_
boot
in
grub2
mode
normal
mode
...
form http://linux-wiki.cn/wiki/zh-hans/
Grub2
%E9%85%8D%E7%BD%...
赞
踩
article
grub2
引导
linux
内核
,
启动
流程、模块管理、
BootLoader
(
Grub2
)...
系统
启动
是一项非常复杂的程序,因为
内核
得先检测硬件并加载适当的驱动程序后,接下来则必须要调用程序来准备好系统运行的环境,...
赞
踩
article
【Grub&
Grub2
】Grub与
Grub2
安装与引导L
in
ux系统范例_
boot
in
norma...
一、Ubuntu的安装与引导 以ubuntu-16.04-desktop-amd64.iso为例1、提取引导文件和压...
赞
踩
article
ubuntu
中
的
grub
2 功能和
操作方法
详解【适用于所有
的
GRUB
】_
grub
.d
文件夹
内...
各
ubuntu
版本对应
的
grub
版本号:
GRUB
2 Ubuntu since version 9.10 (K...
赞
踩
article
grub2
学习和
Boot
-Repair_
boot
in
grub2
mode
...
(4)INSTALL GRUB2 FROM LIVE CDFirstly,
boot
from your L
in
ux o...
赞
踩
article
配置
grub2
的
中心--
grub2
-
mkconfig
...
grub2
-
mkconfig
是任何Linux发行版中最重要
的
组件之一_
grub2
-
mkconfig
grub2
-mkcon...
赞
踩
相关标签
win10
UEFI
中标麒麟
win7
linux
microsoft
windows
redhat
freebsd
dos
grub2引导linux内核