管理和升级软件#
DGX OS 6 是 Ubuntu 22.04 Linux 发行版的优化版本,可以访问 Ubuntu 和 NVIDIA 存储库中提供的大量附加软件。您可以使用 apt
命令或通过图形工具安装附加软件。
注意
图形工具仅适用于 DGX Station 和 DGX Station A100。
有关 Ubuntu 提供的其他软件的更多信息,另请参阅 安装其他应用程序
在安装其他软件或升级已安装的软件之前,另请参阅发行说明 以获取最新的发行信息。
升级系统#
在安装任何其他软件之前,您应该将系统升级到最新版本。这确保您可以访问自上次升级以来已添加到存储库中的新软件版本。有关更多信息和说明,包括启用 Ubuntu 的 扩展安全维护 更新的说明,请参阅升级操作系统。
重要提示
只有在升级 DGX OS 后,您才会看到最新的软件分支。
注意
当您在软件分支之间切换时,例如 GPU 驱动程序或 CUDA 工具包,您必须安装新分支的软件包。根据软件的不同,它将删除现有分支或支持系统上安装的并发分支。
更改您的 GPU 分支#
NVIDIA 驱动程序由 Canonical 作为预编译和签名的内核模块发布,可直接从 Ubuntu 存储库获得。签名驱动程序是验证驱动程序包的完整性和供应商身份所必需的。
但是,验证过程要求 Canonical 在 Ubuntu 内核更新完成后构建和发布驱动程序,此过程有时可能会延迟新驱动程序分支的发布和更新。有关 NVIDIA 驱动程序发布的更多信息,请参阅 NVIDIA 驱动程序文档 中的发行说明。
重要提示
Ubuntu 存储库提供以下版本的签名和预编译 NVIDIA 驱动程序
通用 NVIDIA 显示驱动程序
NVIDIA 数据中心 GPU 驱动程序
在您的 DGX 系统上,仅安装包含 NVIDIA 数据中心 GPU 驱动程序的软件包。NVIDIA 数据中心 GPU 驱动程序的元软件包具有 -server
或 -server-open
后缀。
检查当前安装的驱动程序分支#
在安装新的 NVIDIA 驱动程序分支之前,要检查当前安装的驱动程序分支,请运行以下命令
apt list --installed nvidia-driver*server
确定新的可用驱动程序分支#
以下步骤可帮助您确定哪些新的驱动程序分支可用。
要查看新的可用 NVIDIA 驱动程序分支
使用来自 Ubuntu 存储库的最新信息更新本地数据库。
sudo apt update
显示所有可用的驱动程序分支。
apt list nvidia-driver-*-server
可选:显示可用的 NVIDIA Open GPU Kernel 模块分支。
apt list nvidia-driver-*-server-open
注意
NVIDIA Open GPU Kernel 模块驱动程序在 NVIDIA DGX-1、DGX-2 和 DGX Station 系统上不受支持。
升级您的 GPU 分支#
要手动将您的驱动程序升级到最新分支
安装最新的内核。
sudo apt install -y linux-nvidia
升级 NVIDIA GPU 驱动程序。
注意
从下面的
apt-get install
示例中,选择适合您环境的命令集。将 GPU 驱动程序的 535 版本替换为您要安装的版本系列,例如 550 版本。对于 DGX H200 系统,安装的 GPU 驱动程序版本必须为 550 或更高版本。要升级 NVIDIA GPU 驱动程序,
注意
在以下命令中,
nvidia${GPU_BRANCH}*-
中的尾随-
字符指定当前安装的 GPU 驱动程序将在同一事务中删除。由于此操作会从系统中删除软件包,因此首先执行试运行以确保将删除正确的软件包非常重要。在非 Fabric Manager 系统(例如 NVIDIA DGX-1、DGX Station、DGX Station A100 和 DGX Station A800 系统)上,运行以下命令
GPU_BRANCH=$(dpkg -l | grep nvidia-driver | tr -s " " | cut -d' ' -f3 | cut -d'.' -f1) # Specify --dry-run to check the packages to install. sudo apt-get install -y linux-modules-nvidia-535-server-nvidia nvidia-driver-535-server libnvidia-nscq-535 nvidia-modprobe "*nvidia*${GPU_BRANCH}*-" --dry-run # Install the packages. sudo apt-get install -y linux-modules-nvidia-535-server-nvidia nvidia-driver-535-server libnvidia-nscq-535 nvidia-modprobe "*nvidia*${GPU_BRANCH}*-"
在 Fabric Manager 系统(例如 NVIDIA DGX-2、DGX A100、DGX H100/H200、DGX A800 和 DGX H800 系统)上,运行相同的命令,但附加
nvidia-fabricmanager-535
软件包GPU_BRANCH=$(dpkg -l | grep nvidia-driver | tr -s " " | cut -d' ' -f3 | cut -d'.' -f1) # Specify --dry-run to check the packages to install. sudo apt-get install -y linux-modules-nvidia-535-server-nvidia nvidia-driver-535-server libnvidia-nscq-535 nvidia-modprobe nvidia-fabricmanager-535 "*nvidia*${GPU_BRANCH}*-" --dry-run # Install the packages. sudo apt-get install -y linux-modules-nvidia-535-server-nvidia nvidia-driver-535-server libnvidia-nscq-535 nvidia-modprobe nvidia-fabricmanager-535 "*nvidia*${GPU_BRANCH}*-"
要安装与当前 GPU 驱动程序不同的版本系列的 NVIDIA open GPU kernel 模块驱动程序,例如从 470 版本到 535 版本,请使用
-server-open
字符串指定软件包,例如,linux-modules-nvidia-535-server-open-nvidia
和nvidia-driver-535-server-open
注意
在以下命令中,
nvidia${GPU_BRANCH}*-
中的尾随-
字符指定当前安装的 GPU 驱动程序将在同一事务中删除。由于此操作会从系统中删除软件包,因此首先执行试运行以确保将删除正确的软件包非常重要。在非 Fabric Manager 系统(例如 NVIDIA DGX Station A100 和 DGX Station A800 系统)上,运行以下命令
GPU_BRANCH=$(dpkg -l | grep nvidia-driver | tr -s " " | cut -d' ' -f3 | cut -d'.' -f1) # Specify --dry-run to check the packages to install. sudo apt-get install -y linux-modules-nvidia-535-server-open-nvidia nvidia-driver-535-server-open libnvidia-nscq-535 nvidia-modprobe "*nvidia*${GPU_BRANCH}*-" --dry-run # Install the packages. sudo apt-get install -y linux-modules-nvidia-535-server-open-nvidia nvidia-driver-535-server-open libnvidia-nscq-535 nvidia-modprobe "*nvidia*${GPU_BRANCH}*-"
在 Fabric Manager 系统(例如 NVIDIA DGX A100、DGX H100/H200、DGX A800 和 DGX H800 系统)上,运行相同的命令,但附加
nvidia-fabricmanager-535
软件包GPU_BRANCH=$(dpkg -l | grep nvidia-driver | tr -s " " | cut -d' ' -f3 | cut -d'.' -f1) # Specify --dry-run to check the packages to install. sudo apt-get install -y linux-modules-nvidia-535-server-open-nvidia nvidia-driver-535-server-open libnvidia-nscq-535 nvidia-modprobe nvidia-fabricmanager-535 "*nvidia*${GPU_BRANCH}*-" --dry-run # Install the packages. sudo apt-get install -y linux-modules-nvidia-535-server-open-nvidia nvidia-driver-535-server-open libnvidia-nscq-535 nvidia-modprobe nvidia-fabricmanager-535 "*nvidia*${GPU_BRANCH}*-"
要安装与当前 GPU 驱动程序相同版本系列的 NVIDIA open GPU kernel 模块驱动程序,例如 535 版本,
在非 Fabric Manager 系统(例如 NVIDIA DGX Station A100 和 DGX Station A800 系统)上,首先删除当前驱动程序,然后安装软件包
# Remove the current driver. sudo apt-get purge "*nvidia*535*" # Install the packages. sudo apt-get install -y linux-modules-nvidia-535-server-open-nvidia nvidia-driver-535-server-open libnvidia-nscq-535 nvidia-modprobe
在 Fabric Manager 系统(例如 NVIDIA DGX A100、DGX H100/H200、DGX A800 和 DGX H800 系统)上,运行相同的命令,但附加
nvidia-fabricmanager-535
软件包#Remove the current driver. sudo apt-get purge "*nvidia*535*" #Install the packages. sudo apt-get install -y linux-modules-nvidia-535-server-open-nvidia nvidia-driver-535-server-open libnvidia-nscq-535 nvidia-modprobe nvidia-fabricmanager-535
重新启动系统以确保加载新驱动程序
sudo reboot
安装或升级到更新的 CUDA 工具包版本#
默认情况下,只有 DGX Station 和 DGX Station A100 安装了 CUDA 工具包版本。DGX 服务器旨在成为使用容器的共享资源,默认情况下未安装 CUDA 工具包。但是,您可以选择安装合格的 CUDA 工具包版本。
尽管 DGX OS 支持所有与已安装驱动程序互操作的 CUDA 工具包版本,但 DGX OS 版本可能包含默认的 CUDA 工具包版本,该版本可能不是最新发布的版本。除非您必须使用包含新功能的新的 CUDA 工具包版本,否则我们建议您保留 DGX OS 版本中包含的默认版本。有关默认的 CUDA 工具包版本,请参阅 DGX OS 软件发行说明。
重要提示
在安装或升级到任何 CUDA 工具包版本之前,请确保该版本与系统上安装的驱动程序兼容。有关更多信息和兼容性矩阵,请参阅 CUDA 兼容性。
CUDA 兼容性矩阵和向前兼容性#
每个 CUDA 工具包都需要最低 GPU 驱动程序版本。此兼容性矩阵记录在 CUDA 兼容性 中
如果安装了适当的向前兼容性软件包,则较新的 CUDA 工具包可以与较旧的 GPU 驱动程序一起使用。请参阅:安装向前兼容性软件包
示例
CUDA 工具包 12.0 需要 GPU 驱动程序版本 525.60.13,但安装了 GPU 驱动程序 515.43.04。为了将 CUDA 工具包 12.0 与较旧的 GPU 驱动程序一起使用,您必须安装 cuda-compat-12-0 软件包
sudo apt install cuda-compat-12-0
手动设置 LD_LIBRARY_PATH
LD_LIBRARY_PATH=/usr/local/cuda/compat:$LD_LIBRARY_PATH
或通过 /etc/ld.so.conf
文件或通过在 /etc/ld.so.conf.d/
下添加文件自动设置。
检查当前安装的 CUDA 工具包版本#
以下是一些关于确定您当前安装的 CUDA 工具包版本的先决条件的信息。
在安装新的 CUDA 工具包版本之前,要检查当前安装的版本,请运行以下命令
apt list --installed cuda-toolkit-*
以下示例输出显示已安装 CUDA 工具包 11.0
apt list --installed cuda-toolkit-*
Listing... Done
cuda-toolkit-11-0/unknown,unknown,now 11.0.3-1 amd64 [installed]
N: There is 1 additional version. Please use the '-a' switch to see it
安装或升级 CUDA 工具包#
以下步骤可帮助您确定哪些新的 CUDA 工具包版本可用。
要查看新的可用 CUDA 工具包版本
使用来自 Ubuntu 存储库的最新信息更新本地数据库。
sudo apt update
显示所有可用的 CUDA 工具包版本。
apt list cuda-toolkit-*
以下输出显示 11.7、11.8、12.0 是可以安装的可能的 CUDA 工具包版本
Listing... Done cuda-toolkit-11-7/unknown 11.7.1-1 amd64 cuda-toolkit-11-8/unknown 11.8.0-1 amd64 cuda-toolkit-12-0/unknown 12.0.0-1 amd64
要安装或升级 CUDA 工具包,请运行以下命令
sudo apt install cuda-toolkit-<version>
安装 Mellanox OFED 驱动程序#
DGX OS 6 使用 Ubuntu 22.04 发行版提供的 OFED 驱动程序。或者,您可以安装 Mellanox OFED (MOFED) 驱动程序。Mellanox OFED 驱动程序由 NVIDIA 测试和打包。
DGX OS 6 包含脚本 /usr/sbin/nvidia-manage-ofed.py
以帮助管理 OFED 堆栈。
运行以下命令以显示 OFED 相关软件包的列表
sudo nvidia-manage-ofed.py -s
命令输出指示软件包是 Mellanox 堆栈还是 Ubuntu 堆栈的一部分。
使用 Mellanox OFED 软件包#
如果您要从 OS 5 升级到 OS 6,请在更改驱动程序之前参阅DGX OS 5 用户指南中的 升级。
通过运行以下命令确保您拥有最新的 nvidia-manage-ofed 软件包
sudo apt update sudo apt upgrade
删除收件箱 OFED 组件
sudo /usr/sbin/nvidia-manage-ofed.py -r ofed
添加 Mellanox OFED 组件
sudo /usr/sbin/nvidia-manage-ofed.py -i mofed
注意
该命令安装存储库中当前可用的最新版本的 MLNX_OFED。要安装最新版本以外的其他版本,请使用
-v
选项指定其他版本。以下示例安装 MLNX_OFED 版本 5.9-0.5.6.0sudo /usr/sbin/nvidia-manage-ofed.py -i mofed -v 5.9-0.5.6.0
重新启动系统。
使用 Ubuntu OFED 软件包#
删除 Mellanox OFED 组件
sudo /usr/sbin/nvidia-manage-ofed.py -r mofed
确保 APT 未配置 Mellanox 存储库。
删除
/etc/apt/sources.list.d/mlnx.list
文件。更新 APT,使其不再包含来自 Mellanox 存储库的软件包信息
sudo apt update
添加 Ubuntu OFED 组件
sudo /usr/sbin/nvidia-manage-ofed.py -i ofed
收件箱 OFED 与 Mellanox OFED 用例#
下表描述了常见的 MOFED 实用程序/用例,以及如何使用收件箱 OFED 工具完成它们。
MOFED 和收件箱 OFED 之间的一个主要区别是收件箱 OFED 不使用 /dev/mst* 设备。设备通过其 PCIe 总线:设备:功能来寻址。
用例 |
Mellanox OFED 方法 |
收件箱 OFED 方法 |
---|---|---|
将 IB 设备与网络设备关联 |
ibdev2netdev |
rdma link show |
提供有关绑定/mtu 的信息 |
net-interfaces |
查看内容
|
重新加载 OFED 驱动程序 |
openidb |
modprobe |
设备配置操作 |
mlxconfig |
mstconfig |
固件映像刻录 |
flint |
mstflint |
收集调试跟踪 |
fwtrace |
mstfwtrace |
设备上的重置操作 |
mlxfwreset |
mstfwreset |
配置寄存器访问工具 |
mcra |
mstmcra |
主机特权操作 |
mlxprivhost |
mstprivhost |
转储设备内部配置寄存器 |
mlxdump |
mstregdump |
读取设备重要产品数据 |
mlxvpd |
mstvpd |
按分配初始化性能影响#
CONFIG_INIT_ON_ALLOC_DEFAULT_ON
Linux 内核配置选项控制内核是否默认使用零填充新分配的页面和堆对象。您可以使用 init_on_alloc=<0|1>
内核参数覆盖此设置。预安装在 NVIDIA DGX 系统上的 DGX OS 设置 init_on_alloc=1
,因为此设置是 Ubuntu 推荐的内核加固默认设置。但是,此设置可能会对 DGX 系统上的网络接口控制器性能产生性能影响,因为在分配时将每个缓冲区页面归零是频繁的,并且需要时间才能完成。此选项对收件箱 OFED 驱动程序的影响可能大于 Mellanox OFED (MOFED) 驱动程序。MOFED 驱动程序分配了更大的页面缓存,可以更好地容忍内核零填充页面成本的增加。NVIDIA 建议您保留默认设置 init_on_alloc=1
以获得最佳安全性。如果您的部署允许较低的安全性并且网络接口控制器性能不佳,您可以尝试禁用此安全功能。
编辑
/etc/default/grub
文件并将init_on_alloc=0
添加到GRUB_CMDLINE_LINUX_DEFAULT
变量。生成 GRUB 引导加载程序。
sudo update-grub sudo reboot
可选:系统重新启动后,验证更改是否生效。
cat /proc/cmdline
示例输出
BOOT_IMAGE=/boot/vmlinuz-… init_on_alloc=0
升级 Mellanox ConnectX 卡的固件#
DGX OS 6 使用开源 mstflint 程序来升级 Mellanox 卡上的固件。
检查设备类型#
Mstflint 使用 PCI-E 总线/设备/功能 (BDF) 标识符来指定设备。要查找系统中所有 Mellanox 以太网和 InfiniBand 设备,
执行命令
lspci | grep Mellanox | grep -e Infiniband -e Ethernet
输出的第一列是 BDF,例如
29:00.0 Infiniband controller: Mellanox Technologies MT2910 Family [ConnectX-7] 29:00.1 Ethernet controller: Mellanox Technologies MT2910 Family [ConnectX-7]
要找到适合您设备的固件,您将需要设备的 OPN 和 PSID。
要查找 OPN,请使用
mstvpd
命令# mstvpd 29:00.0 | grep PN PN: MCX755206AS-NEAT-N
要查找 PSID,请使用 mstflint 命令
# mstflint -d 29:00.0 q | grep PSID PSID: MT_0000000892
下载新固件#
导航到 https://network.nvidia.com/support/firmware/firmware-downloads/
选择产品线,例如:ConnectX-6 InfiniBand。
选择固件版本。
选择与您的设备匹配的 OPN 和 PSID。
选择“下载”以下载固件。
使用“unzip”命令解压缩压缩文件以访问 .bin 文件。
编程固件#
使用 mstflint 命令编程设备
# mstflint -d 29:00.0 -i fw-ConnectX7-rel-28_36_1010-MCX75310AAS-HEA-N_Ax-UEFI-14.29.14-FlexBoot-3.6.901.signed.bin burn
安装新固件后,重新启动系统。
安装 GPUDirect Storage 支持#
NVIDIA Magnum IO GPUDirect Storage (GDS) 支持 GPU 内存和存储之间直接内存访问 (DMA) 传输的直接数据路径。此软件避免了通过 CPU 的反弹缓冲区。
注意
本节仅适用于您打算在裸机中使用 GPUDirect Storage 的情况。
先决条件#
确定您的 Linux 内核是否支持 GDS,以及是否需要安装 OFED 驱动程序。
优化的 NVIDIA 内核
通用内核
Ubuntu OFED
与 GDS 相关的所有内核模块(nvidia-fs、NVMe、NVMf、NFS)都是优化的 NVIDIA 内核的一部分。
不支持
Mellanox OFED
与 GDS 相关的所有内核模块都是优化的 NVIDIA 内核的一部分。
安装 MOFED。请参阅 安装 Mellanox OFED 驱动程序,然后执行以下部分中的步骤。
GDS 内核模块不存在于 Ubuntu 通用内核中。这些内核模块通过 MOFED 安装进行修补。
安装 MOFED。请参阅 安装 Mellanox OFED 驱动程序,然后执行以下部分中的步骤。
如需更多帮助,请参阅NVIDIA GPUDirect Storage 安装和故障排除指南中的 MLNX_OFED 要求和安装。
对于 NVIDIA DGX-1、DGX-2 和 DGX Station 以外的系统,要使用 nvidia-fs-dkms-2.17.5-1 提供的最新 GDS 版本 12.2.2-1,您必须安装 NVIDIA Open GPU Kernel 模块驱动程序。有关安装驱动程序的更多信息,请参阅 更改您的 GPU 分支。
对于运行通用 Linux 内核的 NVIDIA DGX-1、DGX-2 和 DGX Station,这些系统中的 GPU 不受 NVIDIA Open GPU Kernel 模块的支持。GDS 版本 12.2.2-1 及更高版本仅支持 Open GPU Kernel 模块。
对于这些系统,您必须将 nvidia-fs 软件包固定到 2.17.3 或更低版本,并将 nvidia-gds 软件包固定到 12.2.1-1 或更低版本。
创建一个
/etc/apt/preferences.d/nvidia-fs
文件,内容如下所示。Package: nvidia-fs Pin-Priority: 900 Pin: version 2.17.3-1 Package: nvidia-fs-dkms Pin-Priority: 900 Pin: version 2.17.3-1 Package: nvidia-gds Pin-Priority: 900 Pin: version 12.2.1-1 Package: nvidia-gds-12-2 Pin-Priority: 900 Pin: version 12.2.1-1
验证 nvidia-fs 软件包首选项是否正确。
sudo apt-cache policy nvidia-fs
示例输出
nvidia-fs: Installed: (none) Candidate: 2.17.3-1 Version table: 2.17.5-1 580 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 Packages 2.17.3-1 900 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 Packages ...
验证 nvidia-gds 软件包首选项是否正确。
sudo apt-cache policy nvidia-gds
示例输出
nvidia-gds: Installed: (none) Candidate: 12.2.1-1 Version table: 12.2.2-1 580 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 Packages 12.2.1-1 900 580 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 Packages ...
对于 NVIDIA DGX-1、DGX-2 和 DGX Station,禁用 IOMMU 以避免 DMAR 惩罚。
编辑 GRUB 配置文件。
sudo vi /etc/default/grub
将
intel_iommu=off
添加到GRUB_CMDLINE_LINUX_DEFAULT
变量。如果该变量已包含其他选项,请输入一个空格来分隔选项。请参阅以下示例。
... GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 intel_iommu=off" ...
生成 GRUB 引导加载程序。
sudo update-grub sudo reboot
系统重新启动后,验证更改是否生效。
cat /proc/cmdline
示例输出
BOOT_IMAGE=/boot/vmlinuz-... console=tty0 intel_iommu=off
为优化的 NVIDIA 内核安装 GDS 组件#
此过程适用于使用优化的 NVIDIA 内核的 Ubuntu OFED 和 Mellanox OFED。
nvidia-fs 内核模块 nvidia-fs.ko
作为预编译的 Linux 内核模块和 linux-modules-nvidia-fs-5.15.0-xxx-nvidia deb 软件包提供。
要将 GDS 与优化的 NVIDIA 内核一起使用,请安装 CUDA libcufile 软件包
sudo apt install libcufile-<ver> libcufile-dev-<ver> gds-tools-<ver>
使用 CUDA 工具包版本号代替 <ver>,例如
12-2
。
为通用内核安装 GDS 组件#
GDS 用户空间组件 libcufile 和工具是必需的,并通过执行此过程安装。
要将 GDS 与 Ubuntu 通用内核一起使用,请执行以下步骤
将
NVIDIA_DRV_VERSION
环境变量设置为驱动程序版本。NVIDIA_DRV_VERSION=$(cat /proc/driver/nvidia/version | grep Module | awk '{print $8}' | cut -d '.' -f 1)
安装 nvidia-gds 软件包。
对于必须使用版本
12.2.1-1
的 NVIDIA DGX-1、DGX-2 和 DGX Stationsudo apt install nvidia-gds-12-2=12.2.1-1 nvidia-dkms-${NVIDIA_DRV_VERSION}-server
对于其他 NVIDIA DGX 系统
sudo apt install nvidia-gds-<version> nvidia-dkms-${NVIDIA_DRV_VERSION}-server
使用 CUDA 工具包版本号代替 <version>,例如
12-2
。
为 NVMe 驱动器启用宽松排序#
NVIDIA DGX 系统中使用的三星 NVMe 驱动器支持 I/O 操作的宽松排序。宽松排序使 PCIe 总线能够乱序完成事务。NVIDIA 建议在使用 GPUDirect Storage 时启用此设置以提高性能。
运行
nvidia-relaxed-ordering-nvme.sh
实用程序sudo /bin/nvidia-relaxed-ordering-nvme.sh enable
后续步骤#
请参阅NVIDIA GPUDirect Storage 安装和故障排除指南中的 验证 GDS 安装是否成功。
选择不同的 Linux 内核#
DGX OS 6 使用针对 NVIDIA 系统优化的内核。通过运行 sudo apt install linux-generic
安装通用 Ubuntu 内核。
单次启动到通用内核#
要首次从通用内核启动,请在 grub 菜单中选择“DGX OS GNU/Linux 的高级选项”
选择通用内核
默认启动到通用内核#
默认情况下,GRUB_DEFAULT
设置为 0
。此设置指示启动第一个菜单上的第一个菜单项。第一个菜单项始终设置为最新的内核。
要设置不同的默认内核,您必须同时指定菜单项和子菜单项。
查看
/boot/grub/grub.cfg
文件。找到DGX OS GNU/Linux 高级选项子菜单行。复制
$menuentry_id_option
字符串后面的 ID。在以下示例中,ID 以gnulinux-advanced
开头。submenu 'Advanced options for DGX OS GNU/Linux' $menuentry_id_option 'gnulinux-advanced-342551e3-c0b6-46da-90c1-d938ff352025'
在文件下方,找到您要启动的内核的菜单项行。在以下示例中,菜单项为 DGX OS GNU/Linux,使用 Linux 5.15.0-84-generic。
复制
$menuentry_id_option
字符串后面的 ID。在以下示例中,ID 以gnulinux-5.15.0-84-generic
开头。menuentry 'DGX OS GNU/Linux, with Linux 5.15.0-84-generic' --class dgx --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-5.15.0-84-generic-advanced-342551e3-c0b6-46da-90c1-d938ff352025'
编辑
/etc/default/grub
文件并将GRUB_DEFAULT
值设置为子菜单的 ID、大于号 (>) 和内核的 ID,如以下示例所示。示例
GRUB_DEFAULT='gnulinux-advanced-342551e3-c0b6-46da-90c1-d938ff352025>gnulinux-5.15.0-84-generic-advanced-342551e3-c0b6-46da-90c1-d938ff352025'
更新 grub 配置。
sudo update-grub2
示例输出
Sourcing file `/etc/default/grub' Sourcing file `/etc/default/grub.d/hugepage.cfg' ... Adding boot menu entry for UEFI Firmware Settings ... done
系统在下次启动时使用新选择的默认内核。