Невозможно использовать клонированную виртуальную машину, OpenSUSE, VirtualBox

Невозможно использовать клонированную виртуальную машину, OpenSUSE, VirtualBox

Я клонировал виртуальную машину и теперь при ее загрузке вижу сообщение:

Trying manual resume from /dev/sda1
Invoking userspace resume from /dev/sda1
resume: libgcrypt version: 1.5.0
Trying manual resume from /dev/sda1
invoking in-kernel resume from /dev/sda1
Waiting for device /dev/disk/by-id/ata-VBOX_HARDDISK_.....-part2 to appear: ...
Could not find /dev/disk/...-part2
Want me to fall back to /dev/disk/...-part2 (Y/n)

Если я нажимаю 'Y', он пытается загрузиться снова с ошибкой, затем выходит в /bin/sh. Если я нажимаю 'n', он выходит в /bin/sh немедленно.

Я прочитал решение здесь:http://diggerpage.blogspot.com/2011/11/cannot-boot-opensuse-12-after-cloning.htmlно я не понимаю, как получить доступ к файлам на диске для редактирования /etc/fstabи /boot/grub/menu.lstт. д.

решение1

Мне удалось загрузить систему, выполнив следующие действия:

1) Обратите внимание на устройства, которые система не может найти.

2) Ответьте "n" на этот вопрос. Это должно перенаправить вас в командную строку.

3) Выполните эту команду:cd /dev/disk/by-id

4) Выполните эту команду:ls

5) Переименуйте все файлы в этой папке, заменив их текущее имя на имя устройства, которое вы записали на шаге 1. Пример.mv ata-VBOX_OLDNAME....-part2 ata-VBOX_HARDDISK....-part2

6) После завершения введите следующую команду:exit

7) Система должна загрузиться нормально.

Я все еще работаю над тем, как это происходит в OpenSUSE 11.4.

решение2

Эта проблема вызвана тем, что SUSE по умолчанию настраивает Grub на поиск дисков по имени, а не по метке или пути. При создании виртуальной машины из устройства VirtualBox создает новый диск с новым именем, а затем Grub не может найти загрузочный диск. Мне удалось это исправитьпостояннок:

  1. Добавьте диск как вторичный диск к другой машине, которая может монтировать файловую систему. Я смонтировал свой в /media/hd2.

  2. Отредактируйте /media/hd2/boot/grub/device.map и замените путь к жесткому диску по имени /dev/disk/by-name/ata-VBOX....на путь по пути /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0.

  3. Отредактируйте /media/hd2/boot/grub/menu.lst и замените пути by-name на пути by-path. Для себя я заменил все пути part-1 на , /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part1а пути part-2 на /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part2.

Пути, которые я использовал, указывают на первый жесткий диск. Если вы хотите загрузиться с другого жесткого диска (или другого типа диска), вам нужно будет выяснить, как SUSE сопоставляет путь. Я обнаружил, что SUSE монтирует второй жесткий диск как pci-0000:00:0d.0-scsi-1:0:0:0.

Указание пути к жесткому диску может быть не идеальным решением в некоторых случаях, но для быстрого решения проблемы, которое мне было нужно, это сработало идеально.

решение3

Я получил эту ошибку и решил ее, заменив старый идентификатор диска на новый в etc/fstab и в boot/grub/menu.lst.

  1. Нажимаем «и» отвечаем на запасной вопрос.
  2. Получите новый идентификатор, запустивhdparm -i /dev/sda
  3. Переименуйте все диски, как указано в принятом решении, и загрузите гостевую систему.
  4. Откройте терминал как root vi etc/fstabи замените старый ID на новый везде, где он отображается. Сохраните и закройте.
  5. vi boot/grub/menu.lstи замените старый идентификатор на новый везде, где он отображается. Сохраните и закройте.
  6. Перезагрузить.

Принятое решение работает только один раз, пока этопостоянное исправление. Надеюсь, поможет!

решение4

Я решил эту проблему, смешав другие решения.

Только для загрузкисистема, которую я сделал так:

  • когда вы получите сообщение об ошибке загрузки, запишите идентификатор раздела, запрошенный процедурой загрузки (например, ID1), и введитеn
  • cd /dev/disks
  • ls -lчтобы увидеть, какие текущие идентификаторы указаны в именах ссылок на диски и разделы (например, ID2)
  • создайте копию каждой ссылки, переименовав копию с указанным выше идентификатором:

    mv ID2 ID1
    mv ID2-part1 ID1-part1
    ...
    

    например

    mv scsi-12345676890abcdefgh0987654321 scsi-0987654321hgfedcba1234567890
    mv scsi-12345676890abcdefgh0987654321-part1 scsi-0987654321hgfedcba1234567890-part1
    ...
    
  • exit

Система загрузится.

Теперь вы можете изменить настройкичтобы быть уверенным, что больше не столкнетесь с этой проблемой:

  • откройте терминал и войдите в сеанс root с помощьюsudo su
  • vi /etc/fstab
  • замените все ссылки на диски и разделы по идентификатору ( /dev/disks/by-id/...) ссылкой на /dev/...(например /dev/sda, /dev/sda1...)
  • vi /boot/grub/menu.lst
  • сделайте то же самое в этом файле

Связанный контент