Grub2知识点整理(略)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Grub2知识点整理(略)相关的知识,希望对你有一定的参考价值。
参考技术AGRUB2命令
Set 设置环境变量 set root=\'hd0,msdos1\'
menuentry "title" [--class=class …] [--users=users] [--unrestricted] [--hotkey=key] [--id=id] [arg …] command; …
定义一个名为"title"的菜单项。当此菜单项被选中时,GRUB将会把环境变量"chosen"的值设为"id"(使用了[--id=id]选项)或"title"(未使用[--id=id]选项),然后执行花括号中的命令列表,如果列表中最后一个命令执行成功,并且已经载入了一个内核,那么将执行"boot"命令。
可以使用 --class 选项指定菜单项所属的"样式类"。从而可以使用指定的主题样式显示菜单项。
可以使用 --users 选项指定只允许特定的用户访问此菜单项。如果没有使用此选项,则表示允许所有用户访问。
可以使用 --unrestricted 选项指明允许所有用户访问此菜单项。
可以使用 --hotkey 选项设置访问此菜单项的热键(快捷键)。"key"可以是一个单独的字母,或者\'backspace\',\'tab\',\'delete\'之一。
可以使用 --id 选项为此菜单项设置一个全局唯一的标识符。"id"必须由ASCII字母/数字/下划线组成,且不得以数字开头。
[arg …]是可选的参数列表。你可以把它们理解为命令行参数。实际上"title"也是命令行参数,只不过这个参数是个必须参数而已。这些参数都可以在花括号内的命令列表中使用,"title"对应着"$1",其余的以此类推。
insmod module
载入名为"module"的GRUB2模块。
chainloader [--force] file
链式加载"file"文件。通常使用磁盘块表示法,例如用\'+1\'表示当前根分区的第一个扇区。
linux16 file …
以传统的16位启动协议从"file"载入一个Linux内核映像,并将其余的字符作为内核的命令行参数逐字传入。这通常用于启动一些遵守Linux启动协议的特殊工具(例如 MEMDISK )。
[注意]使用传统的16位启动协议意味着:(1)\'vga=\'启动选项依然有效,(2)不能启动纯64位内核(也就是内核必须要\'CONFIG_IA32_EMULATION=y\'才行)。
initrd16 file
为以16位协议启动的Linux内核载入一个"initial ramdisk",并在内存里的Linux设置区域设置合适的参数。
[注意]这个命令必须放在"linux16"命令之后使用。
loopback [-d] device file
将"file"文件映射为"device"回环设备。例如:
loopback loop0 /path/to/image
ls (loop0)/
可以使用 -d 选项,删除先前使用这个命令创建的设备。
default
默认选中第几个菜单项(从\'0\'开始计数)
default
默认选中第几个菜单项(从\'0\'开始计数)
gfxpayload
设置Linux内核启动时的视频模式,可以指定一组由逗号或分号分隔的模式以供逐一尝试:每个模式的格式必须是:\'text\'(普通文本模式,不能用于UEFI平台),\'keep\'(继承"gfxmode"的值),\'auto\'(自动检测),\'宽x高\',\'宽x高x色深\'之一,并且只能使用VBE标准指定的模式[640x480,800x600,1024x768,1280x1024]x[16,24,32]。在BIOS平台上的默认值是\'text\',在UEFI平台上的默认值是\'auto\'。除非你想明确设置Linux控制台的分辨率(要求内核必须"CONFIG_FRAMEBUFFER_CONSOLE=y"),或者打算在BIOS平台上使用图形控制台(要求内核必须"CONFIG_FRAMEBUFFER_CONSOLE=y"),否则不要设置此变量
root
设置"根设备"。任何未指定设备名的文件都视为位于此设备。初始值由GRUB在启动时根据"prefix"变量的值自动设置。在大多数情况下,你都需要修改它。
superusers
设置一组"超级用户"(使用空格/逗号/分号进行分隔),以开启安全认证的功能。
theme
设置菜单界面的主题风格文件的位置,例如:"/boot/grub/themes/starfield/theme.txt"。关于如何定制界面风格(背景图片/字体/颜色/图标等)的细节,可以参考GRUB2手册中的"<u> Theme file format </u>"部分。
timeout
在启动默认菜单项前,等待键盘输入的秒数。默认值是\'5\'秒。\'0\'表示直接启动默认菜单项(不显示菜单),\'-1\'表示永远等待。
pager
如果设为\'1\',那么每一满屏后暂停输出,等待键盘输入。缺省是\'\',表示不暂停。
Insmod模块
pxe.mod Driver to provide access to the pxe filesystem
pxecmd.mod Command to control the PXE device
cat.mod Show the contents of a file. 显示文件内容
cmp.mod Compare two files.
configfile.mod configure - Load another config file.
cpuid.mod Check for CPU features
crc.mod Calculate the crc32 checksum of a file.
echo.mod Display a line of text.
halt.mod halts the computer. This command does not work on all firmware.
suspend.mod Halt the system, if possible using APM
hello.mod Say hello
help.mod Show a help message.
hexdump.mod Dump the contents of a file or memory.
ls.mod List devices and files.
lspci.mod List PCI devices
normal.mod Grub2 的常规模式(于此对应的是安全模式,内置于 kernel 中)
pci.mod
play.mod 播放音频文件 (体验功能) Play a tune
read.mod Set variable with user input
reboot.mod Reboot the computer. 重启计算机
search.mod Search devices by file, filesystem label or filesystem UUID.
serial.mod
sleep.mod Wait for a specified number of seconds
terminal.mod Select a terminal.
terminfo.mod Set terminfo type.
test.mod test -
ieee1275_suspend Return to Open Firmware prompt
分区管理
pc.mod pc 机上的分区类型(主分区、扩展分区)管理
sun.mod sun 机上的分区类型管理
gpt.mod Read GUID Partition Tables (GPT).
apple.mod 苹果机的分区管理
acorn.mod Linux/ADFS partition tables.
amiga.mod Amiga partition tables (RDB).
图形相关:
vga.mod 字符终端
gfxterm.mod 图形终端
font.mod Specify one or more font files to display.
vbe.mod pc 上图形核心库
vbeinfo.mod List compatible VESA BIOS extension video modes.
vbetest.mod Test VESA BIOS Extension 2.0+ support
video.mod
videotest.mod Test video subsystem
bitmap.mod 图片格式基类
jpeg.mod JPG 图片格式解码
tga.mod TGA 图片格式解码
png.mod PNG 图片格式解码
文件系统
affs.mod Amiga Fast FileSystem.
afs.mod The native AtheOS file-system.
cpio.mod cpio and tar filesystem.
ext2.mod Second Extended filesystem
fat.mod FAT filesystem
hfs.mod HFS
hfsplus.mod HFS+ Filesystem.
iso9660.mod iso9660 implementation with extensions: SUSP, Rock Ridge. (光盘文件系统)
jfs.mod JFS
minix.mod The minix filesystem, version 1 and 2.
ntfs.mod NTFS filesystem
ntfscomp.mod compression support for the NTFS filesystem
reiserfs.mod ReiserFS versions up to 3.6
sfs.mod Amiga Smart FileSystem.
udf.mod Universal Disk Format filesystem. (光盘文件系统)
ufs.mod Unix File System
xfs.mod XFS
fshelp.mod Filesystem helper functions (查找文件、读取文件操作)
磁盘访问
ata.mod ATA disk access.
fs_uuid.mod Access disks by their filesystem UUID.
host.mod Dummy disk driver to provide access to the hosts filesystem. (grub-emu 用以访问宿主文件系统)
loopback.mod Make a device of a file. (command to add loopback devices.)
biosdisk.mod BIOS 磁盘设备 (cdrom, hdd, cdrom 访问层)
lvm.mod module to read Logical Volumes. (加密卷)
memdisk.mod Access embedded memory disk
raid.mod module to read RAID arrays.
引导器
appleloader.mod Boot legacy system. (apple legacy boot loader.)
multiboot.mod multiboot - Load a Multiboot kernel.
linux.mod linux - Load a linux kernel.
loadenv.mod load_env - Load variables from environment block file.
blocklist.mod Print a block list.
boot.mod Boot an operating system.
bsd.mod freebsd - load freebsd kernel
chain.mod load another boot loader
其他 (未知)
aout.mod
elf.mod
_bsd.mod
_chain.mod
_linux.mod
_multiboot.mod
IO hook
bufio.mod buffered io access
gzio.mod decompression support for gzip
GRUB2对设备与分区的命名规则举例如下,看看就能明白。需要说明的是磁盘从"0"开始计数,分区从"1"开始计数。
上面所举的例子仅是最常用的情形,更多高级的设备命名规则请参考GRUB2手册中的"<u> Naming convention </u>"与"<u> How to specify devices </u>"部分。此外,如果你想看看当前系统上有哪些设备可用,可以在GRUB SHELL中使用"ls"命令(可能需要先加载必要的驱动模块)。
文件的命名方法有两种:(1)绝对路径表示法,(2)相对路径表示法。举例如下:
上面所举的例子仅是最常用的情形,更多高级的文件命名规则请参考GRUB2手册中的"<u> How to specify files </u>"部分。
磁盘块的命名方法同样也有两种:(1)绝对路径表示法,(2)相对路径表示法。举例如下:
磁盘块几乎只用于链式引导(chainloader)的场合。更多高级的磁盘块命名规则请参考GRUB2手册中的"<u> How to specify block lists </u>"部分。
这是我记录的一些常用的知识点,详细使用以及例子请到这里:
GRUB2配置文件"grub.cfg"详解(GRUB2实战手册) [金步国]
以上是关于Grub2知识点整理(略)的主要内容,如果未能解决你的问题,请参考以下文章
《Linux系统管理与应用》课程知识点整理+书后习题全文解答(Linux知识点大纲)