- Установка двух Linux на компьютер
- Как это будет работать?
- Как установить два Linux на компьютер
- Установка двоих Linux в chroot
- Выводы
- Фишки Линукса: как работать с несколькими операционными системами одновременно
- Разбивка диска и символьные ссылки
- Размер разделов
- Раздел под домашнюю папку не нужен!
- Создание символьных ссылок
- Скрипт для создания символических ссылок
- Автоматическое монтирование диска с данными
- 1 Comment
- Добавить комментарий Отменить ответ
Установка двух Linux на компьютер
Многих новичков интересует возможно ли установить два linux или больше дистрибутивов на свой компьютер. Это будет очень практично, если вы еще не определились с дистрибутивом и хотите протестировать сразу несколько систем, или вам нужны две разные системы.
Тут можно пойти сразу двумя путями. Первый — это установка нескольких дистрибутивов на реальное железо. Сразу скажу, что это делается очень просто и почти без каких-либо дополнительных настроек, все сработает почти также как с двойной загрузкой Windows и Linux. Только тут уже будут другие операционные системы.
Второй путь — более сложный и он подразумевает использование chroot или контейнеров. В этой небольшой инструкции будет рассмотрено как выполняется установка два Linux на компьютер и почему это возможно.
Как это будет работать?
Я уже сказал, что установка двух Linux на компьютер выполняется очень просто. Но как это работает? Для выбора операционной системы перед загрузкой используется загрузчик Grub. Он обнаруживает все установленные системы и выводит меню, в котором предлагает выбрать нужную систему для загрузки. Причем загрузчику не столь важно какая это операционная система Windows или Linux. В случае с Linux все будет работать даже лучше.
Также среди новичков бытует мнение, что для установки каждой следующей операционной системы нужен отдельный жесткий диск, а переключать потом системы можно будет с помощью выбора первого диска в Linux. Но все это совсем не обязательно. Для каждой операционной системы нужно выделить по несколько разделов на одном жестком диске, этого будет вполне достаточно. Выбор загружаемой операционной системы будет происходить с помощью Grub и вам не понадобится менять настройки BIOS. Таким образом, два Linux на одном диске отлично помещаются.
Теперь про контейнеры и chroot. Обе эти технологии позволяют запускать несколько дистрибутивов одновременно на одном ядре Linux. Это позволяет нам не терять производительность как при полной виртуализации с помощью VirtualBox или WMVare, но и накладывает кое-какие ограничения.
Если рассматривать chroot, то этот метод создает изолированное окружение в системе, вы попадаете в консольное окружение выбранного дистрибутива и можете выполнять все его программы, они будут работать на том же ядре и будут иметь доступ ко всем тем же устройствам и файлам что и основная система, но, тем не менее, это будет отдельное окружение. Такой вариант может быть полезен если вам срочно нужно получить доступ к консоли другого дистрибутива, а также он постоянно используется при восстановлении системы. chroot может использоваться для запуска Linux на смартфонах Android.
Контейнеры — это уже усовершенствованная версия chroot окружения с более жесткими ограничениями доступа к устройствам. Все файлы контейнера находятся в виртуальной файловой системе, а доступ ко всем устройствам строго контролируется ядром.
Как установить два Linux на компьютер
Сначала давайте разберемся с очередностью установки дистрибутивов. Каждый дистрибутив устанавливает свою версию загрузчика Grub, если для вас не важно от какого дистрибутива будет установлен загрузчик, то вы можете выбрать любой порядок, в противном же случае тот дистрибутив, которого загрузчик вы хотите использовать должен устанавливаться последним.
Теперь перейдем к разметке диска. Это один из самых важных этапов. Если при установке Linux рядом с Windows вы можете только отделить немного пространства для Linux. Но в нашем сегодняшнем варианте у вас будет намного больше свободы для планирования.
Обычно для установки дистрибутива Linux нам нужно четыре раздела:
- /boot — раздел для загрузчика;
- swap — раздел подкачки;
- / — корневой раздел для системы и всех файлов программ;
- /home — раздел для файлов пользователя.
Но если вы хотите установить два Linux на компьютер, то такая разметка необходима только для одного из дистрибутивов. Все остальные могут обойтись одним разделом для системы. Рассмотрим подробнее почему:
- Раздел загрузчика — роль загрузчика будет выполнять дистрибутив, который был установлен последним, и хотя загрузчики в других дистрибутивах будут установлены, но фактически они не будут работать, поэтому этот раздел для них можно не создавать;
- Раздел подкачки — все системы могут использовать один раздел подкачки если не планируется, конечно, использовать гибернацию, в случае с гибернацией, для каждой системы вам будет нужен отдельный раздел swap;
- Системный раздел — это единственный раздел, который обязательно нужен для всех дистрибутивов? конечно, вы могли бы попытаться хранить файлы всех дистрибутивов на одном разделе, но так делать не нужно;
- Домашний раздел — тоже можно выделить в качестве одного раздела для всех. Вот только имена пользователей в разных дистрибутивах советую брать разными, чтобы в вашей домашней папке не было кучи мусора из различных конфигурационных файлов и все это не конфликтовало.
Теперь вам осталось установить обе системы просто следуя выше перечисленным рекомендациям по установке и разбивке диска. Дальше мы рассмотрим как работает chroot окружение.
Установка двоих Linux в chroot
Мы уже рассмотрели что это такое выше, поэтому сразу перейдем к практике. Допустим, у вас есть установленная на компьютере Ubuntu, представим, что она установлена на диске /dev/sda1, хотя файлы успешно могут лежать на этом же диске только в отдельной папке. Домашний раздел — /dev/sda2. Теперь попытаемся войти из текущей системы в окружение chroot для Ubuntu. Сначала монтируем разделы:
sudo mount /dev/sda1 /mnt
sudo mount /dev/sda2 /mnt/home
Дальше подключаем в ту же папку все виртуальные файловые системы, чтобы у нашего окружения был доступ к ядру:
sudo mount —bind /dev/ /mnt/dev/
sudo mount —bind /proc/ /mnt/proc/
sudo mount —bind /sys/ /mnt/sys/
И затем остается только войти в окружение chroot:
chroot /mnt/ /bin/bash
Первый параметр указывает папку с файлами дистрибутива, а второй используемую командную оболочку, причем это будет оболочка не из основной системы, а из той, для которой окружение нужно создать. Вот и все, теперь вы находитесь в окружении Ubuntu и можете выполнять все ее команды, устанавливать программы и другое. Только кроме графического окружения и любых графических программ. Я не буду рассматривать здесь настройку контейнеров. Для этого существует несколько технологий:
В последнее время очень популярным стал Docker, он позволяет скачать образ любого дистрибутива в контейнере и делать с ним всё, что надо. О контейнерах openvz я рассказывал в отдельной статье. Ещё есть виртуализация KVM, XEN или если такой вариант вам не нравится, то можно воспользоваться виртуальной машиной VirtualBox или WMVare.
Выводы
Теперь вы знаете несколько отличных способов как выполняется установка двух Linux на один компьютер. Все действительно очень просто и зависимости от ваших потребностей вы можете настроить отличную экосистему, установив несколько linux на одном компьютере. Если у вас остались вопросы, спрашивайте в комментариях!
На завершение подробное видео про настройку chroot на английском:
Источник
Фишки Линукса: как работать с несколькими операционными системами одновременно
Я решил сделать новую рубрику «фишки линукса». В ней я буду рассказывать об интересных решениях, которые универсальны для всех дистрибутивов Линукс. А начну я с рассказа о том, как я управляюсь со своим гаремом операционных систем (сейчас их у меня 5 штук):
Держать несколько операционных систем на 1 компьютере совсем несложно.
Разбивка диска и символьные ссылки
Итак, у меня стояла задача сделать так, чтобы я с любой операционной системы имел доступ ко всем своим данным: рабочим документам, профилю браузера с закладками и паролями, учетным записям для почтового клиента и всему прочему, что необходимо для нормальной ежедневной работы.
В сущности, проблема решается просто. Для данных создается отдельный раздел на диске. Самый большой. В самом простом варианте — 2 операционные системы в дуалбуте — разбивка диска выглядит так:
sda2 — раздел для 1-ой операционной системы
sda3 — раздел для 2-ой операционной системы
sda4 — раздел с данными.
Если вам нужно больше операционных систем, значит, нужно сделать больше разделов. Я поставил второй жесткий диск, и моя структура разделов выглядит так:
5 разделов под операционные системы и 1 большой раздел для данных.
sda4 размером в 200 ГБ и есть мой раздел с данными.
Размер разделов
Объём своп-раздела определяется исходя из личных предпочтений. У меня он 3 ГБ — столько же, сколько оперативной памяти.
Системные разделы нужно делать объёмом от 15 до 30 ГБ.
15 ГБ — это самый минимальный минимум. Для работы системы этого вполне достаточно (хотя некоторые дистрибутивы требуют для установки 20 ГБ места на диске), только надо внимательно следить за свободным объёмом и почаще запускать bleachbit.
20-25 ГБ вполне хватит для нормальной работы системы.
30 ГБ — это размер с запасом. Системе его хватит «за глаза».
Под раздел с данными выделяется всё свободное место. Это то место где будут храниться ваши документы, фото, видео и т.д.
Важный момент: при таком подходе отдельный раздел под домашнюю папку не нужен!
Раздел под домашнюю папку не нужен!
Монтировать домашнюю папку на отдельном разделе рекомендуют для того, чтобы можно было переустанавливать систему без потери личных данных. Но в моём случае у меня уже есть раздел с данными, который решает проблему сохранности нужных мне файлов. Поэтому при установке новой системы я не указываю отдельного раздела для домашней папки. Она создается в корневом разделе системы. То есть при установке системы я указываю ей только один раздел для установки — корневой.
Для хранения данных есть отдельный большой раздел, на котором нет никаких операционных систем, а есть только папка DATA, куда я сложил все-все свои файлы, включая настройки нужных мне программ. Чтобы пользоваться этими данными в любой системе, я делаю символьные ссылки на эти папки.
Создание символьных ссылок
Допустим, у нас есть раздел с данными, в котором лежат папки Документы, Загрузки, Изображения… Короче все стандартные пользовательские папки, которые есть в домашней папке пользователя. Для удобства все они собраны в одну папку. Я назвал её DATA (понятно, что имя может быть любым)
Также в эту папку DATA я перенес папочки с данными программ. У меня это:
.mozilla (здесь лежат данные firefox: пользовательский профиль, расширения, дополнения. сохраненные пароли и т.д.)
.thunderbird (одноименный почтовый клиент: учетные записи и прочее)
Эти папки лежат в корне домашнего каталога. Возможно, у вас есть ещё какие-то папочки, например .skype и .pidgin
Это скрытые папки, чтобы увидеть их в файловом менеджере, перейдите в режим «Показывать скрытые файлы».
Также некоторые нужные настройки и данные программ лежат в папках .local и .config.
Обычно, папки с файлами конфигураций называются также, как программы. Например, для игры «Битва за Веснот» в обоих папках (.config и .local) создается вложенная папка wesnoth. Но бывают и исключения. Например, папки с настройками текстового редактора FocusWriter называются Gottcode.
В общем, с настройками программ план действий прост:
1. Определяем список программ,настройки и данные которых нам нужны в каждой системе
2. Находим их (скрытая папка в корне либо папки в .config и .local)
3. Переносим эти папки в раздел с данными
4. Создаем символьные ссылки на эти папки в своём домашнем каталоге. Если эти папки в системе уже есть, то их надо удалить и заменить символьными ссылками.
Создать символьную ссылку очень просто. В файловом менеджере достаточно щелкнуть правой кнопкой мыши по папке (или другому объекту) и выбрать нужный пункт в появившемся контекстном меню:
Вот так легко и просто создается символьная ссылка
Символьная ссылка на папку с конфигурационными данными должна называться также, как и сама папка. То есть .mozilla а не «ссылка на .mozilla». И лежать она должна в том же месте — в корне домашней директории, либо в папке .local и .config
Чтобы не возиться с созданием кучи символьных ссылок при каждой установке системы, я сделал папку, в которой сохранил все нужные мне символьные ссылки. Когда я ставлю новую систему, я просто копирую эти ссылки в нужное место. Это быстро и просто.
Символьные ссылки для копирования в новую систему
Но не всегда всё так просто. Разные системы могут использовать разные точки монтирования, и тогда путь до целевой папки будет отличаться. В этом случае, сделать символьные ссылки можно с помощью скрипта.
Скрипт для создания символических ссылок
Это очень просто. Нужно сделать текстовый файлик links.sh. Название может быть любым (кроме расширения), а содержание выглядит вот так:
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/.thunderbird /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/.Skype /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/.purple /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/Видео /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/Музыка /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/GOOGLE/ФАЙЛО/Документы /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/GOOGLE/ФАЙЛО/Загрузки /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/GOOGLE/ФАЙЛО/Изображения /home/username
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/Focuswriter/config/GottCode /home/username/.config
ln -s /mnt/16e34d0f-61b0-40a1-a27a-a87959f68af5/DATA/Focuswriter/Local/GottCode /home/username/.local/share
Структура скрипта проста:
ln -s — это команда создания символьной ссылки. Далее следует полный путь и название папки на которую нужно создать символьную ссылку (вместо /mnt/какой-то шеснадцатиричный код… нужно подставить ваш путь до раздела и папки с данными,наприер, это может быть /run/media/…), затем через пробел указывается папка, в которой будет создана символьная ссылка (вместо username поставьте свое имя пользователя).
Для наглядности всё это отметил на картинке:
Автоматическое создание символьных ссылок
Перед запуском скрипт сначала нужно сделать исполняемым. Можно выполнить в терминале команду chmod +x links.sh либо поставить галочку «разрешить выполнение файла как программы» в свойствах файла.
Также нужно удалить одноименные папки из домашнего каталога, в котором вы будете создавать символьные ссылки (если в этих папках есть важные данные, перенесите их).
Подробнее о скрипте можно прочитать здесь.
После запуска этого скрипта все ваши данные будут у вас под рукой в домашнем каталоге.
Автоматическое монтирование диска с данными
Чтобы все символьные ссылки работали, нужно чтобы раздел с данными автоматически монтировался при загрузке системы. Если этот раздел не подключен, символьные ссылки работать не будут (например, Firefox выдаст ошибку и не запустится) В KDE plasma задача решается очень просто.
В параметрах системы нужно выбрать пункт «Внешние носители», зайти в него и там поставить галочку «Включить автоматическое монтирование внешних носителей информации». В списке носителей отметить «Монтировать при входе в систему» раздел диска, на котором лежит вся ваша информация.
Выберите пункт Внешние носители в Параметрах системы
И включите автоматическое монтирование дисков при входе в систему.
Всё. Теперь все символьные ссылки работают сразу при загрузке системы.
Поделиться «Фишки Линукса: как работать с несколькими операционными системами одновременно»
1 Comment
UPD:
Для того чтобы автоматическое монтирование дисков работало, надо в Параметрах системы зайти в раздел Запуск и завершение, перейти в Управление службами и там отметить пункт Подключение внешних носителей.
Обычно он включен по умолчанию, но в Ubuntu 19.04 он оказался не отмечен.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник