【Grub2】常见命令

2024-05-24 06:18
文章标签 常见 命令 grub2

本文主要是介绍【Grub2】常见命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Grub2是Grub的升级版,增加了很多特性,用法与grub相似,语法有些差异,以下列出一些常用命令。

官方命令手册:https://www.gnu.org/software/grub/manual/grub/html_node/Commands.html#Commands

注意使用命令时,要先插入模块,除非在生成grub2时已经加入了该模块,insmod默认加入。

一般模块与命令名一致,极少数不一致,会特殊说明。

Grub2常用命令
命令描述示例
insmod插入模块insmod ntfs
lsmod显示已经加载的模块lsmode
rmmod移除模块rmmod ntfs
echo显示echo "hello"
set

设置

root-设置根目录

default-设置默认菜单

timeout-设置超时

还可以设置变量

set root=(hd0,msdos1),注意磁盘从0开始,分区从1开始

set default=0

set timeout=5

set prefix=(hd0,msdos1)/EFI/grub,使用$prefix

chainloader链加载,加载当前分区启动或者从文件启动,可直接启动efi文件

chainloader +1

chainloader /EFI/boot.efi

menuentry

菜单

menuentry title [--class=class …] [--users=users] [--unrestricted] [--hotkey=key] [--id=id] [arg …] { command; … }

热键为一个字符,或者别名例如‘backspace’, ‘tab’,  ‘delete’

menuentry "Win7" --class windows --class os {
    insmod ntfs
    insmod chain
    set root=(hd0,msdos2)
    echo "Start Windows"
    chainloader +1
}
submenu

将menuentry分组显示

submenu title [--class=class …] [--users=users] [--unrestricted] [--hotkey=key] [--id=id] { menu entries … }

submenu aaa{

        menuentry b1{}

        menuentry b2{}

}

terminal_output选择输出的终端terminal_output gfxterm
root根目录set root=(hd0,msdos2)
boot启动 
cat显示文件内容cat /1.txt
background_color

背景颜色,支持三种写法

1、16进制RGB,#RRGGBB

2、10进制RGB,128,128,255

3、SVG 1.0颜色名称,cornflowerblue

set background_color=gray
background_image

模块:gfxterm_background

背景图片,background_image [[--mode ‘stretch’|‘normal’] file]

默认为stretch模式,除非设置normal模

仅在terminal output设置为gfxterm时可以更改

background_image /home/background.jpg
clear清除屏幕clear
source将其它文件菜单加载到本菜单source /grub.cfg
configfile加载其它菜单文件configfile /grub.cfg
gettext转换字符串为当前语言 
halt关机 
reboot重启 
help帮助 
linux加载linux内核linux /vmlinux
linux16加载16位模式下的linux内核 
initrd加载初始化RAM数据模块initrd /initrd.gz
initrd16加载初始化16位模式RAM数据模块 
loadfont

模块font

设置字体

loadfont "$prefix/unicode.pf2"
lsfonts显示已经加载的字体 
ls显示文件和文件夹 
search

搜索,search [--file|--label|--fs-uuid] [--set [var]] [--no-floppy] name

search.file等同于 search --file

search.file /EFI/grub/x64.cfg root #搜索文件,并设置文件所在分区为根目录
loopback加载镜像,通常用于加载iso文件
loopback loop0 /path/to/image
ls (loop0)/
sleep休眠秒数

sleep 5

 

以下为范例:

insmod part_msdos
insmod font
insmod all_video
insmod gfxtermterminal_output gfxtermset font="$prefix/unicode.pf2"
loadfont $fontinsmod jpeg
insmod gfxterm_background
background_image $prefix/background.jpgset default=0set timeout_style=menu
set timeout=5menuentry "Grub Menu" --class winpe {insmod ntldrntldr /BIOS/grub/grldr
}menuentry "Slitaz" --class linux {insmod linuxlinux /BIOS/IMGS/BZIMAGE root=/dev/null autologininitrd /BIOS/IMGS/ROOTFS.GZ
}menuentry "Install XUbuntu18.04" --class ubuntu --class os {insmod ext2insmod linuxinsmod loopbackinsmod ntfsinsmod echosearch.file /OS/udiskflag rootloopback loop0 /OS/Linux/xubuntu-18.04-desktop-amd64.isolinux (loop0)/casper/vmlinuz ro boot=casper iso-scan/filename=/OS/Linux/xubuntu-18.04-desktop-amd64.iso ro splashinitrd (loop0)/casper/initrd.lzecho "Install XUbuntu 18.04"
}menuentry "CloneZilla" --class backup {configfile /BIOS/grub2/CloneZilla.cfg
}menuentry "-------------------" --class ubuntu --class os{set root=(hd0,gpt1)
}menuentry "reboot" --class windows --class os{insmod rebootreboot
}menuentry "halt" --class windows --class os{insmod halthalt
}

 

这篇关于【Grub2】常见命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/997601

相关文章

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi