Отключение grub для Linux, в то время как двойной ботинок с Manjaro (Exch на основе Arch Ristro)

Такая буферизация выполняется конвейером, когда задействованный дескриптор не является терминалом. У некоторых команд есть особые параметры для решения этой проблемы и принудительного интерактивного поведения.

Общий способ решения этой проблемы

Вы можете использовать stdbuf из GNU Coreutils. Он управляет буферизацией stdin , stdout и stderr . Вы можете полностью отключить его, установив для него значение 0 , или использовать буферизацию строки, установив его на L :

stdbuf -i0 -o0 -e0 command
stdbuf -oL ping example.com

Эта команда работает, установив setvbuf () с помощью взлома LD_PRELOAD . Если вызываемая команда снова принудительно вызывает эту функцию, stdbuf может не отключить буферизацию.

Вы также можете использовать команду unbuffer для достижения в основном того же результата. Эта команда связана с expect и не может быть установлена ​​по умолчанию. Его можно использовать в основном следующим образом:

unbuffer command

Параметры для конкретной команды

Что касается буферизации для конкретной команды, вот как ее отключить:

  • Параметр GNU grep отключить буферизацию: - строчная буферизация
  • Параметр GNU sed отключать буферизацию: -u
  • GNU awk не выполняет буферизацию, когда нет управляющего tty.
  • mawk , awk по умолчанию, по крайней мере, для Debian / Ubuntu, выполняет буферизацию вывода. mawk может не работать с stdbuf и предоставляет параметр -Winteractive для отключения буферизации.

1
06.11.2018, 17:22
2 ответа

Когда вы устанавливаете вторую операционную систему Linux, вам не нужно устанавливать grubвторой раз. Просто загрузитесь в Manjaro после установки второй ОС и запустите update-grub, при необходимости запустите os-prober.

Если ни один из них не обнаружит вашу вторую установку, вам нужно будет запустить следующее:

mount /dev/sdXY /mnt # sdXY being your bootable partition of the second OS, e.g. sda3
update-grub # and if necessary, os-prober

Это должно создать запись grub для вашей второй ОС и даже работает для Windows.

Простая установка будет примерно такой:

/dev/sda
 |-sda1 # First OS
 |-sda2 # Swap
 |-sda3 # Second OS

Здесь у них общий своп и все содержится в 1 разделе для каждой ОС. Еще лучше было бы использовать lvmдля создания 2 отдельных зашифрованных контейнеров, чтобы они не делили подкачку и имели 2 разных загрузочных раздела. Еще лучше настроить двойную загрузку с двумя разными дисками, если ваш компьютер поддерживает пространство для двух отдельных дисков.

Я сослался на этот пост в блоге и успешно настроил много разных двойных загрузок, используя описанные выше методы.

1
27.01.2020, 23:31

Поскольку мы говорим о Linux, конечно, есть много способов решить эту проблему. Если вы хотите остаться с GRUB2, обратитесь к приведенному выше ответу. Однако для личной справки и для документирования альтернатив также применимо следующее:

Загрузка Systemd с помощью Manjaro:

Для экономии места и для того, чтобы не дублировать руководства, я просто добавлю ссылку на задокументированный процесс выполнения этой настройки в Manjaro (очень подробный и с большим количеством примеров):ссылка

Другим замечательным ресурсом является всемогущая Arch Wiki:ссылка

TL;DR

  • Смонтируйте текущий раздел EFI в /boot
  • Создайте файл loader.conf
  • Создайте файлы.conf для каждого дистрибутива, который вы хотите включить в меню запуска

Оба этих ресурса должны предоставить много документации о том, как создавать различные файлы.conf, но помните, что вам понадобятся UUID разных дисководов:blkid /dev/sdXY

Это даст вам контроль над всем. Это может быть не так удобно для пользователя, как GRUB2, но вы будете иметь прямое право голоса в том, как работает ваш загрузчик.

1
27.01.2020, 23:31

Теги

Похожие вопросы