http://jianlee.ylinux.org/Computer/%E6%9C%8D%E5%8A%A1%E5%99%A8/efi-shell.html
Itanium 系统上的 EFI
— 引导机器和安装后的设置
ia64上默认的是用efi引导系统,efi-shell的基本使用有几个:
> elilo
/boot/efi/elilo.conf 配置文件中列举的默认内核就会被载入,或者当前目录下面的elilo.conf文件。
> elilo linux
在 elilo 命令之后键入 /boot/efi/elilo.conf 中的内核的标签。上例引导 linux 标签的内核。可以使用 type 目录查看elilo.conf 文件中有哪些标签。
efi shell 的使用语法类似dos,如果要进入一个分区(盘符),先使用map查看系统的分区,使用查看到的分区名加冒号就可以进入这个分区了。
除了指定要载入的内核外,你还可以输入其它引导选项,如 single 会引导单用户模式,或 mem=1024M 来强制红帽企业 Linux 使用 1024 MB内存。要给引导装载程序传递选项,在 EFI Shell 提示下输入以下内容(把 linux 替换成你想引导的内核名称,把 option 替换成你想传递给内核的选项):
elilo linux 选项
配置 EFI Boot Manager
摘自参考资料2:自动引导红帽企业 Linux
- 引导 Itanium 系统,然后从 EFI Boot Manager 菜单中选择Boot option maintenance menu。
- 从主菜单中选择 Add a Boot Option。
- 选择在 Linux 中被挂载为 /boot/efi/ 的系统分区。
- 选择 elilo.efi 文件。
- 在 Enter New Description: 提示下,键入 Red HatEnterprise Linux 4,或你想在 EFI Boot Manager 菜单中显示的名称。
- 在 Enter Boot Option Data Type 提示下,如果你不想给ELILO 引导装载程序传递选项,输入 N 代表 No Boot Option。这个选项在多数情况下都能奏效。如果你想给引导装载程序传递选项,你可以在 /boot/efi/elilo.conf 配置文件中配置。
- 对 Save changes to NVRAM 提示回答 Yes。这会把你返回到EFI Boot Maintenance Manager 菜单中。
- 下一步,让 Red Hat Enterprise Linux 4 这个菜单项目成为默认引导项目。一个引导选项列表会出现。把 Red HatEnterprise Linux 4 菜单项目移到列表顶端,方法是使用箭头键来选择它,然后按 [u] 键来把它向上移动。你还可以按 [d] 键把项目向下移动。改变了引导顺序后,选择 Save changes toNVRAM。选择 Exit 来返回到主菜单。
- 另外,你还可以从主菜单上选择 Set Auto Boot TimeOut =>Set Timeout Value 来改变引导超时值。10. 选择 Exit 来返回到 EFI Boot Manager。
引导命令
autoboot | 设置(查看)自动引导超时变量。 |
bcfg | 显示(或修改)驱动程序(或引导配置)。 |
boottest | 设置(或查看)BootTest 位。 |
dbprofile | 显示/修改要由 lanboot 使用的直接引导配置文件。 |
lanboot | 在 LAN 上引导。 |
reconfigreset | 重置系统 (nPartition) 进行重新配置;nPartition 保持非活动状态(为进行重新配置而关闭的状态)。 |
reset | 重置系统 (nPartition)。 |
search | 连接可引导设备的驱动程序。 |
配置命令
acpiconfig | 设置(或查看)ACPI 配置模式。 |
cellconfig | 取消配置(或重新配置)单元(设置单元的 use-on-next-boot 值)。 |
cpuconfig | 取消配置(或重新配置)处理器和处理器核心。 |
date | 显示当前日期或设置系统 (nPartition) 的日期。 |
dimmconfig | 取消配置(或重新配置)内存 (DIMM)。 |
err | 显示(或更改)错误级别。 |
errdump | 查看(或清除)日志。 |
fru | 查看 FRU 数据。 |
info | 显示硬件信息。 |
monarch | 设置(或查看)主处理器。 |
palproc | 调用 PAL。 |
romdrivers | 启用(或禁用)PCI 扩展 ROM 驱动程序。 |
rootcell | 设置(或查看)首选根单元(设置 nPartition 核心单元选择)。 |
salproc | 调用 SAL。 |
tftp | 对支持 bootp/DHCP 的 Unix 引导服务器执行 TFTP 操作。 |
time | 显示当前时间或设置系统 (nPartition) 时间。以 GMT(格林威治标准时间)设置和显示 EFI 时间。 |
variable | 保存(或恢复)特定的 EFI 变量。 |
ver | 显示版本信息。 |
设备、驱动程序和句柄命令
— EFI Shell 用于管理设备、驱动程序和句柄的命令。
baud | 查看串行端口 com 设置。 |
connect | 将驱动程序绑定到设备。 |
dblk | BlkIo 设备的 Hex 转储。 |
devices | 显示 EFI 驱动程序管理的设备。 |
devtree | 显示设备树。 |
dh | 转储句柄信息。 |
disconnect | 断开驱动程序与设备的连接。 |
drivers | 显示驱动程序列表。 |
drvcfg | 调用驱动程序配置协议。 |
drvdiag | 调用驱动程序诊断协议。 |
guid | 转储已知的 GUID ID。 |
lanaddress | 显示 MAC 地址。 |
load | 加载 EFI 驱动程序。 |
map | 将短名称映射到设备路径。 |
openinfo | 显示指定句柄的开放协议。 |
pci | 显示 PCI 设备或 PCI 功能配置空间。 |
reconnect | 重新连接驱动程序与设备。 |
unload | 卸载协议映像。 |
文件系统命令
— EFI Shell 用于管理文件、目录和属性的命令。
attrib | 显示(或更改)文件(或目录)的属性。 |
cd | 更新(或查看)当前目录。 |
comp | 比较两个文件的内容。 |
cp | 将一个或多个文件(或目录)复制到另一个位置。 |
edit | 全屏编辑 ASCII 或 UNICODE 文件。 |
eficompress | 压缩 infile 并写入 outfile。 |
efidecompress | 解压缩 infile 并写入 outfile。 |
hexedit | 使用 hex 编辑文件、块设备或内存区域。 |
ls | 显示目录中的文件列表和子目录。 |
mkdir | 创建一个或多个目录。 |
mount | 在块设备上挂接文件系统。 |
rm | 删除一个或多个文件(或目录)。 |
setsize | 设置文件的大小。 |
touch | 使用当前时间更新文件(或目录)的时间。 |
type | 显示文件内容。 |
vol | 显示文件系统的卷信息。 |
内存命令
— EFI Shell 用于列出和管理内存、EFI 变量和 NVRAM 详细信息的命令。
default | 设置缺省的 NVRAM 值。 |
dmem | 转储内存或内存映射的 IO。 |
dmpstore | 显示所有 EFI 变量。 |
memmap | 显示内存映射。 |
mm | 显示(或修改)MEM/IO/PCI。 |
pdt | 查看/清除 nPartition 或单元内存页面取消分配表 (PDT)。 |
Shell 导航和其他命令
— EFI Shell 用于基本 EFI Shell 导航和定制的命令。
alias | 设置(或获取)别名设置。 |
cls | 使用可选背景颜色清除标准输出。 |
exit | 退出 EFI Shell 环境。 |
getmtc | 显示单调增加或减小的当前计数器值。 |
help 或 ? | 显示帮助。 |
mode | 显示控制台输出设备的模式。 |
set | 设置(或获取)环境变量。 |
xchar | 打开(或关闭)扩展字符功能。 |
Shell 脚本命令或编程结构
— EFI Shell EFI shell 脚本命令。
echo | 将消息回显给 stdout 或切换脚本回显。 |
else | 仅限脚本:使用 IF THEN。 |
endfor | 仅限脚本:FOR 循环结构的分隔符。 |
endif | 仅限脚本:IF THEN 结构的分隔符。 |
for | 仅限脚本:循环结构。 |
goto | 仅限脚本:跳至脚本中的标签位置。 |
if | 仅限脚本:IF THEN 结构。 |
input | 获取用户输入并放到 EFI 变量中。 |
pause | 仅限脚本:提示退出或继续。 |
stall | 停止处理器几微秒。 |
常用Tips
进入单用户
efi 引导 lilo , 选择一项进入后,看到 "LILO boot:>" 提示符处输入"linux single" 即可,这里 "linux" 是 lilo 配置菜单里的引导 tag ,默认的多种服务器 Linux 使用 lilo 引导都有这个 tag 。