Я нашел эту строку в выводе bootinfoscript:
/dev/sdb7 * 308,977,664 310,026,239 1,048,576 ef EFI (FAT-12/16/32)
Это тип системы EFI. Но. Он находится на диске с маркировкой MBR/dos.
Bootinfoscript очень информативен. У вас действительно есть несколько загрузчиков везде. Это должно быть поправимо.
Как именно ты загружаешься сейчас и что ты хочешь на будущее?
Потому что с тремя отдельными дисками и двумя ОС, устаревшей и UEFI-биой и существующей двойной загрузкой :много возможностей. Даже для простого решения 1=win, 2=linux 3=data.
Вы должны иметь возможность запускать Linux из любой командной строки grub с правильными образами и корнем. Как из оболочки uefi.
Если вы загружаете UEFI в оболочку grub или uefi, а затем запускаете ядро с initrd из того же EFI -sp, вы можете получить систему busybox root=/dev/ram0
без каких-либо реальных разделов, только систему EFI объемом 1 ГБ. раздел. Что еще вы поместите на свои три диска... дополнительно.
Иерархия:
BIOS legacy or uefi
BOOTORDER (internal ones, external ones, uefi shell...)
MENU bootloader (or COMMAND uefi shell)
Оболочка uefi со скриптами,и загрузчик с ручной командной строкой очень похожи.
Если все работает (т.е. правильный биос uefi, без неприятных сюрпризов ), лично мне бы хотелось, чтобы было так:
BIOS legacy (не используется ):загрузка Windows с disk1, как и прежде, через MBR
BIOS UEFI :три (или более )загрузочных записей :для grub на disk2, одна future на disk3, возможно, плюс загрузка systemd -; и вариант загрузки «Uefi Shell».
МЕНЮ загрузчика на диске 2 (Диск Linux ):с одной или несколькими записями для Linux на том же диске. Этот grub также должен иметь возможность загружать окна с dos-диска1 и, возможно, по цепочке -загружать диск3.
Из всего этого можно построить полный контур. Я надеюсь, вы видите схему того, что я имею в виду. Если нет, то попробуйте ручку и бумагу. Для меня это слишком "далеко".
Переменные не раскрываются внутри раскрытия скобок . Вы могли бы сделать:
for ((number=startNumber; number<=endNumber; number++)); do
echo "$number"
done
Кроме того, нет причин использовать арифметическое расширение для startNumber
, вы должны просто сделать:startNumber=1
.
Кроме того, вам не нужно использовать $
для расширения переменных внутри арифметического расширения, поэтому endNumber
может быть:endNumber=$((startNumber+3))
Как объяснялось в другом месте, расширение не будет работать. Альтернативный способ получить вашу последовательность чисел:
for number in $(seq $startNumber $endNumber)
do
echo $number
done