Форум русскоязычного сообщества Ubuntu


За новостями русскоязычного сообщества и Ubuntu в целом можно следить на нашей страничке в Google+

Автор Тема: HOW-TO: использование Ubuntu, FreeBSD (и Windows) на одном жестком диске + GRUB2  (Прочитано 16450 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
мирное сожительство Ubuntu, Windows и FreeBSD с GRUB2
(совет от тов. BallRocK по результатам долгих совместных ковыряний)
здесь мы рассмотрим, как правильно установить на один жесткий диск Windows, FreeBSD и Ubuntu, а также наладить их загрузку через grub2.
первое и главное правило: не создавайте BSD-разделы через установщик FreeBSD!
вместо этого разделы мы будем создавать через fdisk. загружаемся с liveCD Ubuntu 9.10 и запускаем fdisk для жесткого диска, на который будет производится установка (узнать его можно с помощью "sudo fdisk -l", в нашем примере это /dev/sda)
sudo fdisk /dev/sdaСоздаем разделы. Если разделы уже есть, советую забэкапиться, а потом удалять их (сделаеть это можно командой d, после чего он спросит номер раздела). Приведенный ниже пример илюстрирует создание разделов для 3-х операционных систем: windows 7, FreeBSD 8.0, Ubuntu 9.10. При этом на FreeBSD планируется использоваться файловую систему ZFS
в строке
Команда (m для справки):вводим "n" для создания нового раздела
программа спросит, какой тип раздела использовать - первичный (primary) или расширенный (extended). выбираем первичный, введя "p"
(сейчас мы создаем раздел для Windows. Его не обязательно делать первым, если Windows лицензионный. Главное чтобы он был primary)
fdisk запросит номер раздела - выбираем "1"
Номер раздела (1-4): 1в следующем пункте оставляем значение по умолчанию, просто нажав Enter:
Первый цилиндр (1-24321, по умолчанию 1): 1далее видим строку вида
Last цилиндр, +цилиндры or +size{K,M,G} (1-24321, по умолчанию 24321):нас просят задать объем создаваемого раздела. для создания раздела в 60 гигабайт укажем "+60G"

теперь нам нужно указать тип свежесозданного раздела. (указав тип, мы не создаем файловую систему, и при установке ОС раздел нужно будет отформатировать, но тип нужно обязательно указывать для того, чтобы при установке система правильно опознала раздел, а не предложила заново разметить диск!)
для задания типа раздела используется команда "t"
Команда (m для справки): tвыберите раздел "1". далее программа запросит тип раздела (тип задается шестнадцатеричным кодом, список кодов можно посмотреть, введя "L"). для NTFS-раздела укажите "7"
Шестнадцатеричный код (введите L для получения списка кодов): 7программа выдаст сообщение об успешном завершении операции
Системный тип раздела 1 изменен на 7 (HPFS/NTFS)
теперь аналогичным образом создадим раздел для FreeBSD. здесь создадим так называемый "слайс", разделы внутри него будут созданы уже при установке FreeBSD. для создания нового раздела используем команду "n". в качестве типа раздела выбираем primary, введя "p" (для установки FreeBSD раздел обязательно должен являться первичным!). в качестве номера раздела указываем "2". увидев следующий запрос:
Первый цилиндр (7835-24321, по умолчанию 7835):просто нажимаем Enter. fdisk создаст новый раздел сразу после предыдущего. далее укажем размер создаваемого раздела (в примере ниже - 4608 мегабайт)
Last цилиндр, +цилиндры or +size{K,M,G} (7835-24321, по умолчанию 24321): +4608M(первый слайс будет содержать всего 2 партиции: / равный 512m и swap 4096m так как у меня 2 гигабайта оперативной памяти. Создается всего две партиции, т.к. для ZFS нужно выделять полностью слайс, иначе воспользоваться ей не получится)

теперь зададим тип свежесозданного раздела, для чего введем команду "t". выберем 2-й раздел, указав номер "2". в качестве типа раздела для BSD-слайса нужно указать "a5".
Шестнадцатеричный код (введите L для получения списка кодов): a5если все успешно, видим сообщение
Системный тип раздела 2 изменен на a5 (FreeBSD)
по аналогии с вышеописанным создадим BSD-слайс для ZFS. создадим новый раздел командой "n". выберем тип primary ("p") и номер раздела "3". номер первого цилиндра оставим по умолчанию, нажав Enter. зададим размер раздела (в нашем случае 55 гигабайт):
Last цилиндр, +цилиндры or +size{K,M,G} (8423-24321, по умолчанию 24321): +55Gустановим тип раздела. выполнив команду "t", выберем третий раздел. в качестве типа раздела снова укажем "a5"
теперь все готово, можно применить изменения и выйти. для этого вводим "w".
для Ubuntu разделы можно сейчас не размечать. при установке она с этой задачей справится, придется только ставить в расширеный раздел ее.
в первую очередь нужно устанавливать Windows, а дальше разницы нет.
при установке FreeBSD не изменяйте слайсы, а только создайте нужные разделы внутри них! также не устанавливайте BSD-загрузчик.
после установки всех систем остается добавить пункт загрузки FreeBSD в меню grub2. для этого добавим в "/etc/grub.d/40_custom" следующую запись:
menuentry "FreeBSD 8.0" {
    set root=(hd0,1,a)
    chainloader +1
}
вместо "(hd0,1,a)" укажите ваш раздел, на котором установлена FreeBSD. кроме того, после строки с "set root" рекомендуется добавить еще такую строку:
search -u uuid_раздела -n -sгде "uuid_раздела" - UUID раздела с FreeBSD
убедитесь, что ваш "40_custom" заканчивается пустой строкой, сохраните файл и выполните
sudo update-grubтеперь в меню grub2 будут все три установленные системы.
подробнее о grub2 читайте здесь
« Последнее редактирование: 15 Декабрь 2009, 23:37:18 от dimas000 »
лучше на "ты"

Оффлайн 007tar

  • Новичок
  • *
  • Сообщений: 32
  • Ubuntu 10.10 + Dell XPS M1330
    • Просмотр профиля
Я так понял, что эта инструкция на тот случай, если из дистирибутива Ubuntu вдруг исчезнет програмка GParted?

Оффлайн dimas000

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
ну это уж вопрос вкуса. и дело тут не в Ъ и не-Ъ, а просто в том, что знакомство с фдиском никогда лишним не будет.
+ описанный способ опробован конкретным человеком на конкретном примере. а как создаст гепартед, и как его потом распознает фря - еще вопрос
лучше на "ты"

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Цитировать
Я так понял, что эта инструкция на тот случай, если из дистирибутива Ubuntu вдруг исчезнет програмка GParted?
Поздно я про нее услышал) Можно и ей делать, если она умеет метки разделам присваивать.

