今天升级Sandy Bridge EP测试机的BIOS,可谓是曲折啊,尝试各种方法、遇到各种软硬件问题问题。其中一种方法是按照Intel的官方BIOS文档中的说明,用在EFI Shell中升级。所以稍微了解了一下EFI和EFI Shell。
大致来说,EFI是Extensible Firmware Interface的缩写,是介于平台固件和操作系统之间的一层软件接口(及其详细规格说明文档)。EFI是Intel在1998年开始的一个项目演变而来,而在2005年Intel将EFI 1.10开源并交由Unified EFI开源社区去维护和开发,Intel自己的EFI也就不单独做了,都和开源社区共用一个。现在也通常用EFI来代指UEFI,二者不再有意区分。
EFI Shell是EFI提供的一个交互式的命令行Shell环境,在这里你可以执行一些efi应用程序,加载efi设备驱动程序,以及引导操作系统,从引导菜单项中选择”efi shell”,回车,待出现”shell]”提示符时即表明你已进入efi shell环境中,下面对一些常用的efi shell环境下的命令作些简要介绍:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
[drive_name]: 改变当前驱动器.例如, fs0当前映射到了ls-240 驱动器的话,shell] fs0: [回车]就将提供对ls-240 驱动器的访问. alias [-bdv] [sname] [value] 设置或获取别名; attrib [-b] [+/- rhs] [file] 察看或设置文件属性 bcfg -? 配置efi nvram中启动时所加载的驱动选项 botmaint 执行启动维护管理 break 设置执行断点 cd [path] 改变当前目录 cls [background color] 清屏 comp file1 file2 进行文件比较 connect [-r] [-c] handle# .devicehandle# driverhandle# 绑定efi驱动到一个设备并激活该驱动 cp [-r] file [file] ... [dest] 拷贝文件和目录 date [mm/dd/yyyy] 获取或设置日期 dblk device [lba] [blocks] 察看块设备的16进制印象 devices [-b] [-1xxx] 列出系统中的所有设备 devtree [-b] [-d] 显示设备树 dh [-b] [-p prot_id] | [handle] 察看文件句柄信息 disconnect devicehandle# [driverhandle# [childhandle#] 卸载设备驱动 dmem {address] [size] [;mmio] 察看指定内存中的内容 dmpstore drivers [-b] [-lxxx] 列出安装的驱动 drvcfg [-c] [-lxxx] [-f] [-v] [-s] 调用驱动配置协议 drvdiag [-c] [-lxxx] [-s] [-e] [-m] 调用驱动诊断协议 echo [[-on | -off] | [text] 回显 edit [filename] 文本编辑 eficompress infile outfile 压缩efi文件 efidecompress infile outfile 解压efi文件 guid [-b] [sname] 察看知名guid ids help [-b] [internal_command] 显示帮助信息 hexedit [[-f]filename|[-d diskname offset size]|[-m offset size]] 16进制编 load driver_name 加载驱动 loadbmp [-c] [-t] [-i[uga instance]] file 在屏幕上显示一个位图文件 loadpcirom romfile 加载pci option rom ls [-b] [dir] [dir] ... 获得目录列表 map [-bdvr] [sname[:]] [handle] 映射驱动器路径 mem [address] [size] [;mmio] 察看内存或内存映射i/o memmap [-b] 察看内存映射表 mkdir dir [dir] 创建目录项 mm address [width] [;type] [n] 内存编辑 mode [col row] 设置当前图形显示模式 mount blkdevice [sname[:]] 在一个块设备上加载文件系统 mv [src…] [dst] 移动文件或目录 pci [bus_dev] [func] 显示pci设备信息 rconnect devicehandle# [driverhandle# [childhandle#]] | [-r] 驱动重载 reset [reset_string] 冷启动 rm file/dir [file/dir] 删除文件或目录 setsize file 设置文件大小 stall microseconds 延时 time [hh:mm:ss] 获取或设置时间 type [-a] [-u] [-b] file 察看文件内容 ver 显示版本信息 vol fs [volume_label] 设置卷标 |
参考资料:
http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#The_EFI_shell
http://www.intel.com/technology/efi/ (Intel对EFI的技术)
http://software.intel.com/en-us/articles/efi-shells-and-scripting/ (Intel的EFI Shell介绍及脚本编写)
http://blog.sina.com.cn/s/blog_4a44ac500100g6rh.html
在uefi shell下使用help bcfg 帮助信息满屏的刷出
有没有类似 more ,less 优雅的显示方式呢?
我不知道有没有,没用过~ 最近1年多没用uefi shell了。。。
page up / page down
用help -b就类似more的效果了
不错 多谢交流