На главную страницу На главную страницу Помоги больным детям! Их можно спасти!
 
Справочные материалы ←

Как установить ОС Ульяновск.BSD совместно с ОС Windows на один накопитель (Dual Boot)?

Давным-давно, когда ещё не было виртуальных машин и гипервизоров и о виртуализации никто еще даже не думал, некоторые пользователи уже хотели устанавливать и запускать разные операционные системы на своих машинах. Для этого были придуманы различные boot-менеджеры, которые позволяли при включении компьютера выбрать необходимую операционную систему. Таким образом пользователи могли попеременно работать в разных операционных системах. В наше время, когда виртуализация позволяет одновременно использовать несколько операционных систем на одной машине, иногда всё ещё возникает необходимость в использовании boot-менеджеров.

Рассмотрим ситуацию, когда ОС Ульяновск.BSD необходимо установить совместно с ОС Windows 10 на один накопитель с таблицей разделов в формате GPT на машине с EFI/UEFI загрузчиком. В качестве boot-менеджера будем использовать rEFInd.

Если ОС Windows 10 устанавливается на чистый накопитель, то можно заранее оставить часть свободного пространства для последующей установки ОС Ульяновск.BSD. Если же ОС Windows 10 уже установлена и разделы занимают всё пространство на накопителе, то необходимо освободить часть пространства для последующей установки ОС Ульяновск.BSD. Просматривать и управлять разделами на накопителе можно с использованием оснастки «Управление дисками». Запускать её нужно от имени Администратора:

 

 

Обычно таблица разделов на накопителе с установленной ОС Windows 10 выглядит так (подробнее об этом можно прочитать по ссылке):

 

 

Освободить некоторую часть пространства на накопителе можно сжатием основного раздела:

 

 

При этом сжимать нужно на столько, чтобы освободилось достаточно места для последующей установки ОС Ульяновск.BSD и при этом осталось достаточно места для дальнейшего использования ОС Windows 10. Перед сжатием можно провести дефрагментацию накопителя. После сжатия должно появиться свободное пространство, и таблица разделов должна выглядеть следующим образом:

 

 

Но есть ещё раздел восстановления, который в принципе не мешает, но по сути является бесполезным. Этот раздел можно смело удалять, если имеется диск восстановления, последняя резервная копия образа системы или установочный компакт-диск ОС Windows 10. Обычно с течением времени в основном системном разделе ОС Windows 10 сохраняется всё больше и больше личных файлов и приложений, однако раздел восстановления полезен только для возврата ОС в первоначальное состояние, что не так полезно, как резервное копирование. Обычно раздел восстановления рассматривается как ПОСЛЕДНИЙ выход при возникновении системных проблем, поскольку его использование уничтожит все данные и программы в основном системном разделе, что равносильно переустановке системы с установочного диска. Для удаления раздела восстановления необходимо воспользоваться утилитой diskpart, запущенной от имени Администратора, потому что через оснастку «Управление дисками» раздел восстановления удалить невозможно, так как он защищён от удаления:

 

 

В diskpart необходимо выполнить следующий набор команд (индексы накопителя и раздела могут отличаться в зависимости от количества накопителей в системе и таблицы разделов на накопителе):

list disk
select disk 0
list partition
select partition 4
gpt attributes=0x8000000000000000
delete partition override
exit

 

После успешного выделения свободного пространства можно загрузиться с установочного DVD или USB-накопителя ОС Ульяновск.BSD. В установщике необходимо выбрать пункт меню «Exit (Выход в командную строку)» и выполнить команду:

gpart show

 

Вывод команды показывает, что необходимый нам накопитель имеет имя ada0, индекс последнего раздела на нём 3 и свободное пространство начинается с блока 62834695 (в каждом конкретном случае эти цифры будут разные). Имея эти данные создаём разделы и файловую систему UFS2 для ОС Ульяновск.BSD, под swap-раздел выделим 4Гб (4096М):

gpart add -b 62834695 -t freebsd-boot -l boot -s 512k /dev/ada0
gpart resize -i 4 -a 4k -s 512k /dev/ada0
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 4 /dev/ada0
gpart add -t freebsd-swap -a 4k -l swap -s 4096M /dev/ada0
gpart add -t freebsd-ufs -a 4k -l root /dev/ada0
newfs -U /dev/ada0p6

 

После создания файловой системы можно приступить к распаковке образа ОС Ульяновск.BSD. Архив образа находится на установочном накопителе в каталоге /dist/ulbsd/ (на момент составления этого документа это файл ulbsd-13.1-p0-amd64.img.7z). Необходимо распаковать образ, а затем вручную выполнить некоторые операции, которые автоматически выполняет установщик системы:

mount /dev/ada0p6 /mnt
cd /mnt
7zz x -so /dist/ulbsd/ulbsd-13.1-p0-amd64.img.7z | restore -vrf -
rm -Rf restoresymtable
rm -Rf .snap

chroot /mnt sysrc hostname="ИМЯ_МАШИНЫ"
chroot /mnt sysrc ifconfig_DEFAULT="DHCP"

echo 'admin:::::::/home/admin:/bin/csh:none' | chroot /mnt adduser -f -
echo "ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_admin" | chroot /mnt pw usermod admin -h 0
chroot /mnt pw usermod admin -G wheel,operator,video,webcamd
chroot /mnt pw usermod admin -c 'Администратор' -L 'russian'
cp -f /root/install_face_icon /mnt/home/admin/.face.icon
chroot /mnt chown admin /home/admin/.face.icon

echo "ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_root" | chroot /mnt pw usermod root -h 0

chroot /mnt sysrc -x 'sshd_flags'

chroot /mnt /usr/local/bin/x11vnc -storepasswd ПАРОЛЬ_ДЛЯ_VNC /root/.vnc/passwd

echo "НОМЕР_ЛИЦЕНЗИИ_ВИДА_0123456789-0123456789abcdef0123456789abcdef" > /mnt/usr/local/share/ulbsd/license.key
chmod 644 /mnt/usr/local/share/ulbsd/license.key

cd / && sync && umount -f /mnt

Следует помнить, что если при создании разделов для ОС Ульяновск.BSD были использованы метки отличные от тех, которые указаны в этом документе (boot, swap, root), то перед отмонтированием раздела нужно внести соответствующие изменения в файл /mnt/etc/fstab. Если необходим по умолчанию не русскоязычный, а англоязычный интерфейс, то перед отмонтированием раздела необходимо выполнить следующие команды:

chroot /mnt sysrc sddm_lang="en_US"
chroot /mnt pw usermod admin -c 'Administrator' -L ''
chroot /mnt pw usermod root -c 'Superuser' -L ''

В заключении необходимо установить boot-менеджер rEFInd. Для этого необходимо поместить в каталог /tmp дистрибутив rEFInd. На момент составления этого документа последнюю версию можно скачать по ссылке https://sourceforge.net/projects/refind/files/0.12.0/refind-bin-0.12.0.zip/download. Дистрибутив можно скачать на другой машине, поместить на любой USB-накопитель и переписать, подмонтировав этот USB-накопитель. Также дистрибутив можно скачать сразу по сети, настроив предварительно подключение. Допустим, что в системе присутствует Ethernet-адаптер em0 (имена адаптеров можно узнать, воспользовавшись утилитой ifconfig) и адреса раздаёт DHCP-сервер. Тогда для установки rEFInd достаточно выполнить следующие команды (boot-менеджер rEFInd будем помещать в EFI-раздел, созданный автоматически при установке ОС Windows 10):

dhclient em0
cd /tmp
fetch --no-verify-peer \
  https://sourceforge.net/projects/refind/files/0.12.0/refind-bin-0.12.0.zip/download \
  -o refind-bin-0.12.0.zip
unzip refind-bin-0.12.0.zip
mount_msdosfs /dev/gpt/EFI%20system%20partition /mnt
cd /mnt/EFI/Boot
mv bootx64.efi bootx64-windows.efi
cp /boot/loader.efi bootx64-ulbsd.efi
cp /tmp/refind-bin-0.12.0/refind/refind_x64.efi bootx64.efi
echo "bootx64.efi" >> startup.nsh
cp /tmp/refind-bin-0.12.0/refind/refind.conf-sample refind.conf

cat << EOF >> refind.conf

use_nvram false
hideui all
showtools reboot,exit
dont_scan_files + bootmgfw.efi
textonly true
textmode 0 

menuentry "Ulyanovsk.BSD" {
    loader \EFI\Boot\bootx64-ulbsd.efi
}

menuentry "Windows 10" {
    loader \EFI\Boot\bootx64-windows.efi
}
EOF

cd / && sync && umount -f /mnt

Подробнее о параметрах конфигурационного файла refind.conf можно узнать в документации.

После перезагрузки на экране должно появится загрузочное меню boot-менеджера, в котором можно выбирать операционную систему:

 

 

Примечание 1:

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

 

Последнее изменение: 02.09.2022 13:35:51
    Наверх       На главную страницу       Адрес электропочты Рейтинг@Mail.ru
Данный интернет-сайт носит исключительно информационный характер, и ни при каких условиях информационные
материалы и цены, размещенные на сайте, не являются публичной офертой, определяемой положениями Статьи 437 ГК РФ.

Сергей Волков – эксперт в области информационных технологий © 2011−2022
Работает система управления сайтом «Публикатор 1.9» © 2004−2022