Оффлайн blackstream

  • Новичок
  • *
  • Сообщений: 41
  • Ubuntu 10.10 Maverick
    • Просмотр профиля
От себя хотел бы добавить что при добавлении указаной записи в /etc/grub.d/40_custom у меня ничего не грузилось (правда у меня FreeBSD 8.1).
Провев некоторое время в интенсивном гуглинге, у меня заработала загрузка следующей записью
menuentry "FreeBSD 8.1" {
        insmod ufs2
        set root=(hd0,1)
        chainloader +1
}
соответсвеноо фря у меня установлена в первый раздел (hd0,1,a)
может кому данная информация пригодиться.

Оффлайн tstalker

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
первое и главное правило: не создавайте BSD-разделы через установщик FreeBSD!
Первое и главное правило: не читайте за обедом советских газет не слушайте идиотских советов некомпетентных людей!  >:(
Спокойно создавайте BSD-разделы через установщик FreeBSD.
Спокойно размечайте BSD-разделы в родном для FreeBSD формате UFS2 через установщик FreeBSD.
Спокойно устанавливайте FreeBSD на созданные BSD-разделы через установщик FreeBSD.
Установщик FreeBSD прекрасно справится с этой работой, ведь он для того и предназначен - всегда ваш, К.О. :coolsmiley:
Мне прекрасно удалось установить на 1 винчестере Windows 7, FreeBSD 8.1, Ubuntu 10.10.
Причём каждый установщик каждой системы сам нарезал дисковое пространство в родном формате для своей системы - ведь это так естественно и очевидно - всегда ваш, К.О. :coolsmiley:
Вот моё Howto:

1. Планирование разметки диска.
1.1. Поскольку главным загрузчиком в MBR был выбран Grub, Ubuntu 10.10 буду ставить последней: пусть инсталлятор сам поставит Grub и настроит его.
1.2. Поскольку свойство Windows-систем убирать сторонние загрузчики общеизвестно, Windows 7 буду ставить первой.
1.3. Итак, выбрана следующая последовательность расположения систем на винчестере:
1.3.1. Windows 7.
1.3.2. FreeBSD 8.1.
1.3.3. Ubuntu 10.10.

2. Установка Windows 7 - тривиальна.
2.1. Нарезаю раздел 1 в формате NTFS.
2.2. Ставлю на данный раздел.
2.3. Тест на работоспособность системы - passed.

3. Установка FreeBSD 8.1.
3.1. Нарезаю слайс 2 в формате UFS2.
3.2. MBR не трогаю, загрузчик не ставлю (см.п.1.1).
3.3. Внутреннее разбиение слайса 2 опускаю: каждый решает сам под свои цели и задачи.
3.4. Ставлю на данный слайс.
3.5. Инсталлятор сам сделал данный слайс активным.
3.6. После перезагрузки стартует сразу FreeBSD, поскольку загрузчик установлен не был.
3.7. Тест на работоспособность системы - passed.

4. Установка Ubuntu 10.10.
4.1. Нарезаю extended partition в формате Ext4.
4.2. Внутреннее разбиение дискового пространства Ubuntu опускаю: каждый решает сам под свои цели и задачи.
4.3. Ставлю на extended partition.
4.4. Инсталлятор сам поставил и сконфигурил Grub - Win!
4.5. Тест на работоспособность системы - passed.

5. Перезагрузка. Grub выдал список доступных систем для загрузки: Windows есть, Ubuntu есть, FreeBSD нет - Fail!

6. Конфигурация Grub.
6.1. Гружу Ubuntu.
6.2. Логинюсь под root
6.3. Правлю скрипт /etc/grub.d/40.custom:
menuentry "FreeBSD" {
set root=(hd0,2)
chainloader /boot/boot
boot
}
Note: blackstream советует добавить insmod ufs2, но у меня всё работает и без этого.
6.4. Не забываем про пустую последнюю строку в скрипте. ;)
6.5. update-grub
6.6. reboot
6.7. Grub выдал список доступных систем для загрузки: Windows есть, Ubuntu есть, FreeBSD есть - Win!

