LINUX.ORG.RU

Linuх, Windows, FreeBSD на одном жестком диске

 несколько ос на диск


1

1

Hello Необходимо поставить на один жесткий диск несколько ОС Linux(Fedora,CentOS,Debian), Windows и если получится ещё и FreeBSD. Необходимо для тестирования ПО. Возможно это или нет?

Изложу свои мысли, поскольку практического опыта установки у меня нет и вообще опыта в linux системах, только изучаю пока, но пару раз ставил клиентские дистрибутивы.

Насколько мне известно есть два популярных загрузчика Linux GRUB и LILO. К примеру GRUB может быть установлен не в MBR а непосредственно на раздел, т.е именно это и необходимо, чтобы в MBR оставался Windows загрузчик.

Так вот вопросы такие: 1) Можно ли поставить GRUB не в MBR для всех 3-х перечисленных ОС - Fedora,CentOS,Debian?

2) Можно ли для всех 3-х ОС использовать один раздел boot для загрузчика? Не будут ли он конфликтовать или даже не затрут ли друг друга? И если нет получается тогда для MBR диска при условии установки GRUB НЕ в MBR максимальное число загрузочных ОС будет 3, поскольку для MBR диска у нас может быть всего 4 раздела основных, но один будет extended, поэтому 3.

3) Можно ли на один boot раздел поставить GRUB и LILO одновременно или они затрут друг друга? Просто вобще не в курсах как загрзчики функционируют.



Последнее исправление: linfbsd (всего исправлений: 1)

груб всех их умеет грузить

anonymous
()

Схема с использованием MBR не поддерживает более 4 первичных разделов на ЖД. Если мне не изменяет память, и GRUB умеет грузить линукс с логического раздела, то можно попробовать создать 1 первичный раздел для общего /boot линуксов, 1 для винды, 1 для фряхи, и еще один разбить на 3 логических для корневых разделов линукс.
Линукс ставить в последнюю очередь — GRUB сам найдет разделы с уже установленными ОС и пропишет в своем конфиге.

voidmaster
()

А вообще, для тестирования в разных ОС лучше использовать виртуализацию. Тот же виртуалбокс нормально справляется со всеми перечисленными ОС.

voidmaster
()
Ответ на: комментарий от voidmaster

можно попробовать создать 1 первичный раздел для общего /boot линуксов, 1 для винды, 1 для фряхи

Т.е. если создать один основно раздел /boot и при установке всех ОС Linux указывать именно этот раздел, то все они будут утановлены правильно и будут грузиться, да? И для всех 3-х ОС можно будет использовать GRUB? Это в общем то основной вопрос.

А почему вы предлагете использовать отдельный раздел для FreeBSD, я вроде просмотрел инструкцию по установке FreeBSD там говорится что можно использовать как GRUB так и Lilo. Или же Linux и FreeBSD не совместиы в плане загрузки? Просто опыта у меня нет в этих системах, не знаю деталей.

linfbsd
() автор топика
Ответ на: комментарий от voidmaster

А вообще, для тестирования в разных ОС лучше использовать виртуализацию. Тот же виртуалбокс нормально справляется со всеми перечисленными ОС.

Нет, нужны именно реальные дистрибутивы никаких виртуализаций.

linfbsd
() автор топика

Поставить всё в виртуалбокс и не мучаться.

X10Dead ★★★★★
()
Ответ на: комментарий от linfbsd

Да, grub умеет грузить все ОС. Ставь его в MBR.

Только /boot не нужно выносить на отдельный раздел - это было актуально на старых компах, сейчас это не нужно. Если уж выносить - так это /var (упор на скорость) и /home с /mnt/data (упор на надежность и отделить от корня); но это все ньюансы, притом не всегда нужные. swap - тоже на отдельный раздел, это классика.

Вариантов много. Моя рекомендация (в нотации Линукс):
/dev/sda1 - Windows C:
/dev/sda2 - extended
/dev/sda5 - swap for Linux and FreeBSD (только гибернейтиться не нужно ;) )
/dev/sda6 - Linux
/dev/sda7 - FreeBSD
/dev/sda8 - Data (ntfs) = Windows D:

P. S. Честно, не знаю как с поддержкой ntfs во FreeBSD, но думаю, что как минимум read-only должна быть.

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 2)
Ответ на: комментарий от linfbsd

Т.е. если создать один основно раздел /boot и при установке всех ОС Linux указывать именно этот раздел, то все они будут утановлены правильно и будут грузиться, да?

Когда экспериментировал с разными дистрибутивами делал так, и грузилось нормально.

А почему вы предлагете использовать отдельный раздел для FreeBSD
Или же Linux и FreeBSD не совместиы в плане загрузки

У FreeBSD собственный загрузчик, его можно прописать в загрузочный сектор ее раздела (что-то вроде /dev/ad0p<цифра>) и передавать ему управление из граба. Насчет необходимости первичного раздела для фряхи — не знаю, обязательно ли это, не пробовал ставить ее на логический раздел.

voidmaster
()
Ответ на: комментарий от Kroz

Про swap, home и другие отдельные разделы я знаю. Спасибо за рекомендацию. Они то могут быть на Extended разделаз безо всяких проблем и в любом кол-ве.

Повторюсь. Если не использовать отдельнй boot раздел для всех, то у нас есть всего 3 основных для MBR диска(4 будет Extended). Поэтому это уже ограничение.

linfbsd
() автор топика
Ответ на: комментарий от voidmaster

Когда экспериментировал с разными дистрибутивами делал так, и грузилось нормально.

Отлично, надеюсь и у меня всё получится тогда/

У FreeBSD собственный загрузчик, его можно прописать в загрузочный сектор ее раздела (что-то вроде /dev/ad0p<цифра>) и передавать ему управление из граба. Насчет необходимости первичного раздела для фряхи — не знаю, обязательно ли это, не пробовал ставить ее на логический раздел.

Тогда так, займу только два основных под boot для всех linux и отдельный для FreeBsd. Правильно я понимаю, если не делать отдельный Boot то загрузчик и /boot будут на корневом разделе?

p/s/ что-то у меня уведомления об ответах на почту не приходят...

linfbsd
() автор топика
Ответ на: комментарий от linfbsd

Что-то я не помню чтобы было ограничение, что Линукс нельзя ставить на extended. Винду - может быть.

Да даже и так - все сходится: 3 системы на primary, а swap и данные - на extended. Все, проблема решена?

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от linfbsd

Правильно я понимаю, если не делать отдельный Boot то загрузчик и /boot будут на корневом разделе?

Да. У меня сейчас так.

Для Линукс со всеми потрохами тебе достаточно одного корневого раздела и одного swap. Притом swap можно и в файле на каком-то разделе сделать, если очень захотеть.

Kroz ★★★★★
()

Можно ли для всех 3-х ОС использовать один раздел boot

Нет.

Можно ли на один boot раздел поставить GRUB и LILO одновременно или они затрут друг друга?

Загрузчик ставится не в boot, а на жесткий диск или в раздел. А в boot просто ядро лежит.

bsdfun ★★★★★
()
Ответ на: комментарий от Kroz

3 системы на primary, а swap и данные - на extended. Все, проблема решена?

Насколько я понял, ТС хочет 5 систем: 3 дистра линукса, винду и фряху. И того 5 разделов.

voidmaster
()
Ответ на: комментарий от linfbsd

Правильно я понимаю, если не делать отдельный Boot то загрузчик и /boot будут на корневом разделе?

Немного непонятно, что ты имеешь ввиду под Boot и /boot.
/boot — это каталог в корне; там лежит ядро, иногда с initrd / конфигом граба / конфигом ядра / доп. модулями.
Загрузчик — это код, который должен передать управление ядру. Он может (и должен) быть в МBR, а может (но не должен) — в загрузочном секторе раздела.
У FreeBSD и винды есть свой персональный загрузчик, который надо ставить в сектор их раздела. Винда не спрашивает, куда ты хочешь ставить загрузчик, и затирает MBR, поэтому её надо ставить первой и на primary раздел. Потом лучше ставить фряху. Я бы ей тоже выделил primary.
А вот что с линуксами пока не знаю. Склоняюсь к одному primary разделу персонально для GRUB (который и будет в MBR) и инструментов бэкапа / восстановления и extended — под 3 корня для линуксов и общий (линуксовый) своп.

voidmaster
()
Ответ на: комментарий от bsdfun

Можно ли для всех 3-х ОС использовать один раздел boot

Нет.

Почему вроде все 3 могут GRUB для загрузки использовать и вроде как voidmaster подтверждает что можно, а FreeBSD я уже решил на отдельный основной поставить. Можете подробнее объяснить почему не получится, а то я уже сейчас вот буду пробовать ставить?

linfbsd
() автор топика
Ответ на: комментарий от voidmaster

Под загрузчиком как раз и имел ввиду код ставящийся в первые сектора раздела, а /boot да это каталог в корне, но ведь для него можно и отдельный раздел сделать, что собственно и собираюсь сделать для всех Linux.

voidmaster, почему bsdfun говорит «нет» то? Чьё мнение верное твоё или его? )))

linfbsd
() автор топика
Ответ на: комментарий от voidmaster

Ещё маленькое уточнение, когда буду ставить Linuх'ы GRUB надо будет каждый раз устанавливать в /boot раздел или же установщик сам определит уе наличие там установщика и просто добавит загрузку новой системы?

А то если устанавливать каждый раз заново GRUB на /boot раздел не будет ли он затирать предыдущую установку?

linfbsd
() автор топика
Ответ на: комментарий от linfbsd

Под загрузчиком как раз и имел ввиду код ставящийся в первые сектора раздела, а /boot да это каталог в корне, но ведь для него можно и отдельный раздел сделать, что собственно и собираюсь сделать для всех Linux.

Общий раздел /boot для всех линуксов не получится, тут bsdfun прав. Ну разве что «плясать с бубном», и то не факт что поможет.

А то если устанавливать каждый раз заново GRUB на /boot раздел не будет ли он затирать предыдущую установку?

Вот тут не знаю, думаю зависит от дистрибутива, делать так в любом случае не стоит.

Тут уже я сам начал путаться, и ошибся в описании схемы :-/
Попробую примерно изобразить то, что я имел ввиду:

/dev/sda  — Загрузчик GRUB (MBR)
/dev/sda1 — Windows с NTLoader'ом в первом секторе
/dev/sda2 — FreeBSD с BSDLoader'ом в первом секторе
/dev/sda3 — Раздел /boot для Linux0 с основным конфигом граба
               (который грузится первым)
/dev/sda4 — Заголовок extended раздела
/dev/sda5 — Корневой раздел для Linux0
/dev/sda6 — Корневой раздел (включая 'свой' /boot) для Linux1
/dev/sda7 — Корневой раздел (включая 'свой' /boot) для Linux2
/dev/sda8 — Общий линуксовый своп.
Как-то так.

voidmaster
()
Ответ на: комментарий от voidmaster

C 7 емнип нет. Использовать mbr в этом случае трудно и костыльно.

Deleted
()
Ответ на: комментарий от voidmaster

Да и не будет ли проблем с виндой при использовании GPT?

В том то и дело, что есть ряд ограничений в частности загрузка c GPT диска есть только для 64-битных ОСначиная с Висты и 2088 сервера. Поэтому только MBR.

linfbsd
() автор топика
Ответ на: комментарий от voidmaster

Общий раздел /boot для всех линуксов не получится, тут bsdfun прав. Ну разве что «плясать с бубном», и то не факт что поможет.

а ранее писали:

Когда экспериментировал с разными дистрибутивами делал так, и грузилось нормально.

Ну что может мне кто-то ясно сказать получится для всез 3-х ОС использовать один раздел /boot или нет? И был бы благодарен если кто-нибудь нарисовал в общих чертах последовательность действий(пусть даже вручную что-то там делать) если всё-таки такое возможно.

linfbsd
() автор топика
Ответ на: комментарий от linfbsd

Если ты имеешь ввиду что все 3 ОС загружать одним загрузчиком - получится.

bsdfun ★★★★★
()

Я прошу прощения, что не совсем по делу, но гумозно использовать один HDD даже для двух осей. Удобнее, практичнее, умнее держать каждую ось на отдельном винте.

nihil ★★★★★
()
Ответ на: комментарий от nihil

Умнее, удобнее, практичнее держать зоопарк осей на виртуалках. Топикстартер упоролся наглухо.

anonymous
()
Ответ на: комментарий от linfbsd

Общий раздел /boot для всех линуксов не получится, тут bsdfun прав. Ну разве что «плясать с бубном», и то не факт что поможет.

а ранее писали:

Когда экспериментировал с разными дистрибутивами делал так, и грузилось нормально.

Тут я напутал, моя вина. Впрочем, с твоей же подачи :-)
Давай по порядку:

для всез 3-х ОС

Так сколько все-таки ОС? Я насчитал 5 (3 линукса + винда + фряха).
Для них всех можно использовать один загрузчик, но нельзя один раздел /boot.
Примерную схему разбивки диска я привел выше. Диск можно разбить, загрузившись с любого liveCD, где есть gparted.
Потом ставишь винду в первичный раздел, — начинать лучше с нее, тогда потом не будет проблем с восстановлением MBR, который винда перезаписывает. Затем — фряху с установкой загрузчика в ее раздел. Затем 2 линукса на sda6 и sda7 с общим свопом в sda8, у каждого из них будет свой каталог /boot в корне. Последним ставишь линукс с корнем на sda5 и /boot на sda3. Перед записью загрузчика, установщик последнего дистра должен собрать информацию о всех установленных ОС (по крайней мере линуксы он определит) и прописать в конфиг граба. Фряху и винду, в случае чего, можно будет прописать руками через chainloader.

voidmaster
()
Ответ на: комментарий от nihil

Странные тут какие-то задачи, что виртуализация не подходит, и приходится изгаляться над диском и, впоследствии, тратить больше половины рабочего времени на перезагрузку между системами :-)

voidmaster
()
Ответ на: комментарий от voidmaster

(Asus) - F8 ой, МОЯ ЧЕТЫРЁХЛЕТНЯЯ дочка с такой страшной потерей времени перезагружается между леголстарварс и червями, что ужас времени проходит - секунд 40.

nihil ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.