1
0
Fork 0
virtualbox/doc/manual/en_US/man_VBoxManage-modifynvram.xml
Daniel Baumann df1bda4fe9
Adding upstream version 7.0.20-dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 09:56:04 +02:00

248 lines
9.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
manpage, user manual, usage: VBoxManage modifynvram
-->
<!--
Copyright (C) 2021-2023 Oracle and/or its affiliates.
This file is part of VirtualBox base platform packages, as
available from https://www.virtualbox.org.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation, in version 3 of the
License.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, see <https://www.gnu.org/licenses>.
SPDX-License-Identifier: GPL-3.0-only
-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
<!ENTITY % all.entities SYSTEM "all-entities.ent">
%all.entities;
]>
<refentry id="vboxmanage-modifynvram" lang="en">
<refentryinfo>
<pubdate>$Date: 2023-04-06 11:27:32 +0200 (Thu, 06 Apr 2023) $</pubdate>
<title>VBoxManage modifynvram</title>
</refentryinfo>
<refmeta>
<refentrytitle>VBoxManage-modifynvram</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>VBoxManage-modifynvram</refname>
<refpurpose>List and modify the NVRAM content of a virtual machine</refpurpose>
<refclass>&product-name;</refclass>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis id="synopsis-vboxmanage-modifynvram-inituefivarstore">
<command>VBoxManage modifynvram</command>
<arg choice="req"><replaceable>uuid|vmname</replaceable></arg>
<arg choice="plain">inituefivarstore</arg>
</cmdsynopsis>
<cmdsynopsis id="synopsis-vboxmanage-modifynvram-enrollmssignatures">
<command>VBoxManage modifynvram</command>
<arg choice="req"><replaceable>uuid|vmname</replaceable></arg>
<arg choice="plain">enrollmssignatures</arg>
</cmdsynopsis>
<cmdsynopsis id="synopsis-vboxmanage-modifynvram-enrollorclpk">
<command>VBoxManage modifynvram</command>
<arg choice="req"><replaceable>uuid|vmname</replaceable></arg>
<arg choice="plain">enrollorclpk</arg>
</cmdsynopsis>
<cmdsynopsis id="synopsis-vboxmanage-modifynvram-enrollpk">
<command>VBoxManage modifynvram</command>
<arg choice="req"><replaceable>uuid|vmname</replaceable></arg>
<arg choice="plain">enrollpk</arg>
<arg>--platform-key=<replaceable>filename</replaceable></arg>
<arg>--owner-uuid=<replaceable>uuid</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis id="synopsis-vboxmanage-modifynvram-enrollmok">
<command>VBoxManage modifynvram</command>
<arg choice="req"><replaceable>uuid|vmname</replaceable></arg>
<arg choice="plain">enrollmok</arg>
<arg>--mok=<replaceable>filename</replaceable></arg>
<arg>--owner-uuid=<replaceable>uuid</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis id="synopsis-vboxmanage-modifynvram-listvars">
<command>VBoxManage modifynvram</command>
<arg choice="req"><replaceable>uuid|vmname</replaceable></arg>
<arg choice="plain">listvars</arg>
</cmdsynopsis>
<cmdsynopsis id="synopsis-vboxmanage-modifynvram-queryvar">
<command>VBoxManage modifynvram</command>
<arg choice="req"><replaceable>uuid|vmname</replaceable></arg>
<arg choice="plain">queryvar</arg>
<arg>--name=<replaceable>name</replaceable></arg>
<arg>--filename=<replaceable>filename</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis id="synopsis-vboxmanage-modifynvram-deletevar">
<command>VBoxManage modifynvram</command>
<arg choice="req"><replaceable>uuid|vmname</replaceable></arg>
<arg choice="plain">deletevar</arg>
<arg>--name=<replaceable>name</replaceable></arg>
<arg>--owner-uuid=<replaceable>uuid</replaceable></arg>
</cmdsynopsis>
<cmdsynopsis id="synopsis-vboxmanage-modifynvram-changevar">
<command>VBoxManage modifynvram</command>
<arg choice="req"><replaceable>uuid|vmname</replaceable></arg>
<arg choice="plain">changevar</arg>
<arg>--name=<replaceable>name</replaceable></arg>
<arg>--filename=<replaceable>filename</replaceable></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>The "modifynvram" commands are for experts who want to inspect and modify the
UEFI variable store of a virtual machine. Any mistakes done here can bring the virtual
machine in a non working state.</para>
<refsect2 id="vboxmanage-modifynvram-common-options">
<title>Common options</title>
<remark role="help-scope" condition="GLOBAL"/>
<para>The subcommands of <command>modifynvram</command> all operate on a running virtual
machine:</para>
<variablelist>
<varlistentry>
<term><replaceable>uuid|vmname</replaceable></term>
<listitem><para>Either the UUID or the name (case sensitive) of a VM.</para></listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2 id="vboxmanage-modifynvram-inituefivarstore">
<title>modifynvram inituefivarstore</title>
<remark role="help-copy-synopsis"/>
<para>
Iniitalizes the UEFI variable store to a default state. Any previous existing variable
store is deleted. Use with extreme caution!
</para>
</refsect2>
<refsect2 id="vboxmanage-modifynvram-enrollmssignatures">
<title>modifynvram enrollmssignatures</title>
<remark role="help-copy-synopsis"/>
<para>
Enrolls the default Microsoft KEK and DB signatures required for UEFI secure boot.
</para>
</refsect2>
<refsect2 id="vboxmanage-modifynvram-enrollorclpk">
<title>modifynvram enrollorclpk</title>
<remark role="help-copy-synopsis"/>
<para>
Enrolls the default platform key provided by Oracle required for UEFI secure boot.
</para>
</refsect2>
<refsect2 id="vboxmanage-modifynvram-enrollpk">
<title>modifynvram enrollpk</title>
<remark role="help-copy-synopsis"/>
<para>
Enrolls a custom platform key provided by the user required for UEFI secure boot.
The following commands use openssl to generate a new platform key:
</para>
<screen>$ openssl req -new -x509 -newkey rsa:2048 -keyout PK.key -out PK.crt</screen>
<screen>$ openssl x509 -in PK.crt -out PK.cer -outform DER</screen>
<variablelist>
<varlistentry>
<term><option>--platform-key=<replaceable>filename</replaceable></option></term>
<listitem><para>The platform key provided as a DER encoded X.509 signature.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--owner-uuid=<replaceable>uuid</replaceable></option></term>
<listitem><para>The UUID identifying the owner of the platform key.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2 id="vboxmanage-modifynvram-listvars">
<title>modifynvram listvars</title>
<remark role="help-copy-synopsis"/>
<para>
Lists all UEFI variables in the virtual machines's store along with their owner UUID.
</para>
</refsect2>
<refsect2 id="vboxmanage-modifynvram-queryvar">
<title>modifynvram queryvar</title>
<remark role="help-copy-synopsis"/>
<para>
Queries the content of a given UEFI variable identified by its name.
</para>
<variablelist>
<varlistentry>
<term><option>--name=<replaceable>name</replaceable></option></term>
<listitem><para>UEFI variable name to query.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--filename=<replaceable>filename</replaceable></option></term>
<listitem>
<para>
Where to store the content of the variable upon success. This is optional,
if omitted the content will be dumped to the terminal as a hex dump.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2 id="vboxmanage-modifynvram-deletevar">
<title>modifynvram deletevar</title>
<remark role="help-copy-synopsis"/>
<para>
Deletes the given variable identified by its name and owner UUID.
</para>
<variablelist>
<varlistentry>
<term><option>--name=<replaceable>name</replaceable></option></term>
<listitem><para>UEFI variable name to delete.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--owner-uuid=<replaceable>uuid</replaceable></option></term>
<listitem><para>The UUID identifying the owner of the variable to delete.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2 id="vboxmanage-modifynvram-changevar">
<title>modifynvram changevar</title>
<remark role="help-copy-synopsis"/>
<para>
Changes the UEFI variable content to the one form the given file.
</para>
<variablelist>
<varlistentry>
<term><option>--name=<replaceable>name</replaceable></option></term>
<listitem><para>UEFI variable name to change the data for.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--filename=<replaceable>filename</replaceable></option></term>
<listitem>
<para>The file to read the data from.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
</refsect1>
</refentry>