7. Загружаю FreeBSD: ядро загрузилось, но файловая система не смонтировалась - Fail!

8. Конфигурация FreeBSD.
8.1. Загружаюсь с LiveCD FreeBSD.
8.2. mount /dev/ad1s2a /mnt - Fail!
8.3. Изучаю доступные диски в системе: /dev/ad1 исчез (а раньше был!), но зато появился /dev/ad21.
Note: Возможно, это связано с тем, что в BIOS режим работы контроллера ESATA был переключен с Legacy на Native
8.4. mount /dev/ad21s2a /mnt
8.5. mount /dev/ad21s2f /mnt/usr
8.6. /mnt/usr/bin/vi /mnt/etc/fstab
8.7. Правлю везде /dev/ad1 на /dev/ad21
8.8. shutdown -r now

9. Загружаю FreeBSD: ядро загрузилось, файловая система смонтировалась - Epic Win!

Все 3 системы работают - я гарантирую это!   :)
Слышишь - я снова живой! Морем дышу у окна. Наперекор победившей зиме нас скоро найдёт весна!

Оффлайн Волощук Сергей

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
мирное сожительство Ubuntu, Windows и FreeBSD с GRUB2
(совет от тов. BallRocK по результатам долгих совместных ковыряний)
здесь мы рассмотрим, как правильно установить на один жесткий диск Windows, FreeBSD и Ubuntu, а также наладить их загрузку через grub2.
первое и главное правило: не создавайте BSD-разделы через установщик FreeBSD!
вместо этого разделы мы будем создавать через fdisk. загружаемся с liveCD Ubuntu 9.10 и запускаем fdisk для жесткого диска, на который будет производится установка (узнать его можно с помощью "sudo fdisk -l", в нашем примере это /dev/sda)
sudo fdisk /dev/sdaСоздаем разделы. Если разделы уже есть, советую забэкапиться, а потом удалять их (сделаеть это можно командой d, после чего он спросит номер раздела). Приведенный ниже пример илюстрирует создание разделов для 3-х операционных систем: windows 7, FreeBSD 8.0, Ubuntu 9.10. При этом на FreeBSD планируется использоваться файловую систему ZFS
в строке
Команда (m для справки):вводим "n" для создания нового раздела
программа спросит, какой тип раздела использовать - первичный (primary) или расширенный (extended). выбираем первичный, введя "p"
(сейчас мы создаем раздел для Windows. Его не обязательно делать первым, если Windows лицензионный. Главное чтобы он был primary)
fdisk запросит номер раздела - выбираем "1"
Номер раздела (1-4): 1в следующем пункте оставляем значение по умолчанию, просто нажав Enter:
Первый цилиндр (1-24321, по умолчанию 1): 1далее видим строку вида
Last цилиндр, +цилиндры or +size{K,M,G} (1-24321, по умолчанию 24321):нас просят задать объем создаваемого раздела. для создания раздела в 60 гигабайт укажем "+60G"

теперь нам нужно указать тип свежесозданного раздела. (указав тип, мы не создаем файловую систему, и при установке ОС раздел нужно будет отформатировать, но тип нужно обязательно указывать для того, чтобы при установке система правильно опознала раздел, а не предложила заново разметить диск!)
для задания типа раздела используется команда "t"
Команда (m для справки): tвыберите раздел "1". далее программа запросит тип раздела (тип задается шестнадцатеричным кодом, список кодов можно посмотреть, введя "L"). для NTFS-раздела укажите "7"
Шестнадцатеричный код (введите L для получения списка кодов): 7программа выдаст сообщение об успешном завершении операции
Системный тип раздела 1 изменен на 7 (HPFS/NTFS)
теперь аналогичным образом создадим раздел для FreeBSD. здесь создадим так называемый "слайс", разделы внутри него будут созданы уже при установке FreeBSD. для создания нового раздела используем команду "n". в качестве типа раздела выбираем primary, введя "p" (для установки FreeBSD раздел обязательно должен являться первичным!). в качестве номера раздела указываем "2". увидев следующий запрос:
Первый цилиндр (7835-24321, по умолчанию 7835):просто нажимаем Enter. fdisk создаст новый раздел сразу после предыдущего. далее укажем размер создаваемого раздела (в примере ниже - 4608 мегабайт)
Last цилиндр, +цилиндры or +size{K,M,G} (7835-24321, по умолчанию 24321): +4608M(первый слайс будет содержать всего 2 партиции: / равный 512m и swap 4096m так как у меня 2 гигабайта оперативной памяти. Создается всего две партиции, т.к. для ZFS нужно выделять полностью слайс, иначе воспользоваться ей не получится)

