Настраиваем двойную загрузку с MBR-диска операционных систем Windows 8.1 и Ubuntu 16


Диск с Windows 8.1 разбит на разделы следующим образом:

основной раздел, 350МБ, NTFS, Windows Boot Manager

основной раздел, 15ГБ, NTFS, Windows 8.1

Диск с Ubuntu 16 содержит такие разделы:

основной раздел, 500МБ, ext2, GRUB

расширенный раздел, 10ГБ

логический раздел, 10ГБ, LVM

логический том "root" группы томов "old-vg", 9ГБ, Ubuntu 16

логический том "swap" группы томов "old-vg", 1ГБ, SWAP

Конечный диск будет иметь следующие разделы:

основной раздел, 350МБ, ext4, GRUB

расширенный раздел, 30ГБ

логический раздел, 350МБ, NTFS, Windows Boot Manager

логический раздел, 15ГБ, NTFS, Windows 8.1

логический раздел, 10ГБ, LVM

логический том "root" группы томов "new-vg", 9ГБ, Ubuntu 16

логический том "swap" группы томов "new-vg", 1ГБ, SWAP


Настройка загрузки Windows


подключаем новый диск и диск с Windows

загружаемся в GParted

создаем на новом диске основной раздел для GRUB с файловой системой ext4 и размером 350МБ

создаем на новом диске расширенный раздел

копируем разделы диска с Windows на расширенный раздел нового диска

Замечание: естественно, на новом диске данные разделы будет логическими

монтируем раздел для GRUB нового диска

mount /dev/sda1 /mnt

устанавливаем GRUB

grub-install --boot-directory=/mnt /dev/sda

создаем файл конфигурации GRUB /mnt/grub/grub.cfg следующего содержания

set default="0"
set timeout="5"
menuentry "Windows 8.1" {
  insmod chain
  insmod ntfs
  set root=(hd0,5)
  chainloader +1
}

Замечание: в качестве номера раздела используется "5" потому, что логический разделы в GRUB нумеруются с "5", а загрузчик Windows расположен на первом из них

отключаем диск с Windows

загружаемся в WinPE

запускаем DiskPart

просматриваем список томов и определяем буквы системного раздела и раздела с операционной системой

list volume

завершаем работу DiskPart

создаем хранилище конфигурации загрузки (будем считать, что системному разделу назначена буква "c", а разделу ОС - "d")

bcdboot d:\windows /s c: /f bios

загружаемся в Windows


Настройка загрузки Ubuntu


подключаем новый диск и диск с Ubuntu

загружаемся в GParted

определяем размер раздела LVM диска с Ubuntu

fdisk -l

создаем логический раздел на новом диске аналогичного размера

fdisk /dev/sda
n
w

изменяем вид созданного раздела на Linux LVM

t
8e
w

копируем раздел LVM диска с Ubuntu на новый диск

dd if=/dev/sdb5 of=/dev/sda7

устраняем дублирование группы томов LVM

vgimportclone --basevgname new-vg /dev/sda7

активируем новую группу томов LVM

vgchange -ay new-vg

копируем необходимые для загрузки Ubuntu файлы с раздела GRUB диска с Ubuntu на раздел GRUB нового диска

mkdir /mnt/old
mkdir /mnt/new
mount /dev/sdb1 /mnt/old
mount /dev/sda1 /mnt/new
cp /mnt/old/initrd.img-4.4.0-87-generic /mnt/new
cp /mnt/old/vmlinuz-4.4.0-87-generic /mnt/new

в файл конфигурации GRUB /mnt/new/grub/grub.cfg добавляем следующее

menuentry "Ubuntu 16" {
  insmod lvm
  set root=(hd0,1)
  linux /vmlinuz-4.4.0-87-generic root=/dev/mapper/new--vg-root
  initrd /initrd.img-4.4.0-87-generic
}

монтируем диск с Ubuntu 16

mkdir /mnt/root
mount /dev/mapper/new--vg-root /mnt/root

в файле /mnt/root/etc/fstab заменяем старое имя томов LVM на новое (т.е. заменяем "old-vg" на "new-vg"), путь к загрузочному разделу - на /dev/sda1, а тип используемой на загрузочном разделе файловой системы - на ext4

загружаемся в Ubuntu 16

Добавить комментарий