Виртуальный диск, отсутствует загрузчик. Как загрузиться?

Виртуальный диск, отсутствует загрузчик. Как загрузиться?

У меня был нетбук с HDD, разделенным на 3 раздела. На одном из разделов (например, /dev/sda2) у меня был установлен экземпляр Crunchbang Linux. Я сделал резервную копию с помощью команды 'dd' (dd if=/dev/sda2 of=<...>) на внешний HDD.

Теперь я изменил схему разбиения на этом нетбуке, поэтому образ больше не помещается в новые разделы, которые меньше, но я хотел посмотреть некоторые файлы конфигурации на моем старом экземпляре, поэтому я решил преобразовать необработанную резервную копию в файл VMware (.vmdk), создать виртуальную машину и запустить экземпляр.

Но... похоже, в тот момент у меня, должно быть, был раздел /boot на отдельном разделе (/dev/sda1), резервную копию которого я забыл сделать :(. Теперь экземпляр VMware не загружается, потому что не может найти операционную систему на виртуальном жестком диске.

Есть ли какое-нибудь средство? Могу ли я создать небольшой виртуальный диск и установить grub2 и образы ядра на него внутри виртуальной машины и загрузиться оттуда? Как? Любые идеи приветствуются!

решение1

Создайте виртуальную машину Crashbang Linux, загрузите ее с нее, а затем смонтируйте VMDK или исходную резервную копию как вторичный том. См. на странице 7 руководства пользователя VMWare, как смонтировать образ как отдельный раздел.здесь.

решение2

Если вам нужно всего лишь найти несколько файлов, вы можете легко смонтировать файл .vmdk в своем собственном Linux, без необходимости использования виртуальной машины:

 losetup /dev/loop0 /path/to/your/file.vmdk
 losetup -o 32256 /dev/loop1 /dev/loop0
 mount /dev/loop1 /your/mount/point

Хитрость заключается в смещении, в данном случае 32256. Это сработает для первого раздела, но если вы не хотите монтировать первый раздел, после первой команды вам придется использоватьfdiskна петлевом устройстве:

 fdisk -l /dev/loop0

Тогда смещение будет равно произведению числа байтов на сектор на начало раздела, который вы хотите смонтировать.

Если вы также хотите загрузить его, ядуматьчто все, что вам нужно сделать, это скопировать каталог /boot из любой другой работающей установки Crunchbang той же архитектуры в ваш старый образ, chroot в него, обновить grub, и все готово. Вы можете сделать это из экземпляра виртуальной машины Crunchbang, пока он не запущен: просто сохраните образ нового экземпляра в новый файл vmdk, смонтируйте его так же, как и другой, скопируйте /boot из нового образа в старый, chroot в старый образ, обновите grub, и вуаля.

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