теперь зададим тип свежесозданного раздела, для чего введем команду "t". выберем 2-й раздел, указав номер "2". в качестве типа раздела для BSD-слайса нужно указать "a5".
Шестнадцатеричный код (введите L для получения списка кодов): a5если все успешно, видим сообщение
Системный тип раздела 2 изменен на a5 (FreeBSD)
по аналогии с вышеописанным создадим BSD-слайс для ZFS. создадим новый раздел командой "n". выберем тип primary ("p") и номер раздела "3". номер первого цилиндра оставим по умолчанию, нажав Enter. зададим размер раздела (в нашем случае 55 гигабайт):
Last цилиндр, +цилиндры or +size{K,M,G} (8423-24321, по умолчанию 24321): +55Gустановим тип раздела. выполнив команду "t", выберем третий раздел. в качестве типа раздела снова укажем "a5"
теперь все готово, можно применить изменения и выйти. для этого вводим "w".
для Ubuntu разделы можно сейчас не размечать. при установке она с этой задачей справится, придется только ставить в расширеный раздел ее.
в первую очередь нужно устанавливать Windows, а дальше разницы нет.
при установке FreeBSD не изменяйте слайсы, а только создайте нужные разделы внутри них! также не устанавливайте BSD-загрузчик.
после установки всех систем остается добавить пункт загрузки FreeBSD в меню grub2. для этого добавим в "/etc/grub.d/40_custom" следующую запись:
menuentry "FreeBSD 8.0" {
    set root=(hd0,1,a)
    chainloader +1
}
вместо "(hd0,1,a)" укажите ваш раздел, на котором установлена FreeBSD. кроме того, после строки с "set root" рекомендуется добавить еще такую строку:
search -u uuid_раздела -n -sгде "uuid_раздела" - UUID раздела с FreeBSD
убедитесь, что ваш "40_custom" заканчивается пустой строкой, сохраните файл и выполните
sudo update-grubтеперь в меню grub2 будут все три установленные системы.
подробнее о grub2 читайте здесь

Сделал все, как тут написано, WINDOWS XP как не грузилось так и не грузится!!

Оффлайн tstalker

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Провев некоторое время в интенсивном гуглинге, у меня заработала загрузка следующей записью
menuentry "FreeBSD 8.1" {
        insmod ufs2
        set root=(hd0,1)
        chainloader +1
}
Попробовал по рецепту blackstream:
menuentry "FreeBSD 8.1" {
insmod ufs2
set root=(hd0,2)
chainloader +1
}
Работает!  :)
Слышишь - я снова живой! Морем дышу у окна. Наперекор победившей зиме нас скоро найдёт весна!

Оффлайн BallRocK

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
первое и главное правило: не создавайте BSD-разделы через установщик FreeBSD!
Первое и главное правило: не читайте за обедом советских газет не слушайте идиотских советов некомпетентных людей!  >:(
Спокойно создавайте BSD-разделы через установщик FreeBSD.
Спокойно размечайте BSD-разделы в родном для FreeBSD формате UFS2 через установщик FreeBSD.
Спокойно устанавливайте FreeBSD на созданные BSD-разделы через установщик FreeBSD.
Установщик FreeBSD прекрасно справится с этой работой, ведь он для того и предназначен - всегда ваш, К.О. :coolsmiley:
Мне прекрасно удалось установить на 1 винчестере Windows 7, FreeBSD 8.1, Ubuntu 10.10.
Причём каждый установщик каждой системы сам нарезал дисковое пространство в родном формате для своей системы - ведь это так естественно и очевидно - всегда ваш, К.О. :coolsmiley:

С тех пор возможно где то что-то изменили, но когда это пытался сделать я, grub отказывался загружать все что после разделов, сделаных во FreeBSD, помог только Fdisk в Ubuntu.

Оффлайн Dr_Gradus

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Пробовал ли кто-то ставить FreeBSD рядом с УЖЕ существующей *бунтой?
Ситуация такая:
Есть машинка с xubuntu, сносить/переставлять которую нет желания. На диске есть немного неразмеченного пространства. Задача: поставить туда FreeBSD.
В процессе установки, на неразмеченном месте создается слайс, на нем разделы и т.д. и т.п., Boot Manager выбираю NONE, НО установщик фряхи не желает делать разметку выбранного раздела.
Пробовал создать через gparted, он послал с формулировкой: "Нельзя создавать более 4-х основных разделов". (на диске создан swap, /root, /boot, /home).
Может кто посоветовать: как решить проблему и поставить таки новую фряху рядом со старым пингвином?

 

Страница сгенерирована за 0.065 секунд. Запросов: 24.