{"id":50409,"date":"2026-01-15T13:30:18","date_gmt":"2026-01-15T13:30:18","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=50409"},"modified":"2026-01-16T06:44:17","modified_gmt":"2026-01-16T06:44:17","slug":"grub-boot-loader-2-14-released-with-argon2-tpm-2-0-key-protector","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2026\/01\/grub-boot-loader-2-14-released-with-argon2-tpm-2-0-key-protector\/","title":{"rendered":"Grub boot-loader 2.14 Released with Argon2 &#038; TPM 2.0 Key Protector"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-43363\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/11\/gpu-grub-logo-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/11\/gpu-grub-logo-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/11\/gpu-grub-logo-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/11\/gpu-grub-logo-600x600.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/11\/gpu-grub-logo-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2022\/11\/gpu-grub-logo.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p>Grub, the boot-loader that&#8217;s default in most Linux Distributions, released new 2.14 version yesterday.<\/p>\n<p>It&#8217;s been more than 2 years since the last v2.12. The new version features better disk encryption support, new commands, various fixes and improvements.<br \/>\n<!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-50410\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/grub214-700x446.webp\" alt=\"\" width=\"610\" height=\"389\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/grub214-700x446.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/grub214-300x191.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/grub214.webp 719w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>First, Grub 2.14 added <b>Argon2 KDF algorithm support<\/b> for LUKS2 disk encryption, which is significantly more secure than the classic PBKDF2.<\/p>\n<p>It features memory-hard function costs significant amount of memory (though configurable) that slows down hardware-based attacks, thus it&#8217;s a more secure way to transform user input passphrases to strong and unique encryption keys.<\/p>\n<p>The new version also add <b>TPM2 key protector support<\/b>, that can automatically unlock disk encryption by binding the decryption key to TPM 2.0, a firmware in motherboard or CPU.<\/p>\n<p>Meaning that, you can use the feature to boot your encrypted Linux system without manually typing decryption passphrase. But if someone tries to boot or access your disk from any other computer, it requires your passphrase to unlock first.<\/p>\n<div id=\"attachment_50411\" style=\"width: 705px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-50411\" class=\"size-full wp-image-50411\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/disk-unlockdialog.webp\" alt=\"\" width=\"695\" height=\"294\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/disk-unlockdialog.webp 695w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/disk-unlockdialog-300x127.webp 300w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><p id=\"caption-attachment-50411\" class=\"wp-caption-text\">With TPM2 key protector, you&#8217;ll no longer need to type password to unlock disk<\/p><\/div>\n<p>Besides improvements for disk encryption, the new version added <b>Enhanced Read-Only File System (EROFS)<\/b> support. It&#8217;s a lightweight yet high performance read-only file system designed for use in container images or embedded devices.<\/p>\n<p>It also added <b>LVM LV integrity<\/b> support to verify the integrity of data when reading from disk, and <b>LVM cachevol<\/b> support to cache the frequently accessed data in a smaller and faster storage device (SSD) from a larger slower device like HDD.<\/p>\n<p>As well, it added new <code>uki<\/code> command to load Unified Kernel Image, which is a single UEFI PE file that combines a UEFI boot stub, a Linux kernel image, an initrd, and further resources, and new <code>blscfg<\/code> command to parse Boot Loader Specification snippets.<\/p>\n<div id=\"attachment_50412\" style=\"width: 705px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-50412\" class=\"size-full wp-image-50412\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/grub-commandline.webp\" alt=\"\" width=\"695\" height=\"294\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/grub-commandline.webp 695w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2026\/01\/grub-commandline-300x127.webp 300w\" sizes=\"auto, (max-width: 695px) 100vw, 695px\" \/><p id=\"caption-attachment-50412\" class=\"wp-caption-text\">Grub CLI. Run help to list commands<\/p><\/div>\n<p>Grub 2.14 also has new <code>--disable-cli<\/code> build option, allows to disable the command line interface and editing of GRUB menu entries, which may be useful to prevent others from hacking public use computers.<\/p>\n<p>For better security boot support, it will now use the shim loader protocol for image verification where available, which features a more standard and seamless boot process, as the follow-on bootloader doesn&#8217;t need custom code to handle shim&#8217;s verification process specifically.<\/p>\n<p>Other changes include:<\/p>\n<ul>\n<li>Add support GRUB environment block inside the Btrfs header, to remember settings and state across reboots.<\/li>\n<li>Zstd based io decompression support.<\/li>\n<li>NX support for EFI platforms.<\/li>\n<li>Support for signing GRUB with an appended signature for PowerPC secure boot.<\/li>\n<li>Support dates outside of 1901..2038 range.<\/li>\n<\/ul>\n<p>For more about GNU Grub 2.14, see the NEWS in the source tarball.<\/p>\n<h3>How to Get Grub 2.14<\/h3>\n<p>The source tarball of the new and old Grub releases are available to download via the link below:<\/p>\n<div class=\"wp-block-buttons aligncenter\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-vivid-cyan-blue-to-vivid-purple-gradient-background has-text-color has-background\" href=\"https:\/\/ftp.gnu.org\/gnu\/grub\/\" target=\"_blank\" rel=\"noreferrer noopener\">Download GNU Grub<\/a><\/div>\n<\/div>\n<p>Instead of building from the source, it&#8217;s better to wait your Linux Distribution&#8217;s update, as any issue in Grub may make your system un-bootable.<\/p>\n<p>Arch Linux has already made Grub 2.14 into Core-Testing repository. Ubuntu will perhaps have the new boot-loader in next 26.04 LTS. For other Linux, see <a href=\"https:\/\/pkgs.org\/download\/grub2\" target=\"_blank\" rel=\"noopener\">this page<\/a> for the package states.<\/p>","protected":false},"excerpt":{"rendered":"<p>Grub, the boot-loader that&#8217;s default in most Linux Distributions, released new 2.14 version yesterday. It&#8217;s been more than 2 years since the last v2.12. The new version features better disk encryption support, new commands, various fixes and improvements.<\/p>\n","protected":false},"author":1,"featured_media":43363,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[2083,2034],"class_list":["post-50409","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-boot","tag-grub"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/50409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=50409"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/50409\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/43363"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=50409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=50409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=50409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}