uefi setvariable 过程

gRT->SetVariable  用来增加,更新,删除变量,

其实现在:

\MdeModulePkg\Universal\Variable\RuntimeDxe\Variable.c

 

VariableServiceSetVariable

EFI_STATUS
EFIAPI
VariableServiceSetVariable (
  IN CHAR16                  *VariableName,
  IN EFI_GUID                *VendorGuid,
  IN UINT32                  Attributes,
  IN UINTN                   DataSize,
  IN VOID                    *Data
  )

 

所以,它接受五个参数:

刚好和这个对应:

 rt.SetVariable(Name, Guid, 0x7, len(Value), Data)

 

其attribute 有四种取值:

//
// Variable attributes
//
#define EFI_VARIABLE_NON_VOLATILE       0x00000001
#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
#define EFI_VARIABLE_RUNTIME_ACCESS     0x00000004
#define EFI_VARIABLE_READ_ONLY          0x00000008

 

可以有多种属性 

EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS

rt.SetVariable(Name, Guid, 0x7, len(Value), Data)

0x7 应该是 EFI_VARIABLE_NON_VOLATILE|EFI_VARIABLE_BOOTSERVICE_ACCESS|EFI_VARIABLE_RUNTIME_ACCESS

 

第三个参数为变量的长度 len(value)

第四个就是值

验证 :

shell 下执行 : dmpstore

看有没有拿到自己更改后的值

 

ps:

volatile的意思:

个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份

 

 non-volatile 应该就是不变的

H3C设备通常通过SSH (Secure Shell) 进行远程管理。"Lookback" 是一种SSH的安全特性,也称为反向SSH或端口转发,它允许你在一台计算机上设置一个SSH连接到本地主机,并将这个连接的网络流量代理到另一个指定的IP地址和端口。 在H3C设备上启用SSH Lookback的步骤可能会因设备型号和版本而异,但一般涉及以下几个基本步骤: 1. **登录设备**:首先,使用SSH工具(如PuTTY、Cisco CLI或其他支持SSH的终端仿真程序)连接到你的H3C设备。 2. **检查当前配置**:查看设备当前的SSH配置,确认是否已经启用了SSH服务并且有无限制外部访问的策略。可以在设备的命令行界面下运行`display current-configuration | include ssh` 类似的命令来查找相关信息。 3. **启用lookback功能**:如果设备支持lookback,可能需要编辑或添加SSH配置项来启用它。这通常涉及到修改`ip ssh server listen-source-address`或`local-tunnel`这样的参数,使其接受来自特定源IP的连接。例如,在某些H3C交换机中,可以输入类似下面的命令: ``` set ip ssh server listen-source-address any ``` 4. **设置端口转发规则**:在SSH客户端上,需要设置端口转发规则将本地的某个端口(比如默认的22000)映射到目标IP和端口(如22)。在PuTTY中,可以在"Session" -> "Connection" -> "SSH" -> "Tunnels" 中配置。 5. **验证连接**:尝试从其他计算机通过SSH连接到本地设备的Lookback端口,看看能否成功到达目标服务器。 请注意,实施上述操作前,应确保了解安全风险并只在安全环境下进行,因为SSH Lookback会暴露内部网络给外部访问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值