В статье рассказывается о том, как настроить двойную загрузку с 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
- логический раздел, 10ГБ, LVM
Конечный диск будет иметь следующие разделы:
- основной раздел, 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