Мне представляется, что дело не столько в UEFI, сколько, во-первых, в работе в внешними носителями по UUID/GUID, как, например, у меня сейчас в /etc/fstab написано,
а не как раньше было, /dev/hdXXXX; и в способности динамически изменять соответствие UUID и устройства.
Что, правда, UEFI сейчас полностью абстрагирует внешние диски, и при смене места, куда устройство воткнуто, ОС видит только "готовность носителя с таким-то UUID пропала/появилась"?
Да, времена немного поменялись. По прежнему для загрузки нужен NVRAM, где указано с какого физического диска загрузить систему, но вот bootloader chain стал другим. Сейчас размечают не MBR, а GPT. В GPT зафиксирован спец раздел EFI в формате FAT32 (который mandatory в стандарте UEFI). Оттуда биос загружает гигантский файл с фирмарью и передает ему управление. Туда упаковать можно хоть целый мини-линукс с графикой. Или что-то наподобие Rescue CD, как делает Apple, например, для восстановления ноутбука из бэкапа по сети из облака или с флешки. Если по какой-то причине диски физически переместились, то биос выдаст приглашение какую систему загрузить, предварительно прошерстив со всех физических дисков EFI разделы. Если в ядре linux есть поддержка ZFS или Btrfs то становится не важно откуда БИОС загрузил ядро, ZFS или Btrfs просканируют все физические диски и соберут из них одну большую файловую систему, и дальше, ядро по UUID найдет реальный корень и выполнит загрузку.
Я не про загрузку, а уже про работу. Если внешний диск, на котором, скажем, находится swap file или подгружаемые драйвера ОС, вытащить из одного USB-сокета и воткнуть в другой, что произойдет с современными системами?
no subject
Date: 2020-12-18 08:03 am (UTC)no subject
Date: 2020-12-18 05:14 pm (UTC)no subject
Date: 2020-12-18 06:49 pm (UTC)а не как раньше было, /dev/hdXXXX; и в способности динамически изменять соответствие UUID и устройства.
Что, правда, UEFI сейчас полностью абстрагирует внешние диски, и при смене места, куда устройство воткнуто, ОС видит только "готовность носителя с таким-то UUID пропала/появилась"?
no subject
Date: 2020-12-21 05:17 am (UTC)По прежнему для загрузки нужен NVRAM, где указано с какого физического диска загрузить систему, но вот bootloader chain стал другим.
Сейчас размечают не MBR, а GPT.
В GPT зафиксирован спец раздел EFI в формате FAT32 (который mandatory в стандарте UEFI). Оттуда биос загружает гигантский файл с фирмарью и передает ему управление. Туда упаковать можно хоть целый мини-линукс с графикой. Или что-то наподобие Rescue CD, как делает Apple, например, для восстановления ноутбука из бэкапа по сети из облака или с флешки.
Если по какой-то причине диски физически переместились, то биос выдаст приглашение какую систему загрузить, предварительно прошерстив со всех физических дисков EFI разделы.
Если в ядре linux есть поддержка ZFS или Btrfs то становится не важно откуда БИОС загрузил ядро, ZFS или Btrfs просканируют все физические диски и соберут из них одну большую файловую систему, и дальше, ядро по UUID найдет реальный корень и выполнит загрузку.
no subject
Date: 2020-12-21 05:49 am (UTC)no subject
Date: 2020-12-21 07:29 am (UTC)Если ZFS, то переживет "на горячую" при использовании хотя бы двух дисков в зеркале если перетыкать по очереди.
В линуксе, конечно, это всё капризно работает, а вот в солярисе multipathing всегда был и работает отлично.