Настраиваем двойную загрузку с 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