2

Я использую Oracle VirtualBox на 64-битном хосте Ubuntu 11.10 с 64-битной гостевой машиной Ubuntu Server 12.04 LTS со множеством снимков. После перезагрузки хоста (во время работы виртуальной машины) виртуальная машина стала «недоступной».«После того, как я покопался и сделал много гигабайт резервных копий, я загрузил его на экран« Не могу найти загрузочный носитель ». Есть ли у вас какие-либо предложения или решения о том, как перенести мои данные, включая данные из последнего снимка, на новую виртуальную машину или, если возможно, исправить это? Я буду рад предоставить больше информации.

РЕДАКТИРОВАТЬ: Я думаю, что моя цепочка снимков повреждена / повреждена.

РЕДАКТИРОВАТЬ 2: Я не могу это исправить, я только что сделал новую виртуальную машину.

2 ответа2

1

Baring в состоянии вернуться к рабочему снимку. Загрузите свою виртуальную машину с live CD и посмотрите, сможете ли вы получить доступ к ее жестким дискам. Если это так, то худший случай - это создать новый виртуальный компьютер со свежим сервером, добавить жесткие диски из старого виртуального компьютера; затем получить данные с жестких дисков.

1
  1. Восстановить последний снимок
  2. отредактируйте информацию о жестком диске и удалите все недоступные жесткие диски
  3. добавить все жесткие диски, которые вы можете найти на виртуальной машине (это делает их доступными)
  4. загрузиться с компакт-диска восстановления или live CD
  5. решите, как это исправить ... обычно вам нужно смонтировать диск, chroot и установить grub

пример для № 5:

  1. Смонтировать перегородки

    mkdir /mnt/fixme
    parted -s /dev/sda print
    (based on output of above, decide which device is your /boot, /, etc., and modify next mount commands accordingly)
    mount /dev/sda2 /mnt/fixme
    mount /dev/sda1 /mnt/fixme/boot
    ... for all your partitions
    
  2. Монтировать специальные файловые системы

    mount | grep "on /proc"
    mount | grep "on /dev"
    (based on the above, decide what the "from" and "type" should be; my example below is correct for openSUSE 12.1)
    mount -t proc proc /mnt/fixme/proc
    mount -t devtmpfs devtmpfs /mnt/fixme/dev
    

    Например, в Ubuntu это "none" для типа dev: mount -t none devtmpfs /mnt /fixme /dev

    Вам также может понадобиться монтировать /sys. Я забыл. Вы узнаете, когда получите сообщение об ошибке.

  3. Запустите оболочку chroot (это похоже на загрузку на жесткий диск). (Примечание: это плохо работает, если у вас есть другой диск в системе, например, если вы взяли сломанный диск и подключили его к другому Linux, который не загружается с с компакт-диска, но с диска, он будет искать в mtab, чтобы определить, какой загрузочный диск у вас есть, и поместить эти направляющие в конфигурацию grub вместо восстановленных, так что вам нужно восстановить с приглашением загрузки и снова запустить grub-install потом)

    chroot /mnt/fixme
    
  4. Установить личинку

    On openSUSE:
        update-bootloader
    On Ubuntu:
        update-grub2
    Alternate, on most systems, but not openSUSE, use both:
        install stage 1 bootloader:
            grub-install
        install guids and stuff in /boot (change cfg file to whatever you find is the correct one [menu.lst on openSUSE, grub.cfg on Ubuntu, etc.]) (if you skip the -o option, it just prints to standard out and doesn't save it in any files)
            find /boot -name "*grub*" -or -name "*.cfg" -or -name "*menu*"
            grub-mkconfig -o /boot/grub/grub.cfg
    

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