os-prober не находит окна в Intel Softraid

Фон:

У меня есть рабочий стол со следующей конфигурацией диска:

  • Ubuntu 20.04 на одном SSD
  • Windows 10 в Intel RST Raid на 2 твердотельных накопителях

ОС устанавливаются в режиме UEFI

Проблема:

Пробник ОС не находит установку Windows на Intel RST Raid, несмотря на возможность монтирования раздела с файлами EFI. Он отлично находит файлы Ubuntu EFI. После дальнейшего изучения того, почему я наткнулся на строки 31-35 и строку отладки, появившуюся в журналах. После запуска команды udevadm в условном режиме она выплевывается.

       /devices/virtual/block/md126/md126p1

Это означает, что он не будет искать файлы EFI в этом разделе, потому что это виртуальный диск.

Обходной путь

Открытым /usr/lib/os-probes/mounted/05efiв vim и закомментируйте строку 34. Это позволяет os-prober правильно находить файлы Windows EFI и правильно заполнять меню в grub, теперь машина может успешно загружать Windows и Ubuntu из grub.

Вопрос

Я знаю, что весь код написан по какой-то причине, и это было помещено здесь в какой-то момент. Мне интересно:

  1. Есть ли причина, по которой я не должен просто закомментировать это (или сделать его умнее, проверив «md» в пути с помощью grep)?
  2. Возможно ли, что у меня что-то не так настроено в mdadm, и поэтому он отображается как виртуальное устройство? Моя конфигурация mdadm выглядит следующим образом:
      # mdadm.conf
#
# !NB! Run update-initramfs -u after updating this file.
# !NB! This will ensure that initramfs has an uptodate copy.
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY metadata=imsm UUID=ef7f02c0:f0d35b35:760ba725:f4c93763
ARRAY /dev/md/SSDRaid container=ef7f02c0:f0d35b35:760ba725:f4c93763 member=0 UUID=d3be1bc0:8dd0f96d:f53e5af5:4974fe26

# This configuration was auto-generated on Sat, 01 May 2021 20:33:32 -0500 by mkconf

1 ответ

Я тоже столкнулся с этой проблемой на своем ноутбуке. У меня есть MSI GT60, и он поставляется с 1 SSD и 1 HDD с завода, однако он имеет 3 порта MSATA и предназначен для приема до 3 устройств MSATA в RAID1/0 (рекламируется как дисковая производительность до 1500 МБ/с).

При этом используется обычный программный/чипсетный RAID-массив Intel с чипсетом C220 (я полагаю, что он называется RST).

Intel RST поддерживается драйвером mdraid в Linux. Это единственное решение, которое я нашел, при котором Windows и Linux могут договориться о RAID.

Я взломал скрипт os-prober, как советовали выше, когда установил F32 на эту машину, однако я нашел лучшее решение после обновления F34.

Поскольку у меня есть 1 жесткий диск для Linux, я просто скопировал каталоги Microsoft и MSI из файловой системы RAID EFI в файловую систему EFI на жестком диске, os-prober прекрасно находит эти загрузчики EFI, и Windows загружается без проблем.

Если у вас есть возможность хранить файлы загрузчика EFI на обычном устройстве, это предпочтительное решение, пока решение не будет добавлено в os-prober для Intel RST.

Другие вопросы по тегам