On Thu 29 Jan 2026 at 16:34:30 (+0500), Alexander V. Makartsev wrote:
> On 1/29/26 02:03, D. R. Evans wrote:
> > ...
> > I'll pause there, so you have a chance to look at that, and I have
> > a chance to look at the grub rescue stuff ... and also try put out
> > another (unrelated) urgent fire.
> I imagine you could type at grub rescue prompt something like this:
> grub> set pager=1
> grub> insmod normal
> grub> insmod part_msdos
> grub> insmod diskfilter
> grub> insmod mdraid1x
> grub> insmod ext2
> grub> ls
> (proc) (hd0) (hd0,msdos1) (hd0,msdos2) (md/0)
> grub> set prefix=(md/0)/boot/grub
> grub> set root=(md/0)
> grub> linux ($root)/boot/vmlinuz-6.12.63+deb13-amd64 root=/dev/md126
> grub> initrd ($root)/boot/initrd.img-6.12.63+deb13-amd64
> grub> boot

I think the OP has already posted the correct order of the commands
for Grub rescue:

--✄-----

  The documentation said:

  > # Inspect the current prefix (and other preset variables):
  > set
  > # Find out which devices are available:
  > ls
  > # Set to the correct value, which might be something like this:
  > set prefix=(hd0,1)/grub
  > set root=(hd0,1)
  > insmod normal
  > normal

--✄-----

From the posts I've seen, I think the OP got as far as "ls" in
driving this process forward, specifically:

--✄-----

  "ls" now returns:

  (hd0) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos5) (hd1,msdos1) (md/0) (fd0)

--✄-----

What followed was guesswork on the interpretation of those
devices/partitions. What's needed is more invocations of ls,
showing what directories are visible to Grub on those partitions.

For example:

  ls (hd0 <TAB>

will show the partitions on that device, /and their type/.
If it doesn't recognise the type, it won't be able to go
much futher with that partition.

  ls (hd1,msdos5)/

will show the top-level directories in that partition, so that
you can explore it further.

What the OP /has/ shown is things such as:

--✄-----

  If I type "set", it responds with:
     prefix='(hd0)/BOOT/debain@/grub'
     root='hd0'

  "set" now returns ("8d86...0aed" is shorthand for a long UUID):

  prefix='(mduuid/8d86...0aed)/boot/grub'
  root = 'mduuid/8d86...0aed'

--✄-----

But as far as we know, those are what Grub has guessed, without
any evidence as to how it arrived at them.

Before moving on from the "ls" step, the OP needs to see some
output that ends in /grub, at least resembling:

  Grub> ls (hdX,msdosY)/boot/
  … … … … … … grub/ … … … … …
  Grub> ls (hdX,msdosY)/boot/grub/
  … a list of Grub directories Grub> … … grub.cfg … …

at which point, these commands should work:

  Grub> set prefix=(hdX,msdosY)/boot/grub
  Grub> set root=hdX,msdosY
  Grub> insmod normal
  Grub> normal

giving access to all of Grub's commands.

Cheers,
David.

Reply via email to