<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Grub on inetshell</title><link>https://inet.sh/en/tags/grub/</link><description>Recent content in Grub on inetshell</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 25 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://inet.sh/en/tags/grub/index.xml" rel="self" type="application/rss+xml"/><item><title>Proxmox: error: disk 'lvmid/…' not found at grub rescue</title><link>https://inet.sh/en/posts/proxmox/grub-rescue-disk-lvmid-not-found/</link><pubDate>Fri, 25 Sep 2026 00:00:00 +0000</pubDate><guid>https://inet.sh/en/posts/proxmox/grub-rescue-disk-lvmid-not-found/</guid><description>A Proxmox VE node that boots into &amp;#39;error: disk lvmid/... not found, grub rescue&amp;gt;&amp;#39; with root on LVM: it is a GRUB bug reading LVM metadata when the ring buffer wraps around. Workaround from the ISO (any LVM change) and permanent fix by reinstalling the GRUB that carries the fix.</description><content:encoded><![CDATA[<h2 id="tldr">TL;DR</h2>
<p>Boot the <strong>Proxmox ISO → Advanced Options → Install Proxmox VE (Debug mode)</strong>; at the first shell press <code>Ctrl+D</code> to reach the second one, which already has LVM:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">vgscan
</span></span><span class="line"><span class="cl">vgchange -ay
</span></span><span class="line"><span class="cl">lvcreate -L 4M pve -n grubtemp   <span class="c1"># any change to the LVM metadata will do</span>
</span></span><span class="line"><span class="cl">reboot
</span></span></code></pre></td></tr></table>
</div>
</div><p>With the node back up, clean up and make the fix permanent:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">lvremove pve/grubtemp
</span></span><span class="line"><span class="cl"><span class="o">[</span> -d /sys/firmware/efi <span class="o">]</span> <span class="o">&amp;&amp;</span> apt install grub-efi-amd64     <span class="c1"># UEFI</span>
</span></span><span class="line"><span class="cl"><span class="c1"># legacy BIOS: grub-install /dev/sdX &amp;&amp; update-grub        # the disk, not the partition</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="the-error">The error</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">error: disk &#39;lvmid/Xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx/Yyyyyy-yyyy-yyyy-yyyy-yyyy-yyyy-yyyyyy&#39; not found.
</span></span><span class="line"><span class="cl">Entering rescue mode...
</span></span><span class="line"><span class="cl">grub rescue&gt;
</span></span></code></pre></td></tr></table>
</div>
</div><p>The disk is fine, the <code>pve</code> VG is fine, and the data is fine. Sometimes the same bug warns you earlier, during an <code>apt full-upgrade</code>:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">/usr/sbin/grub-probe: error: disk `lvmid/...&#39; not found.
</span></span></code></pre></td></tr></table>
</div>
</div><p>If you see that in <code>update-grub</code>, apply the fix <strong>before</strong> rebooting.</p>
<h2 id="why-it-happens">Why it happens</h2>
<p>LVM stores its on-disk metadata in a <strong>ring buffer</strong>. Every change (creating, deleting, or resizing an LV) writes a new copy further along the buffer, and sooner or later the text wraps around the end. The GRUB 2.06 in Debian 11 (PVE 7, <code>2.06-3</code>) cannot read that wrap: it does not find the VG, does not find the <code>pve/root</code> LV, and drops to <code>grub rescue</code>.</p>
<p>That is why &ldquo;fixing&rdquo; it is as odd as making any LVM change: the metadata gets rewritten at another position, usually without a wrap, and GRUB reads it again. And that is why it <strong>comes back</strong> weeks or months later, when the buffer wraps again, if the GRUB installed on the disk is still the old one.</p>
<p>In the lab the change that got us out was <code>lvextend -L +1G /dev/pve/root</code>. It works just the same, but undoing it with <code>lvreduce</code> on a mounted root is playing with fire; if you did it that way, better keep the 1G (<code>resize2fs /dev/pve/root</code>) or use the throwaway LV from the TL;DR.</p>
<h2 id="full-procedure">Full procedure</h2>
<ol>
<li>
<p><strong>Get into the system.</strong> Two ways from the Proxmox ISO:</p>
<ul>
<li><strong>Rescue Boot</strong> (Advanced Options): the ISO finds the installation and boots its kernel, bypassing the broken GRUB. If it works you are already inside the real system and can jump to step 3.</li>
<li><strong>Debug mode</strong>: rescue shell. <code>Ctrl+D</code> at the first prompt; the second one has the LVM modules loaded.</li>
</ul>
</li>
<li>
<p><strong>Trigger a metadata change</strong> (only if you came in through Debug mode):</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">vgscan
</span></span><span class="line"><span class="cl">vgchange -ay
</span></span><span class="line"><span class="cl">lvcreate -L 4M pve -n grubtemp
</span></span><span class="line"><span class="cl">reboot
</span></span></code></pre></td></tr></table>
</div>
</div></li>
<li>
<p><strong>Back in the normal system</strong>, remove the temporary LV and check whether the metadata still wraps:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">lvremove pve/grubtemp
</span></span><span class="line"><span class="cl">vgscan -vvv 2&gt;<span class="p">&amp;</span><span class="m">1</span> <span class="p">|</span> grep <span class="s1">&#39;Reading metadata&#39;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>Output ending in <code>(+0)</code> means no wrap; any other value means the problem will repeat until you reinstall GRUB.</p>
</li>
<li>
<p><strong>Reinstall the GRUB that has the fix.</strong> The PVE 8 and 9 package (<code>2.06-13</code> or newer) already carries it, but the binary sitting in the ESP or the MBR is only rewritten when the package gets (re)installed:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># UEFI: nodes upgraded from PVE 7 often have grub-pc instead of grub-efi-amd64</span>
</span></span><span class="line"><span class="cl">dpkg -l <span class="p">|</span> grep -E <span class="s1">&#39;^ii +grub-&#39;</span>
</span></span><span class="line"><span class="cl">apt install grub-efi-amd64
</span></span><span class="line"><span class="cl">efibootmgr -v            <span class="c1"># confirm the &#34;proxmox&#34; entry</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># legacy BIOS</span>
</span></span><span class="line"><span class="cl">grub-install /dev/sdX
</span></span><span class="line"><span class="cl">update-grub
</span></span></code></pre></td></tr></table>
</div>
</div><p>On PVE 7 the real fix is upgrading to PVE 8; the workaround only buys time.</p>
</li>
</ol>
<h2 id="traps">Traps</h2>
<ul>
<li><strong><code>grub rescue&gt;</code> will not get you out of this.</strong> <code>ls (lvm/pve-root)</code> shows nothing because the <code>lvm</code> module is exactly what cannot read the metadata. Do not waste time there.</li>
<li><strong>Root on ZFS does not go through here.</strong> Nodes with <code>rpool</code> boot via <code>proxmox-boot-tool</code>; that is another path with other errors.</li>
<li><strong>Point at the right devices</strong> if you run <code>grub-install</code> by hand: the disk (<code>/dev/sda</code>), not <code>/dev/sda1</code>; the ESP mounted on <code>/boot/efi</code> for UEFI.</li>
<li><strong>In a cluster</strong>, once one node is fixed check the others with <code>vgscan -vvv | grep 'Reading metadata'</code>; same installation, same buffer.</li>
</ul>
<p>References: <a href="https://pve.proxmox.com/wiki/Recover_From_Grub_Failure">Recover From Grub Failure</a> on the Proxmox wiki and the <a href="https://forum.proxmox.com/threads/error-disk-lvmid-not-found-grub-rescue.123512/">forum thread</a>.</p>
]]></content:encoded></item></channel></rss>