Freebsd с флешки windows

Freebsd с флешки windows

Очень Важно: Если Вы не владеете теорией и практикой по работе с MBR, GPT, предварительно, сделайте как минимум копию таблицы разделов, и как максимум, копию диска.
Особено, это касается владельцев ноутбуков с технологией автоматического восстановления, в дополнение к верхнему, сделайте отдельно копию резервной партиции, MBR и копию таблицы разделов с указанием секторов.

Коротко о MBR.

MBR — Master Boot Record, это специальная запись в начале диска. Она содержит код загрузчика, таблицу разделов и сигнатуру, все это данные, необходимые для последующей загрузки OS.

Для MBR нет стандарта, но традиционно считается, таблица разделов MBR может содержать описание только четырех основных разделов диска.

Поскольку, основная таблица разделов MBR может содержать не более 4 первичных разделов, поэтому был изобретён Расширенный раздел (англ. extended partition).
Это первичный раздел, который не содержит собственной файловой системы, а содержит другие логические разделы, позволяя увеличивать количество разделов на диске.

  • не более 4’ех первичных разделов
  • использование Extended Partition
  • разметка дисков не более 2TB из-за архитектурй и 32’bit’ной адресации
  • небезопасная — отсутствие копии таблицы разделов

Коротко о GPT (GUID Partition Table).

GPT — GUID Partition Table — новый стандарт размещения таблиц разделов на жестком диске.

GPT является частью расширенного стандарта EFI, предложенного компанией Intel.
EFI, впоследствии стандарт UEFI, используется для замены BIOS, используемого всеми PC-совместимыми компьютерами.

  • — современная система адресации блоков LBA
  • — наличие альтернативной копии (в конце диска), безопасная
  • — поддержка дисков и массивов более 2TB
  • — возможность создания до 128’ми разделов (партиций)
  • — поддержка MBR

Коротко о загрузке FreeBSD.

В данной заметке будет рассказано как установить Операционные системы Windows 7,8,10 и FreeBSD на один жесткий диск размером не более 2TB, используя Boot Manager от FreeBSD настроить DualBoot установленных систем.

Прежде чем приступить к практической реализации вопроса, необходимо рассмотреть возможности установки и загрузки ОС FreeBSD и выбрать наиболее простой метод размещения двух систем на диске.

  • Extended Partition (см.выше)
  • загрузку с Extended Partition
  • загрузку из UEFI BIOS в Secure Level режиме
  • Boot Manager для загрузки с разных партиций GPT

Коротко о загрузке Windows 7,8,10.

В сравнении с версией ОС Windows XP, в указанных версиях ОС Windows, загрузчик полностью изменился.

При использовании схемы разметки диска MBR, по умолчанию в укзанных ОС Windows создается скрытый раздел:

  • — размером 100MB в Windows 7
  • — размером 350MB в Windows 8 и 10

для установки загрузчика.

Операционная система Windows поддерживает:

  • — MBR
  • — GPT только из UEFI BIOS (по стандарту Microsoft)
  • — загрузку с MBR из BIOS
  • — загрузку с GPT из UEFI BIOS

Выбор MBR схемы разметки диска для установки ОС.

Исходя из вышеизложенного, чтобы установить на один диск Windows 7,8 и FreeBSD и настроить DualBoot — самым простым способом, является использование MBR и boot manager от FreeBSD — boot0cfg.

Далее будет показано, как используя новый установщик FreeBSD, начиная с FreeBSD 9.3-RELEASE, разметить диск в MBR, установить и настроить Boot Manager.

Можно использовать сторонний Boot Manager, например Grub2. Grub2 — великолепный boot manager, который можно использовать для загрузки нескольких разных систем установленных на диск: FreeBSD, Linux, Windows. Но это, тема другой статьи.

Вариант 1. Установка FreeBSD, затем Windows 7/8/10 на MBR.

Для установки FreeBSD и Windows, в обычном BIOS настраиваем загрузку с CD/DVD или USB флешки.
В случае UEFI BIOS, переводим UEFI BIOS в режим Legacy.

Читайте также:  Компьютер поддерживающий mac os

1.1 Установка FreeBSD

Запускаем установку FreeBSD с CD/DVD или USB-Live, и доходим до разметки диска:

Выбираем режим Manual — ручная разметка.

