Комментарии 42
bcdedit /bootsequence {ff0bc717-c088-11e7-bf74-000acd2dac7d}
Где аргументом является identifier необходимого варианта — Linux Boot Manager.
Согласно выводу bcedit выше, {ff0bc717-c088-11e7-bf74-000acd2dac7d} — это не Linux Boot Manager, а само ядро. У Linux Boot Manager UID отличается на единичку: {ff0bc716-c088-11e7-bf74-000acd2dac7d}
Но я не понимаю, зачем вам одновременно Refind, Linux Boot Manager и само ядро, которое тоже efi-enabled. Из этих трех два можно выбросить.
А учитывая что Refind умеет грузить и загрузчик винды — можно было бы обойтись только им. Не надо трогать NVRAM каждый раз, достаточно править конфиг refind. Я думаю, это можно легко сделать и из линукса и из винды.
К тому же я, слышал что есть платформы, где использование bcdedit/efibootmgr может привезти к окирпичиванию всей системы.
Да, nvram дергать конечно такое себе, но refind предлагает только параметр default_selection (при первом приближении, может быть есть что-то еще), но сначала все равно грузится рефинд, считает таймаут и только потом грузится.
Да и правка скриптом конфига из под винды тоже занятие — примонтируй EFI как диск, еще и возможностью записи, найди параметр, замени его :)
2. rEFInd — красивое меню для выбора того, что мне нужно загрузить. С Linux Boot Manager и ядром — сложнее. Пожалуй, эта система выглядит избыточно, но я нигде даже и не пытался претендовать на инструкцию по конфигурации системы, я лишь описал способ целевой перезагрузки и решения связанных проблем, более того с Linux Boot Manager я могу не волноваться за наличие ядра с нужным именем в нужном месте.
3. Вы, видимо, не поняли смысл моих манипуляций. А он в том, чтобы иногда(!) пропускать rEFInd и грузиться туда, куда надо, пока я себе наливаю чай.
4. Думаю, что эти слухи из разряда баек, появившихся в тёмные времена, когда производители клали на стандарт UEFI
- Думаю, что эти слухи из разряда баек, появившихся в тёмные времена, когда производители клали на стандарт UEFI
Эти темные времена — они были всегда и будут всегда, так что это не слухи, а суровая реальность.
Дело там вот в чем: efibootmgr сам по себе ничего не ломает, особенно если менять только переменную BootOrder, как это описано в статье. А вот если пытаться создавать новые записи для загрузчиков или переписывать уже имеющиеся, придется, кроме всего прочего, конструировать EFI DevicePath, и вот здесь у нас получается бомба, поскольку правильность DevicePath зависит от текущей прошивки, и реакция на неправильный также зависит от прошивки. Иногда угадать формат получается и все проходит хорошо, а в других случаях не получается, и восстановление из такого состояния может быть как безболезненным (у AMI Aptio, к примеру), так и очень неприятным (Phoenix SCT), а иногда и вовсе практически смертельным для прошивки (старые Insyde H2O).
Короче: доверьте управление загрузочными устройствами самой прошивке, она точно знает, как именно создать правильные записи BootXXXX так, чтобы ничего не сломалось. Да, это баг в реализации, и в последнее время он встречается не очень часто, но лучше не испытывать судьбу.
3. Вы, видимо, не поняли смысл моих манипуляций. А он в том, чтобы иногда(!) пропускать rEFInd и грузиться туда, куда надо, пока я себе наливаю чай.Мне помнится, в каком-то из Линуксов в меню завершения работы были варианты перезагрузиться в другие ОС — и оно работало (и это было до UEFI).
Существует большая техническая проблема по возвращению состояния железа в первоначальное состояние. ОС которая грузится второй ожидает, что управление пришло из legacy bios или uefi и строит на этом основании необоснованные выводы. Примером может служить отлучение usb контроллера от биоса. Первоначально он сидит на SMI работы с клавой, а после первая ось его забирает на себя, неявно отключая SMI хуки. Вторая ось найдет контроллер в необычном состоянии и может запаниковать. Проблема относится не только к ядру, но и к некоторым внешним драйверам.
Yes, you can adjust the PreviousBoot variable with UUID
36d08fa7-cf0b-42f5-8f14-68df73ed3740. That's how rEFInd remembers what
the previously-booted OS was. You'll need to set the value to a unique
substring of the description that's shown in rEFInd — for instance,
«Windows» for Windows or «vmlinuz» for Linux (if you're booting a kernel
directly).
You can adjust this variable in Linux by editing the
/sys/firmware/efi/efivars/PreviousBoot-36d08fa7-cf0b-42f5-8f14-68df73ed3740
or files under
/sys/firmware/efi/vars/PreviousBoot-36d08fa7-cf0b-42f5-8f14-68df73ed3740/.
I don't know offhand how you'd do this in Windows, OS X, or any other OS.
Ставил TrueOS (FreeBSD + Lumina) и Linux на один ЖД (UEFI + GPT). TrueOS ставит rEFInd в качестве среды загрузки. Обе системы грузятся. Обновлял Linux — всё равно грузятся. Подключал внешний ЖД и флэшку — грузился с них.
ЧЯДНТ?
Картинка с википедии подсказывает, что и Мак и винда тоже работают.
Для настройки загрузки лучше использовать саму rEFInd — там есть соответствующее меню.
В предыдущей записи lorc правильно указывает, что игры с NVRAM могут окирпичить устройство.

