И как вы собирались через биос загружаться с ssd, если он его не видит
Я собирался, когда ещё не знал, что биос его не видит. Да и когда увидел, что его нет в списке... как то подумал, может оттого, что он не подготовлен, не размечен, наконец...
Если в биос выставлен режим только UEFI, то в вариантах загрузки (Boot Menu) покажутся только те устройства, где есть EFI-раздел
Если включена поддержка Legacy (MBR), то покажутся все устройства вне зависимости, что содержится на них (и размеченные и неразмеченные)
Опять же, в биос обычно есть такая вещь, как список "порядок жестких дисков", и в загрузочном меню может показываться только первое устройство из этого списка. Все эти особенности на усмотрение производителя биос.
Наверное стоит развернуть.
Для
Yojik:
Есть ли подводные камни, в самой лучшей в мире технологии, такой как UEFI BIOS?
Есть и большие, как же без них:
А вот теперь фото!
Эта кнопка Novo особенно нужна по причине того запа*ла, которое может устроить UEFI вместе с Windows. Но при OS Optimized Default [Disabled], если загрузка более чем желаельна и приоритетна через Legacy, эта кнопка не обязательна. Но в ряде ситуаций, лишней она никогда не будет.
Подводный камень тут вот в чём:
...
Lenovo G50-80:
$ cat /run/media/user/ALT\ p9\ xfce-sysv_x86_64/.disk/info
ALT p9 xfce-sysv/x86_64 build 2020-09-12
...
# parted -l | grep '^Диск\|^Таб\|^Номер\|^ 1' | head -n 4
Диск /dev/sda: 500GB
Таблица разделов: gpt
Номер Начало Конец Размер Файловая система Имя Флаги
1 1049kB 274MB 273MB fat32 EFI system partition загрузочный, esp
# dd if=/dev/sda of=mbr-sda.bin bs=512 count=1
# hexdump -C -s 446 ./mbr-sda.bin
000001be 00 00 02 00 ee ff ff ff 01 00 00 00 2f 60 38 3a |............/`8:|
000001ce 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001fe 55 aa |U.|
00000200
InsideH20 Setup Utility
Security
Secure Boot [Disabled]
Boot
Boot Mode [Legacy Support]
Boot Priority [Legacy First]
Exit
OS Optimized Defaults [Disabled]
Comment for OS Optimized Defaults
[Disabled]
When load default values, will load
legacy support mode default values.
...
При таблице gpt и загрузке одной из операционных систем через UEFI, например в UEFI BIOS Lenovo G50, если линукс грузится через Protective MBR, всё будет идти хорошо до тех пор, пока хотя бы один раз не загрузится W10. После этого, несмотря на
Boot Priority [Legacy First] в UEFI BIOS Lenovo G50, грузится будет только она, игнорируя
Boot Priority [Legacy First] в BIOS.
Чтобы умолчанием, всегда и без исключений грузился загрузчик линукс из MBR, расположенного на винчестере с GPT, в UEFI BIOS Lenovo G50, в секции Exit, существует опция
OS Optimized Defaults, по-умолчанию установленная в Enabled, отдавая приоритет UEFI загрузке. Установка этой опции в Disabled, заставляет UEFI BIOS Lenovo G50, по-умолчанию, всегда и без исключений использовать загрузчик MBR, если существует.
Если загрузка линукс идёт через MBR на GPT, желательно (но не обязательно), создавать раздел
BIOS Boot Partition размером в мегабайт не содержащий файловую. Для встраивания загрузчика grub второй стадии. Если этого раздела нет, то переустановка grub в MBR на винчестер с GPT, возможна будет только через опцию force:
Приёмы профессиональной работы в shell: Установка GRUB2 в MBRВ таблице разделов GPT, LBA 0, отдан под первый сектор MBR (Protective MBR):
# hexdump -s 446 ./mbr-sda.bin
00001be 0000 0002 ffee ffff 0001 0000 602f 3a38
00001ce 0000 0000 0000 0000 0000 0000 0000 0000
*
00001fe aa55
0000200
размером в 512 байт (счёт адресов с нуля):
# ./base.sh 0x00001ff
hex=1FF dec=511 oct=777 bin=111111111
и таблица разделов в MBR начинается с адреса 01be по смещению в 446 байт.
Сам EFI раздел
# fdisk -l /dev/sda | grep -i 'Тип\|Устр\|sda1 \|sda2 \|sda8 \|sda9 \|sda10 '
Тип метки диска: gpt
Устр-во начало Конец Секторы Размер Тип
/dev/sda1 2048 534527 532480 260M EFI
/dev/sda2 534528 567295 32768 16M Зарезервированный раздел Microsoft
/dev/sda8 315979776 463421951 147442176 70,3G Microsoft basic data
/dev/sda9 463781888 819761151 355979264 169,8G Microsoft basic data
/dev/sda10 860719104 882443519 21724416 10,4G Microsoft basic data
# parted -l | head -n 19 | grep 'Таблица\|Флаги$\|^ 1\|^ 2\|^ 8\|^ 9\|^10'
Таблица разделов: gpt
Номер Начало Конец Размер Файловая система Имя Флаги
1 1049kB 274MB 273MB fat32 EFI system partition загрузочный, esp
2 274MB 290MB 16,8MB Microsoft reserved partition msftres
8 162GB 237GB 75,5GB ext4 legacy_boot, msftdata
9 237GB 420GB 182GB ext4 msftdata
10 441GB 452GB 11,1GB linux-swap(v1) msftdata
начинается со второго мегабайта от начала жёсткого диска
# echo '2048*512' | bc -l
1048576
# echo '1048576/1024^2' | bc -l
1.00000000000000000000
Со второго сектора в 512 байт,
начинается LBA 1, первые восемь байт которого, отданы под сигнатуру:
# hexdump -s 512 -C ./mbr-sda-1MiB.bin | head -n 1
00000200 45 46 49 20 50 41 52 54 00 00 01 00 5c 00 00 00 |EFI PART....\...|
Что это всё даёт?
Это даёт, при наличии Lecacy/CSM в UEFI BIOS, полностью развязать по загрузке две операционные системы находящихся на одном винчестере. Одна из которых будет грузиться через UEFI, другая через MBR (Protective MBR).
При загрузке линукс через Protective MBR, единственная проблема возникнет на os-prober. Бестолковый os-prober не понимает, что например W10 грузящуюся через UEFI, в Legacy mode невозможно загрузить даже теоретически. И всегда будет прописывать её опцией загрузки в grub.
В этом смысле намного более лучшим был GRUB 1.99:
Если раздел с boot не был смонтирован, то os-prober не видел эту операционную систему и не прописывал её опцией загрузчика. Т.о., это было чуть сложнее для пользователя, но давало гибкую возможность прописывать опциями только то, что необходимо.
Но прошло время, grub улучшили, и он потерял эту функциональность.