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 Hat Enterprise 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 Hat Enterprise Linux 4 菜单项目移到列表顶端,方法是使用箭头键来选择它,然后按 [u] 键来把它向上移动。你还可以按 [d] 键把项目向下移动。改变了引导顺序后,选择 Save changes to NVRAM。选择 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 。