URL:
<https://savannah.gnu.org/bugs/?67868>
Summary: grub-install confuses md0 vs md/0 thus install fails
with: "disk `md0' not found"
Group: GNU GRUB
Submitter: arekm
Submitted: Tue 30 Dec 2025 01:13:19 PM CET
Category: Installation
Severity: Major
Priority: 5 - Normal
Item Group: Software Error
Status: None
Privacy: Public
Assigned to: None
Originator Name:
Originator Email:
Open/Closed: Open
Discussion Lock: Unlocked
Release: other
Release:
Reproducibility: Every Time
Planned Release: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Tue 30 Dec 2025 01:13:19 PM CET By: Arkadiusz Miskiewicz <arekm>
Hello.
grub 2.12 and also 2.14rc1 - same problem. Below are logs from 2.14rc1.
I have a Linux system (6.15.3) where I need to fix/install grub, so I boot
from rescuecd and then:
# mdadm --assemble /dev/md0 /dev/sd[abcd]3
mdadm: /dev/md0 has been started with 4 drives.
# mdadm --assemble /dev/md1 /dev/sd[abcd]4
mdadm: /dev/md1 has been started with 4 drives.
# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc4[0] sda4[3] sdb4[2] sdd4[1]
3747415296 blocks super 1.2 [4/4] [UUUU]
bitmap: 0/28 pages [0KB], 65536KB chunk
md0 : active raid1 sdc3[0] sda3[3] sdb3[2] sdd3[1]
2094592 blocks super 1.2 [4/4] [UUUU]
# vgscan
Found volume group "vg_storage" using metadata type lvm2
# vgchange -a y
3 logical volume(s) in volume group "vg_storage" now active
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_home vg_storage -wi-a----- 3.00t
lv_log vg_storage -wi-a----- 200.00g
lv_root vg_storage -wi-a----- 30.00g
# mount /dev/vg_storage/lv_root /D/
# mount /dev/md0 /D/boot
# mount /sys /D/sys -o bind
# mount /proc /D/proc -o bind
# mount /dev /D/dev -o bind
# chroot /D
# cd /
# grub-install /dev/sda
Installing for i386-pc platform.
grub-install: error: ../grub-core/kern/disk.c:grub_disk_open:240:disk `md0'
not found.
The problem seems to be because grub finds md array but adds it as "md/0"
while later it expects "md0"
# grub-install -vvv /dev/sda 2>&1 | grep -E "(md0|md/0)"
grub-install: info: /dev/md0 is not present.
grub-core/disk/diskfilter.c:grub_diskfilter_vg_register:977:diskfilter: Found
array md/0
grub-install: info: Found array md/0.
grub-core/disk/diskfilter.c:insert_array:1247:diskfilter: Inserting
hostdisk//dev/sdc (+2162160,4193280) into md/0 (mdraid1x) grub-install: info:
Inserting hostdisk//dev/sdc (+2162160,4193280) into md/0 (mdraid1x)
grub-core/disk/diskfilter.c:insert_array:1247:diskfilter: Inserting
hostdisk//dev/sdd (+2162160,4193280) into md/0 (mdraid1x) grub-install: info:
Inserting hostdisk//dev/sdd (+2162160,4193280) into md/0 (mdraid1x)
grub-core/disk/diskfilter.c:insert_array:1247:diskfilter: Inserting
hostdisk//dev/sdb (+2162160,4193280) into md/0 (mdraid1x) grub-install: info:
Inserting hostdisk//dev/sdb (+2162160,4193280) into md/0 (mdraid1x)
grub-core/disk/diskfilter.c:insert_array:1247:diskfilter: Inserting
hostdisk//dev/sda (+2162160,4193280) into md/0 (mdraid1x) grub-install: info:
Inserting hostdisk//dev/sda (+2162160,4193280) into md/0 (mdraid1x)
grub-install: info: /dev/md0 is not present.
grub-install: info: /dev/md0 is not present.
grub-core/kern/disk.c:grub_disk_open:200:disk: Opening `md0'...
grub-core/kern/disk.c:grub_disk_open:200:disk: Opening `md/0'...
grub-core/disk/diskfilter.c:scan_disk_partition_iter:138:diskfilter: Scanning
for DISKFILTER devices on disk md/0
grub-install: info: Scanning for DISKFILTER devices on disk md/0.
grub-install: info: Scanning for mdraid1x devices on disk md/0.
grub-install: info: Scanning for mdraid09_be devices on disk md/0.
grub-install: info: Scanning for mdraid09 devices on disk md/0.
grub-install: info: Scanning for dmraid_nv devices on disk md/0.
grub-install: info: Scanning for ldm devices on disk md/0.
grub-install: info: scanning md/0 for LDM.
grub-install: info: Scanning for lvm devices on disk md/0.
grub-core/kern/disk.c:grub_disk_close:303:disk: Closing `md/0'.
grub-core/kern/disk.c:grub_disk_open:285:disk: Opening `md0' failed.
grub-core/kern/disk.c:grub_disk_close:303:disk: Closing `md0'.
grub-install: error: ../grub-core/kern/disk.c:grub_disk_open:240:disk `md0'
not found.
If I change quickly to
$ diff -up grub-2.14~rc1/grub-core/disk/diskfilter.c{~,}
--- grub-2.14~rc1/grub-core/disk/diskfilter.c~ 2025-05-06 15:14:03.000000000
+0000 +++ grub-2.14~rc1/grub-core/disk/diskfilter.c 2025-11-13
09:20:29.756608568 +0000
@@ -1131,7 +1131,7 @@ grub_diskfilter_make_raid (grub_size_t u
{
/* Strip off the homehost if present. */
char *colon = grub_strchr (name, ':');
- char *new_name = grub_xasprintf ("md/%s",
+ char *new_name = grub_xasprintf ("md%s",
colon ? colon + 1 : name);
if (! new_name)
then success
# /grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
and system boots.
If grub relies on /dev/md/XX schema then shouldn't it convert all names in
encounter from mdXX to md/XX, too? Or add both forms to its internal
structures.
Log from grub-install -vvv /dev/sda:
grub-install.txt
and from patched grub-install:
grub-install-patched.txt
ps. initially reported at mailing list -
https://lists.gnu.org/archive/html/bug-grub/2025-11/msg00006.html
_______________________________________________________
File Attachments:
Name: grub-install.txt Size: 157KiB
<https://file.savannah.gnu.org/file/grub-install.txt?file_id=58038>
Name: grub-install-patched.txt Size: 234KiB
<https://file.savannah.gnu.org/file/grub-install-patched.txt?file_id=58039>
AGPL NOTICE
These attachments are served by Savane. You can download the corresponding
source code of Savane at
https://savannah.gnu.org/source/savane-5829dcd8b4efd8e205da836113e4d40e523b205e.tar.gz
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?67868>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/