Как перенести систему Linux с виртуального жесткого диска VHDX на обычный жесткий диск (HDD)?

Каким образом настроить загрузку системы с виртуальной машины FreePBX, которая была перенесена на физический ПК с использованием Hyper-V, после конвертации врав формат с помощью qemu и размещении на жестком диске?
  • 9 августа 2024 г. 15:43
Ответы на вопрос 2
Для переноса системы Linux с виртуального жесткого диска VHDX на обычный жесткий диск (HDD), вы можете использовать инструменты для клонирования дисков, такие как Clonezilla или dd. Вот общие шаги, которые нужно выполнить:

1. Создайте образ вашего виртуального диска VHDX с помощью программы для работы с жесткими дисками, например, программой Disk2vhd.
2. Скачайте и установите Clonezilla на флеш-накопитель или загрузочный диск.
3. Загрузитесь с клонировочного носителя Clonezilla на физическом ПК, на который вы хотите перенести систему Linux.
4. Следуйте указаниям Clonezilla для клонирования образа вашего виртуального диска VHDX на обычный жесткий диск (HDD).

Чтобы настроить загрузку системы с виртуальной машины FreePBX, которая была перенесена на физический ПК с использованием Hyper-V, после конвертации в формат с помощью qemu и размещения на жестком диске, вам нужно будет добавить запись о загрузке в загрузочный сектор вашего физического диска (HDD).

1. Загрузитесь с LiveCD с Linux на вашем физическом ПК.
2. Откройте терминал и выполните следующие команды для монтирования раздела с вашей операционной системой Linux:
```
sudo mount /dev/sdX /mnt  # замените sdX на соответствующий раздел вашего HDD
```
3. Найдите точку монтирования корневой файловой системы и обновите информацию о разделе:
```
cat /mnt/etc/fstab  # убедитесь в том, что разделы указаны верно
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
```
4. Обновите конфигурацию загрузчика, например для GRUB выполните:
```
grub-install /dev/sdX  # замените sdX на соответствующий раздел вашего HDD
update-grub
```
5. Перезагрузите ваш компьютер и убедитесь, что система Linux загружается с вашего физического диска (HDD).

Пожалуйста, помните, что перед выполнением этих действий необходимо создать резервную копию всех важных данных, чтобы избежать потери информации.
Для начала метка активного диска это очень устаревшая методика, работает только с legacy mbr boot и только с dos и старыми windows. 

Если система EFI (материнка + настройка в биосе) то нужно восстановить загрузочную запись в биосе (некоторые биосы позволяют выбрать откуда грузиться и так).

Самое простое и универсальное (не важно какой биос), загрузиться с livecd/liveusb (любую систему linux той же архитектуры, т.е. x86/x64/... в идеале той же версии но не обязательно), смонтировать корневой раздел в какой-нибудь каталог типа /mnt (причем если root состоит из нескольких разделов типа /boot /home и т.п. то нужно смонтировать их все в правильном порядке) и запустить команду
grub-install /dev/sda --root-directory=/mnt
где /dev/sda это устройство с диском с которого нужно грузиться (где лежит efiboot или biosboot или для старых mbr дисков где будет загрузочный сектор)
а /mnt - каталог, в который смонтирован корневой раздел файловой системы твоей перенесенной ОС.

p.s. grub все сам проверит, восстановит и настроит, и если какая ошибка - напишет

Дополнительно удостовериться, что в /etc/fstab указаны верные устройства монтирования а лучше перевести на UUID
Похожие вопросы