А как быть с консолью восстановления, если что-то пошло не так? А если еще систему захочется установить?
И еще к чему фраза про два gpt-шных диска?
GPT — для корректной работы с UEFI. Слышал, что сейчас уже это необязательно, но очень желательно.
1. Насколько быстро это все происходит лично у вас? Понимаю, что железо критично, предположим, что у меня 2 быстрых SSD диска. Мне важны не секунды, а личные впечатления, удобно ли прыгать между системами?
2. Пробовали ли совместить это с гибернацией?
3. Как у вас реализован обмен файлами между ОС? Linux монтирует NTFS, а в обратном направлении как? (Я не пользователь Windows, извините, если вопрос глупый).
Я бы и сам все попробовал, но, прежде чем покупать Windows, хочется понять, стоит ли игра свеч… Мне вообще от винды нужны только Photoshop и Illustartor.
1. На моём процессоре 7700K, 2 SDD (KINGSTON SV300S37A120G — Windows 10, KINGSTON SA400S37240G — Manjaro Linux с Gnome 3). Проходит примерно 20-25 секунд (без учёта таймаута самого UEFI, который можно выставить в 0) от нажатия Enter до экрана логина второй ОС.
Если прыгать во время работы, то, конечно, не так удобно, так как пропадает сессия (ниже пишу про гибернацию) и приходится логиниться.
2. Linux не умеет подхватывать NTFS (системный, остальные норм) с гибернированной виндой, с Linux не тестировал
3. У каждой ОС по 1Tb HDD + виндовый монтирую в Linux. Под винду есть несколько реализаций ext* дров, 2-3 поддерживается нормально, бесплатных и адекватных для ext4 не нашел. Есть платная утилита от Paragon, но ей я пользовался только в версии для macOS, поэтому из своего опыта ничего не скажу (там работает прекрасно, да и компания, вроде, уважаемая).
По Вашему софту — не работаю с ним и не знаю, как он ведет себя под тем же wine, чтобы однозначно посоветовать.
В любом случае, у Windows есть trial в 30 дней, а до 2018года есть возможность обновить
- Linux не умеет подхватывать NTFS (системный, остальные норм) с гибернированной виндой, с Linux не тестировал
Сталкивался с проблемой для восьмерки и десятки при настройках по умолчанию.
Если виндовс завершался "выключением", линукс не мог монтировать ни один из NTFS разделов с возможностью записи. Если перезагрузкой, то все нормально.
Лечилось отключением в виндовс "быстрой загрузки" (не помню, какие параметры там надо было править.
Также пришел к выводу, что системные разделы лучше из другой системы без крайней необходимости не трогать, а завести отдельный раздел для обмена. Я делал его NTFS. FAT, конечно, лучше в плане поддержки разными системами, но лимит в 4Г создает неудобство и потери времени на разделение/сборку больших файлов с копированием данных на раздел с более другой файловой системой.
Минимум — 7, а не Vista.
При этом задачей скрипта в ОС для переключения загрузки станет переименование/копирование нового загрузочного скрипта для EFI Shell, в котором будет прописана загрузка другой ОС — а это обычная файловая операция, которая не грозит никакими последствиями для загружаемой ОС.
Остается только смонтировать EFI раздел, чтоб можно было работать с файлами. В Windows это можно сделать с помощью стандартной утилиты diskpart, наверняка и в линуксе есть варианты.
Тема интересная, как раз хотел заняться этим, и тут ваша статья.
А по поводу обмена файлами между операционками, я как раз статью недавно опубликовал: https://habrahabr.ru/post/341042/
К примеру у меня вторая система установлена на vhd том.
Часто это является исчерпывающим решением, но случаи бывают разные.
Навскидку: недостаточно ОЗУ и/или ядер процессора, чтобы поднять виртуалку с достаточным количеством ресурсов; прямая работа с устройствами (далеко не все железо корректно пробрасывается в виртуалку).
А зачем при наличии rEFInd такие сложности? У него в конфигах есть параметр "default_selection" который отвечает за запуск загрузчика по-умолчанию. Просто написать пару скриптов под требуемые операционки, которые меняют этот параметр и все...
Здравствуйте. Пытаюсь разобраться как по аналогии с этой статьей перезагружаться из одной винды в другую. Каждая на своём диске установлена и загрузчики друг друга они не видят.
Вопрос, как их "подружить"? Хотя бы показать одной (основной) что существует вторая, чтобы работала команда bcdedit /set {fwbootmgr} bootsequence {959c353e-14cc-11ef-9889-806e6f6e6963} /addfirst
Как я научился напрямую перезагружаться в нужную ОС через UEFI