Выбираем наш диск, куда будут установлены ОС FreeBSD и Windows 7/8/10:

Выбираем создать — «Create»:

Получаем картинку следующего вида:

Выбираем в меню «MBR — DOS Partition»:

Создаем первый раздел (партрицию MBR) под FreeBSD:

  • Type: freebsd
  • Size: 8GB
  • Mountpoint:

По-скольку, создаем разделы MBR или слайсы (slices) в терминах FreeBSD, Mountpoint не задается.

В результате, получим следующее:

где, ada0 — нулевой (первый) диск в компьютере
s1 — первый раздел (слайс в терминах xBSD) или партиция MBR (первая из 4’ех)
ada0s1 — первая партиция MBR под FreeBSD, размером 8GB

Теперь, можно создавать партиции самой FreeBSD, курсор должен быть наведен на ada0s1
затем, «Create»:

партиции FreeBSD могут быть двух типов:

  • Type: freebsd-ufs (партиция файловой системы)
  • Type: freebsd-swap (партиция подкачки)

Важно: ниже показано как убрать ufs-журналирование для корневой FS,
пока с ним в FreeBSD есть проблемы, выбираем Options:

Отменяем выбор SUJ:

подтвеждаем изменение опций: OK
и еще раз подтверждаем создание файловой системы: OK

Вот так будет выглядеть созданная файловая система для последующей установки на нее ОС FreeBSD:

Важно: Если Вы будете создавать несколько файловых систем FreeBSD и swap из меню установки, обязательно используйте следующий порядок создания:

  1. первым создаете корневую FS: «/» — ada0s1a
  2. затем создаете swap — ada0s1b
  3. далее можете создавать остальные FS

Например, создание корня:

Создание файловых систем FreeBSD завершено -> Finish запустит установку ОС FreeBSD:

1.2 Установка Windows

Перейдем сразу к окну партиций, не забывая что на первую, установлена OS FreeBSD:

  • — Диск 0, Раздел 1 — 8GB Система (FreeBSD)
  • — Незанятое место на диске 0 — 42GB (отдаем под установку Windows)

Выделяем Незанятое место на диске 0 и нажимаем Далее, инициируем установку Windows на Незанятое место

После установки Windows, последняя, установит флаг активности — загрузки на свою партицию.

Загружаемся с CD/DVD или USB-Live FreeBSD и выходим в SHELL, для установки Boot Manager FreeBSD:

В данном режиме, выполняем следующие команды:

— посмотреть разметку диска ada0 — дополнительно, можно посмотреть BSD разметку слайса ada0s1 — смотрим, установлен ли Boot Manager FreeBSD — устанавливаем Boot Manager FreeBSD и перезагружаемся:

Получаем следующую картину:

Где:

  • — Нажимаем F1 для загрузки FreeBSD
  • — Нажимаем F2 для загрузки Windows

Примечание: Чтобы убрать из меню F3, необходимо снова воспользоваться boo0cfg для более тонкой настройки.

Вариант 2. Установка Windows 7/8/10, затем FreeBSD на MBR.

2.1 Установка Windows

Подразумевая что у нас чистый диск, размером 50GB, запускаем установку Windows:

Произведем разметку диска, создадим несколько партиций для логичских дисков Windows, нажимаем «Создать»:

Создаем первый раздел, размером 25GB:

Получаем следуюшую картину, где Windows автоматически создал:

  • Диск 0 Раздел 1: Зарезервировано системой 100MB ( Boot Loader Windows)
  • Диск 0 Раздел 2: 24.3GB ( Основной раздел — логический диск C:)
  • Незанятое место на диске 0: 25.6GB

Создаем еще один раздел MBR, для Windows логического диска D: размером 10GB

Получаем следующую разметку:

  • — Диск 0, Раздел 1 — Зарезервировано системой 100MB
  • — Диск 0, Раздел 2 — 24.3GB Основной
  • — Диск 0, Раздел 3 — 9.8GB Основной
  • — Незанятое место на диске 0: 15.8GB (Раздел 4 — зарезервирован под FreeBSD)
Читайте также:  Windows удаленное подключение команда

Выбираем Диск 0, Раздел 2 — 24.3GB Основной для установки на него Windows и нажимаем Далее:

Производим установку Windows, по завершению которой, запускаем установку FreeBSD с CD/DVD или Live-USB.

2.2 Установка FreeBSD

Выбираем Create для создания слайса FreeBSD:

Создаем 4’ый слайс MBR под FreeBSD размером 16GB:

Получаем последний 4’ый раздел MBR с FreeBSD, в котором создадим партиции FreeBSD, используя Create:

Создаем партицию FreeBSD 2GB для корневой FS (должна быть первой: ada0s4a):

В опциях, отключаем UFS журналирование SUJ

Вид после создания корневой FS:

Создаем партицию под swap:

Вид после создания SWAP:

Создаем партицию под FS /usr:

Вид после создания /usr:

Создаем партицию под FS /var:

Вид после создания /var:

Создаем последнюю партицию под FS /home:

Вид после создания /home:

Для установки FreeBSD Finish, по завершению установки, выходим в Shell
и производим установку Boot Manager FreeBSD:

Ранее уже описывались используемые команды, по завершению, производим Reboot и получаем
меню Boot Manager FreeBSD.

Важно: в данной статье не рассматривалось выравнивание на границе партиций для сектора диска размером 4K.

Итог: Выше были рассмотрены два варианта установки систем FreeBSD и Windows на разделы MBR и настройка
Boot Manager FreeBSD для DualBoot.

Использование загрузчика GRUB2 для загрузки Windows 7/8/10 и FreeBSD.

Ниже будет показана установка и настройка загрузчика GRUB. Загрузчик grub2 будет установлен из ОС FreeBSD, в общем случае порядок установки ОС Windows и FreeBSD не важен.

Для установки загрузчика grub2, необходимо загрузиться в ОС FreeBSD:

  • любым из способов с использованием BootManager OS FreeBSD описанным ранее;
  • либо первой системой установить ОС Windows, а затем FreeBSD и из нее произвести установку и настройку grub2

В примере ниже, будет показана установка и настройка загрузчика grub2 из ОС FreeBSD:

Пусть мы загрузились в ОС FreeBSD, смотрим таблицу разделов:

Можно задать модули по-умолчанию в grub-install:

В документации grub2 не рекомендуют создавать файл конфигурации вручную, а рекомендуют выполнить: Однако во FreeBSD c генератором grub-mkconfig все время только проблемы, поэтому, советую создавать
/boot/grub/grub.cfg именно руками и не тратить время на отладку и правку grub-mkconfig.

Прежде чем приступить к написанию меню загрузки /boot/grub/grub.cfg, вспомним конфигурацию нашей MBR таблицы разделов: Мы создали на диске таблицу MBR, состоящую из трех основных разделов:

  • первый раздел — ntfs 350MB, это скрытый раздел, загрузчик Windows 8
  • второй раздел — ntfs 39GB, это собственно, Windows 8 — логический диск C:
  • третий раздел — слайс FreeBSD, который в свою очередь разбит по схеме BSD на две партиции: ada0s3a — корень и ada0s3b — swap

В GRUB2, диски нумеруются с «0», а разделы с «1», с учетом этого создадим меню загрузки:

Получается следующая конфигурация:

Прежде чем комментировать конфигурацию, покажем общий шаблон для одного входа меню:

В соответствии с документацией GRUB2 может:

  • загружать напрямую (directly) системы поддерживающие Multiboot: Linux, FreeBSD, NetBSD и OpenBSD
  • загружать по цепочке (chain loading), как системы не поддерживающие спецификацию Grub Multiboot: DOS и Windows, так и поддерживающие

Я бы выделил еще один вариант загрузка собственного Loader‘а Операционной системы, который самостоятельно загружает родную ОС, он относится к спецификации Grub Multiboot, в отличие от прямой загрузки Kernel, ядра ОС, с параметрами.

Вернемся к меню /boot/grub/grub.cfg, для Windows 7/8/10:

В верхнем примере, для загрузки Вашего варианта расположения Windows, необходимо изменить, в соответствии с Вашими условиями:

  • menuentry «Здесь Ваша строка меню»
  • set root=(диск,номер скрытой партиции Windows 7/8/10)

где:

  • «диск» может быть: hd0 — первый, hd1 — второй и так далее
  • «номер скрытой партиции»: 1 — или msdos1 и так далее, 4 — msdos4 из условия трационной MBR, состоящей из 4’ех основных партиций
Читайте также:  Как сделать жесткий диск загрузочным mac os

меню для FreeBSD:

Примечание: Самый простой и правильный путь, использовать ручную разметку дисков и настройку менеджеров загрузки из или , командами указанными в данном руководстве.

Возможные проблемы.

1. Осталась альтернативная копия GPT:
— по какой-то причине, не удалилась альтернативная копия GPT, если Вы использовали GPT или меню Auto при установке FreeBSD.

решение: удалить схему GPT или альтернаивную копию (каждая размером 34 LBA сектора):

  • — полностью удалить разметку GPT (основную и копию):
  • — удалить основную таблицу GPT используя команду dd: — удалить альтернативную таблицу GPT в конце диска командой dd:

определяем количество секторов на диске и вычитаем 34: пропускаем вычисленное количество секторов (задаем в seek=) и обнуляем последние 34:

2. Если по какой-то причине слетел Boot Manager:

  • — загрузитесь с LiveCD/USB и исправьте ошибку:
    • — командой «gpart show ada0» — посмотреть разметку;
    • — командой «fdisk -p ada0» — посмотреть слайсы и флаг активности, должен быть только один, исправить если больше;
    • — командами «gpart show ada0sX» или «bsdlabel ada0sX» — посмотреть партиции FreeBSD и исправить при необходимости.
  • — в grub-rescue выполнить (после чего исправить boot LiveCD/USB):

3. Загрузка при использовании двух дисков:

  • — выделить первый диск под Windows, Linux с разметкой MBR
  • — на второй установить FreeBSD с разметкой GPT.

Для загрузки FreeBSD/GPT со второго диска, необходимо установить Boot Manager от FreeBSD или GRUB2 на ПЕРВЫЙ ДИСК:

    настройка boot0cfg: F5 — загрузка со второго диска.

  • задание маски -m в boot0cfg
    С помошью битовой маски можно задать используемые для загрузки слайсы. По умолчанию используется маска 0xf — загрузка со всех четырех слайсов.
    • 0001 / 0x1 — для загрузки доступен только 1’ый слайс
    • 0010 / 0x2 — для загрузки доступен только 2’ой слайс
    • 0011 / 0x3 — для загрузки доступны 1’ый и 2’ой слайс
    • 0100 / 0x4 — для загрузки доступен только 3’ий слайс
    • 0101 / 0x5 — для загрузки доступны 1’ый и 3’ий слайс
    • 0110 / 0x6 — для загрузки доступны 2’ой и 3’ий слайс
    • 0111 / 0x7 — для загрузки доступны 1’ый, 2’ой и 3’ий слайс
    • 1000 / 0x8 — для загрузки доступен только 4’ый слайс
    • и так далее
    • 1111 / 0xf — по умолчанию, загрузка со всех 4’ех слайсов
  • настройка GRUB2, добавить в /boot/grub/grub.cfg для загрузки со второго диска:
  • 4. Если хотите использовать только GPT разметку, BIOS должен быть UEFI для Windows и boot manager GRUB2 с поддержкой EFI.

    Аббревиатура и сокращения.

    • BIOS — Basic Input Output System
    • EFI — Extensible Firmware Interface
    • UEFI — Unified Extensible Firmware Interface
    • Boot Loader — загрузчик Операционной системы
    • Boot Manager — специализированный загрузчик разных Операционных систем
    • ОС или OS — Операционная система или Operating System
    • MBR — Master Boot Record
    • GPT — GUID Partiation Table
    • EBR — Extended Partition
    • LBA — Logical Block Addressing, механизм адресации и доступа к блоку данных диска
    • Slice — тоже самое что и партиция(в стиле Microsoft) MBR
    • Slice — состоит из партиций FreeBSD
    • FS — сокращение Filesystem
    • UFS — тип файловой системы FreeBSD
    • SU — Soft update, одно из достижений файловой системы UFS2 от FreeBSD
    • SUJ — Soft update journaling, журналирование файловой системы UFS2 от FreeBSD
    • root-fs или root fs — корневая файловая система, обозначается как «/»
    • swap — область подкачки
    • mountpoint — точка монтирования файловой системы
    • Shell — командный интерпретатор

    Примечание: Если у вас возникли вопросы, желание расширить, уточнить, исправить, дополнить, скачать или использовать данную заметку — пожалуйста, я буду только рад если кому-то она оказалась полезной.

    Оцените статью