Hello, David
I will print out your e-mail and study it, and the referenced documents, carefully -- putting aside the temptation to rush and skip things in my
hurry to get things working again.
As the attempt to get everything working without using grub rescue seems
to be stalled (see my e-mail
<eca2ee9a-ae7c-46b1-ab6a-101365e2a73f@gmail.com> in another sub-thread), trying to understand grub rescue seems like the best use of my time at
the moment.
One comment:
David wrote on 1/25/26 5:04 AM:
given us some detail to work with. We can see your incorrect 'prefix'
(or something like it, because I'm guessing that you retyped that
because 'debain@' looks weird.
I agree that it looks weird (and that I had to retype it): it should have been "debian@" [which also looks weird to me, but that's what it said].
Having gone through the procedure in the other sub-thread, and thereby installing a new MBR
what I now see at the "grub rescue>" prompt is quite different (I have to take a photo of the screen, upload it to this computer, and type what it
says into this e-mail; I think I have done that without any mistakes)
[recall from that sub-thread that when the RAID MBR was written there
were two drives in the machine: /dev/sda was the non-booting RAID disk,
and /dev/sdb was the non-RAID disk that had supplied the running OS]:
"ls" now returns:
(hd0) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos5) (hd1,msdos1) (md/0) (fd0) error: failure reading sector 0xb30 from 'fd0'.
I interpret that to mean, in order:
the entire RAID disk (/dev/sda)
the second partition on the RAID disk (/dev/sda2)
the first partition on the RAID disk (/dev/sda1)
the entire non-RAID disk (/dev/sdb)
the fifth partition on the non-RAID disk (/dev/sdb5)
the first partition on the non-RAID disk (/dev/sdb1)
the logical RAID disk
the floppy drive
and there was an error accessing the floppy, probably because there was nothing in the drive.
"set" now returns ("8d86...0aed" is shorthand for a long UUID):
prefix='(mduuid/8d86...0aed)/boot/grub'
root = 'mduuid/8d86...0aed'
Right, that's where we are right now. Now to print out your e-mail and everything else, and when I get a bit of time -- this afternoon, I hope
-- I'll try get my head around grub rescue.
On Sun, 25 Jan 2026 at 18:01, D. R. Evans wrote:
As the attempt to get everything working without using grub rescue seems
to be stalled (see my e-mail
<eca2ee9a-ae7c-46b1-ab6a-101365e2a73f@gmail.com> in another sub-thread),
If you want to reference other list messages, can you please do that by providing links into the list archive which can be found at for example:
https://lists.debian.org/debian-user/2026/01/threads.html
On 26/01/2026 5:01 am, David wrote:
On Sun, 25 Jan 2026 at 18:01, D. R. Evans wrote:
As the attempt to get everything working without using grub rescue
seems to be stalled (see my e-mail
<eca2ee9a-ae7c-46b1-ab6a-101365e2a73f@gmail.com> in another
sub-thread),
If you want to reference other list messages, can you please do that by providing links into the list archive which can be found at for
example: https://lists.debian.org/debian-user/2026/01/threads.html
David, if you wish to open that message in a browser then you may easily
do it:
https://lists.debian.org/msgid-search/?m=MESSAGE_ID
Actually every message has a bit broken header with a link to the list archive, see List-Archive.
Having Message-ID, it is more convenient to open that message inside
mailer or in another web mailing list archive. Instead, your are
suggesting to use a link that is local to the lists.debian.org web site.
There is even "mid:" URL scheme to make Message-ID links explicit.
P.S. Usually I am trying to postpone replies unrelated to topic main
issue till it can be considered solved. This case the suggestion is a bit controversial.
All right, let's see where we are now, on this grub-rescue sub-thread.
I will elide much of your (extremely useful/helpful) commentary, just to
make this e-mail less overwhelming.
Following several attempts to use a separate drive/CD/USB stick to get
things working (so far without success), the current situation if I take everything else out, and just leave the RAID drive in the machine, and
boot to the "grub rescue>" prompt, I now see (I have to type everything manually into this e-mail; I'll obviously try to be really careful about that):
ls:
(hd0) (hd0, msdos2) (hd0, msdos1) (md/0) (fd0) error: failure reading
sector 0xb30 from 'fd0'
The fd error is, I'm sure, irrelevant.
The actual RAID filesystem from which we want to boot is the second
partition on the hard drive: (hd0, msdos2).
set: [in this output I'll use "<UUID>" to mean a UUID that it prints, which
starts with "8d86" and ends with "0aed"]
prefix='(mduuid/<UUID>)/boot/grub'
root='mduuid/<UUID>'
Grub looks for its third portion using the "prefix" value that 'grub-install' wrote into the second portion. That's what you see when typing 'set' at the 'grub-rescue' prompt. You're seeing the
'grub-rescue' prompt because that stored value of "prefix" is wrong,
and the second portion of grub is telling you that it can't find the
third portion.
That paragraph _really_ helped my understanding; it made the GNU documentation a lot clearer.
I note that your link to [grm], https://olinux.net/grub-rescue-mode/,
returns a 521 "Web server is down" error (at least, it has done so every
time I've tried it, so I have been unable to look at that information).
So now that we are sure that you understand tab-completion, you can use grub-rescue's tab-completion in combination with its 'ls' command to explore your disk's filesystem with the aim of discovering where the
grub third portion files are. You would do this by typing something
like:
grub rescue> ls (hd0)/
and then using tab-completion to see what grub finds in the root
directory of your hard drive.
Perhaps I'm not understand something. I tried typing each of the
following in turn at the "grub rescue>" prompt:
ls (hd0)/<TAB><TAB>
ls (hd0, msdos2)/<TAB><TAB>
ls (hd0, msdos1)/<TAB><TAB>
ls (md/0)/<TAB><TAB>
None of them did anything at all.
You had written before that "Occasionally tab-completion does not work in grub-rescue. But it usually does,". Perhaps this is one of those
occasions where it does not :-(
It seemed like, from what you said, that one of the following _should_
work:
prefix=(X)/boot/grub
root=X
insmod normal
normal
where X is one of: hd0
hd0,msdos2
hd0,msdos1
md/0
most likely either hd0,msdos2 or md/0 being the correct value.
I tried them all, and at the "insmod normal" step, they all returned:
"error: unknown filesystem".
Just to be absolutely certain that the RAID disk hasn't somehow been compromised, I then reattached a drive with a bootable OS, booted into
that OS, and made sure that I could still mount the second partition on
the RAID drive; it still looks good, with the entire "/" hierarchy still
in place, including /boot.
My simple brain says that if I can access <partition 2 on the RAID drive>/boot from a running OS, we just haven't found the magic
incantation yet for doing the same for setting the value of prefix and
root in grub rescue.
D. R. Evans wrote on 1/29/26 11:27 AM:
You had written before that "Occasionally tab-completion does not work
in grub-rescue. But it usually does,". Perhaps this is one of those occasions where it does not :-(
FYI, I just found this:y
https://superuser.com/questions/1237684/how-to-boot-from-grub-shell says:
When you?re at the grub> prompt, you have a lot of functionalit
similar to any command shell such as history and tab-completion. The
grub rescue> mode is more limited, with no history and no
tab-completion.
David wrote on 1/29/26 3:55 PM:
Can you please report the result of these interactive grub-rescue
commands, after booting your system with only the drive being rescued connnected:
ls (hd0)/
ls (hd0, msdos1)/
ls (hd0, msdos2)/
ls (md/0)/
They all return:
error: unknown filesystem
I had a linux-raid two-drive system that was working fine for many years.
The system uses legacy BIOS booting. My notes from long ago say that both drives had a working GRUB; but it seems that my notes were wrong: one of
the drives died without warning, leaving me with a drive with
a fully-functioning trixie (and all the user data, etc.) present, but
that drive seems to have no working GRUB in the MBR. Trying to boot it
gives me a "grub-rescue>" prompt.
I can physically remove the drive and place it on a functioning machine,
and have done so. With the drive in the functioning machine, I have
checked that indeed all the data on it (that were in the original "/" hierarchy) are readable. So I just want to find a way to install GRUB on
the MBR in a way that will cause the disk to be bootable into the system
that was on it. That is, I want to be able to remove the disk from the functioning machine that it's currently (temporarily) on, put the drive
back in the original machine, power on, and have the system come up as it used to (except now with just one active drive in the RAID array).
From there I can add a new drive to the array and get myself back
a fully-functioning two-drive RAID-based system.
alain williams wrote on 1/22/26 11:01 AM:
You do not say what sort of RAID you are using, but you have 2 disks so
I assume RAID-1 (mirrored disks).
Yes, you are correct: RAID-1.
The command "parted -l" gives:
Model: ATA HGST HDN724030AL (scsi)
Disk /dev/sda: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 16.0GB 16.0GB primary boot, raid
2 16.0GB 2000GB 1984GB primary raid
All the system info is in that second partition. I don't rightly recall
why the first partition is present (it's been an awfully long time since
I installed this disk). I suspect that it's reserved for swap, although
I doubt that swapping has ever occurred.
I had a spare hard drive on which I installed a pristine copy of trixie
(on ext4), and that's what I've booted from.
Identify the hard disk that contains your system, look at
/proc/partitions.
major minor #blocks name
2 0 4 fd0
8 16 1953514584 sdb
8 17 1945125888 sdb1
8 18 1 sdb2
8 21 8385591 sdb5
8 0 2930266584 sda
8 1 15624192 sda1
8 2 1937889280 sda2
11 0 1048575 sr0
11 1 1048575 sr1
9 126 1937757184 md126
sdb (size 2TB) is the drive from which I booted. sda (size 3TB) is the
old RAID drive.
Based on the above output from /proc/partitions, I think that the root filesystem is best described as /dev/md126.
mkdir /tmp/RFS
OK
mount /dev/sda1 /tmp/RFS
I changed this to: mount /dev/md126 /tmp/RFS
I note that if I try to execute "mount /dev/sda2 /tmp/RFS" instead, then
I get an error about "linux_raid_member" being an unknown filesystem
type. But if I call that partition "md126", then the mount proceeds OK.
At this point, if I look at the contents of /tmp/RFS, I see (wrapped by
the e-mail agent):
and /tmp/RFS/boot/grub:
total 2428
drwxr-xr-x 5 root root 4096 Jan 10 08:32 .
drwxr-xr-x 3 root root 12288 Jan 10 08:34 ..
drwxr-xr-x 2 root root 4096 Feb 28 2020 fonts
-r--r--r-- 1 root root 16758 Jan 10 08:32 grub.cfg
-rw-r--r-- 1 root root 1024 Jan 20 11:44 grubenv
drwxr-xr-x 2 root root 24576 Sep 8 15:25 i386-pc
drwxr-xr-x 2 root root 4096 Sep 8 15:25 locale
-rw-r--r-- 1 root root 2411806 Sep 8 15:25 unicode.pf2
I found my notes from when I first installed Linux software RAID on the machine in question (in 2013), and, without going into details, it
basically was simply done as a RAID1 installation from what was at the
time the official debian installer. I had to do it a couple of times to
get the partitioning on the two drives right. Both of the drives in that original installation were 2TB. My memory about the partitioning was
correct: the two original drives each had two partitions: i) 16GB, which
was used as swap on one drive, and merely formatted as ext3, but unused,
on the other; then the rest of each drive was the RAID mirror.
A few years later, one of the drives started to generate SMART errors, so
it was replaced. Although both the original drives were 2TB, I had to use
a 3TB drive as a replacement, because when I tried to use a replacement
2TB drive, something complained in the process that there was
insufficient space -- presumably because of disk-to-disk variation in
usable space. That replacement 3TB drive is the one that I am now trying
to make boot. My notes don't say that I ever tried to make that drive bootable, which was an obvious error on my part, and why I am now in this situation. (I probably knew it had to be done, and didn't have time, and
then forgot all about it.)
If I try to boot from the RAID disk, which drops me into grub rescue,
then type "ls", it responds with:
(hd0) (fd0)
If I type "set", it responds with:
prefix='(hd0)/BOOT/debain@/grub'
root='hd0'
Having gone through the procedure in the other sub-thread, and thereby installing a new MBR, what I now see at the "grub rescue>" prompt is
quite different (I have to take a photo of the screen, upload it to this computer, and type what it says into this e-mail; I think I have done
that without any mistakes) [recall from that sub-thread that when the
RAID MBR was written there were two drives in the machine: /dev/sda was
the non-booting RAID disk, and /dev/sdb was the non-RAID disk that had supplied the running OS]:
"ls" now returns:
(hd0) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos5) (hd1,msdos1) (md/0) (fd0) error: failure reading sector 0xb30 from 'fd0'.
I interpret that to mean, in order:
the entire RAID disk (/dev/sda)
the second partition on the RAID disk (/dev/sda2)
the first partition on the RAID disk (/dev/sda1)
the entire non-RAID disk (/dev/sdb)
the fifth partition on the non-RAID disk (/dev/sdb5)
the first partition on the non-RAID disk (/dev/sdb1)
the logical RAID disk
the floppy drive
and there was an error accessing the floppy, probably because there was nothing in the drive.
"set" now returns ("8d86...0aed" is shorthand for a long UUID):
prefix='(mduuid/8d86...0aed)/boot/grub'
root = 'mduuid/8d86...0aed'
Following several attempts to use a separate drive/CD/USB stick to get
things working (so far without success), the current situation if I take everything else out, and just leave the RAID drive in the machine, and
boot to the "grub rescue>" prompt, I now see (I have to type everything manually into this e-mail; I'll obviously try to be really careful about that):
ls:
(hd0) (hd0, msdos2) (hd0, msdos1) (md/0) (fd0) error: failure reading sector 0xb30 from 'fd0'
The fd error is, I'm sure, irrelevant.
The actual RAID filesystem from which we want to boot is the second
partition on the hard drive: (hd0, msdos2).
set: [in this output I'll use "<UUID>" to mean a UUID that it prints,
which starts with "8d86" and ends with "0aed"]
prefix='(mduuid/<UUID>)/boot/grub' root='mduuid/<UUID>'
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
That's worrying. A Grub rescue prompt could well fail because it needs modules to read the filesystems, but needs to read the filesystems to
find its modules, which is why it needs a human to help it search
every nook and cranny of all the devices for some modules to load.
...You don't know what you are talking about. This is not the "chicken-egg problem".
On Thu, 29 Jan 2026 at 11:34, Alexander V. Makartsev
<avbetev@gmail.com> wrote: [h]
I imagine you could type at grub rescue prompt something like this:It won't work because 'grub>' prompt is not the same as 'grub rescue>' prompt. grub-rescue will have appeared *because* grub cannot find any
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
"third portion" (including modules normal, part_msdos, diskfilter,
mdraid1x, ext2, and others) so trying to 'insmod' them will fail, as David Wright explained:
On 1/31/26 11:28, David wrote:
On Thu, 29 Jan 2026 at 11:34, Alexander V. Makartsev <avbetev@gmail.com> wrote:
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
It won't work because 'grub>' prompt is not the same as 'grub rescue>' prompt. grub-rescue will have appeared *because* grub cannot find any "third portion" (including modules normal, part_msdos, diskfilter, mdraid1x, ext2, and others) so trying to 'insmod' them will fail, as
David Wright explained:
You don't know what you are talking about. This is not the "chicken-egg problem".
"insmod" commands will work in 'grub>' AND 'grub rescue>' and essential modules are provided by grub's core image.
"insmod normal" will fail and return "error: disk 'mduuid/...' not
found.", this was expected, because grub needs prefix to be available to
load it.
However, all essential modules, like "part_msdos, diskfilter, mdraid1x,
ext2" are available without prefix and in fact preloaded at boot time.
The problem OP having is something else, as I've written before, but he
seems refusing to cooperate and provide more information, or is too busy
to work on it.
He seems to ignore the other possibilities that could interfere with
booting process, like old BIOS and too modern 3TB disk, MBR partitioned
3TB disk, Advanced Format disk, etc.
On Sat, 31 Jan 2026 at 09:12, Alexander V. Makartsev<avbetev@gmail.com> wrote:If system is on md array, all necessary modules to access it will be
On 1/31/26 11:28, David wrote:Hi Alexander,
On Thu, 29 Jan 2026 at 11:34, Alexander V. Makartsev<avbetev@gmail.com> wrote:You don't know what you are talking about. This is not the "chicken-egg
I imagine you could type at grub rescue prompt something like this:It won't work because 'grub>' prompt is not the same as 'grub rescue>'
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
prompt. grub-rescue will have appeared *because* grub cannot find any
"third portion" (including modules normal, part_msdos, diskfilter,
mdraid1x, ext2, and others) so trying to 'insmod' them will fail, as
David Wright explained:
problem".
"insmod" commands will work in 'grub>' AND 'grub rescue>' and essential
modules are provided by grub's core image.
"insmod normal" will fail and return "error: disk 'mduuid/...' not
found.", this was expected, because grub needs prefix to be available to
load it.
No, I do "know what I am talking about" on this point, and you are mistaken on this point. Your error is perhaps to assume that what you see on your system is true for every installation.
What you might be overlooking in this case is that 'grub-install' is
designed to create a minimal size core image according to what it detects
to be necessary to boot the system. So if 'grub-install' is not aware of
any RAID on the system, such as when the boot files are not currently on an active RAID system, then it will omit the grub RAID modules when creating
and installing the core image.
I will demonstrate for you. I have a system here with MBR boot and no RAID.You've got grub-rescue prompt not because grub can't _access_ the
To enter grub-rescue, I cause a deliberate error by renaming my /boot/grub directory to /boot/grubx, and reboot.
Because that change has now caused the prefix installed into grub core
image to be wrong, I get the grub-rescue prompt.
Below is a transcript of the grub-rescue session (I retyped it manually).You really just wasted your time, trying to prove me something (even
However, all essential modules, like "part_msdos, diskfilter, mdraid1x,Line 5 and line 7 of transcript below show you that the diskfilter and mdraid1x modules are not available in this grub-rescue environment, which proves that your above statement is incorrect.
ext2" are available without prefix and in fact preloaded at boot time.
That is the point that I wanted to show you, in TRANSCRIPT PART 1.
| Sysop: | Jacob Catayoc |
|---|---|
| Location: | Pasay City, Metro Manila, Philippines |
| Users: | 5 |
| Nodes: | 4 (0 / 4) |
| Uptime: | 19:03:14 |
| Calls: | 117 |
| Calls today: | 117 |
| Files: | 367 |
| D/L today: |
540 files (253M bytes) |
| Messages: | 70,845 |
| Posted today: | 26 |