1

У меня возникли проблемы с переносом физического раздела Linux на VDI для его запуска в VirtualBox. Прежде всего, Linux Mint Petra был на том же жестком диске, что и мой Windows 7, и я смог нормально выполнить двойную загрузку. Но затем я хотел портировать раздел Linux на виртуальный диск.

Я попытался изменить его размер с помощью EaseUS перед портированием, что, вероятно, и испортило некоторые настройки. Однако я успешно выполнил резервное копирование раздела, используя EaseUS (файл PBD); преобразовал его в файл VHD и, наконец, преобразовал файл VHD в VDI.

Теперь, когда я пытаюсь загрузиться с VDI/VHD, я получаю сообщение об ошибке: Missing operating system. FATAL: INT18: BOOT FAILURE .

Когда я загружаюсь из Linux ISO, я вижу это в разделе раздела:

Как видите, там есть два устройства: sda1 и sda5; последний, кажется, перекрывает первый, чего не должно быть. Я могу подтвердить, что /dev /sda5 был правильным физическим разделом при двойной загрузке.

Я пытался восстановить вещи с помощью Boot Repair Disk, но безрезультатно.

Как убедиться, что VirtualBox успешно находит устройство / раздел ОС и исправляет перекрытие / dev / sdXY?

ура

1 ответ1

1

Итак, я понял это с некоторой помощью от друга. Во время моей проблемы у меня был физический раздел в 50-гигабайтном файле VDI, который не загружался из-за ошибки, упомянутой в OP. Используемое пространство на диске составляло 20 гигабайт, что включало мою установку Linux + мои файлы. Мне удалось не только снова загрузить его, но и изменить размер раздела 50 гигабайт до 20 гигабайт в новом динамически размещаемом диске VDI.

Чтобы исправить это, я создал новую виртуальную машину (назовем это hurrdurr) с динамически распределяемым диском максимального размера 35 гигабайт, и я приступил к загрузке Linux Mint из установочного ISO. Я загрузил Gparted с помощью superuser (sudo gparted) и продолжил делать следующее:

  • Создан 512MB ext2 раздел с надписью "boot"
  • Создан раздел подкачки объемом 8192 МБ с меткой "hurrswap"
  • Создал 28-гигабайтный раздел ext4, используя оставшуюся часть пространства с надписью "derp"

Затем я установил Linux Mint на виртуальный диск. Когда он спросит, что вы хотите сделать, например, стереть диск и установить Mint/Ubuntu (это приведет к стиранию диска)/ установить рядом / что-то еще, выберите что-то еще. Он загрузит раздел в стиле Gparted, где вы увидите разделы вашего диска. Я дважды щелкнул раздел "boot", установил флажок "Формат" и убедился, что точка монтирования была / boot. Затем для области подкачки я просто оставил все как есть (обратите внимание, я выбрал область подкачки 8 ГБ, потому что у меня есть 8 ГБ оперативной памяти на этом компьютере, и обычно хорошо иметь размер подкачки, эквивалентный установленному ОЗУ) и для мой раздел ext4, я убедился, что флажок форматирования был отмечен и точка монтирования была "/".

Я установил Mint, и это эффективно настроило загрузчик, GRUB и все для меня. Теперь пришло время перезаписать свежую установку моей старой, потому что таким образом GRUB будет знать, где искать загрузку! Итак, теперь в отдельной виртуальной машине я настроил VirtualBox для использования двух виртуальных дисков; большой 50-гигабайтный раздел и динамически распределяемый новый. Я сделал это, зайдя в Настройки -> Хранилище -> Контроллер - IDE -> Добавить жесткий диск. Это позволило мне выбрать два других файла VDI. Затем я загрузился в эту отдельную установку.

Используя sudo fdisk -l, я мог сказать, какие /dev /sdWX и /dev /sdYZ загрузить, чтобы смонтировать свежий раздел "derp" и раздел, который я хотел скопировать соответственно. Я использовал sudo mount /dev/sda5 /mnt/drv1 (я mkdir'd drv1 befhorehand) и sudo mount /dev/sdb3 /mnt/drv2 (раздел "derp"). Теперь вы можете скопировать материал двумя способами: один с помощью dd, который полностью клонирует ваш раздел с пустым пространством. Но я использовал простую команду копирования cp для переноса желаемых данных + Linux из раздела 50 гигабайт. Команда, которую я использовал, была sudo cp -a /mnt/drv1/* /mnt/drv2/ -a, чтобы сказать cp для передачи всех файлов со всеми неповрежденными атрибутами. Когда передача была завершена, я только что загрузился на своей виртуальной машине hurrdurr и вуаля - GRUB успешно загрузился с того раздела, который я хотел восстановить! Не только это, но и потому, что это динамический привод, он также всего 20 гигабайт.

Итак, по существу (д-р, если можно):

  • Создать новую виртуальную машину с правильно назначенными разделами
  • Установите ОС, которая была на поврежденном диске
  • Загрузите виртуальную машину, которая имеет доступ как к поврежденному виртуальному диску, так и к новой новой установке.
  • Смонтируйте поврежденные и свежие перегородки
  • sudo cp -a файлы к новой установке
  • Готово.

Я надеюсь, что это помогает кому-то вроде меня там.

ура

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .