Смена пароля виртуальной машины - PullRequest
4 голосов
/ 11 февраля 2011

У меня есть несколько виртуальных машин. Я хочу написать скрипт, который автоматизирует следующий процесс ...

  • Монтирует виртуальную машину (с linux в качестве операционной системы) в папку скажем / mnt / image
  • Он изменяет / etc / passwd (или эквивалентный файл), чтобы изменить пароль пользователя
  • Размонтирование виртуальной машины

Поскольку я использую libvirt, у меня есть несколько образов qcow2 виртуальной машины. чтобы смонтировать образ на моем Ubuntu, я использую модуль nbd. Вот команды, которые я пытаюсь:

modprobe nbd max_part=63
qemu-nbd -c /dev/nbd0 image.qcow2
mount /dev/nbd0p1 /mnt/image

Это дает мне ошибку:

mount: special device /dev/nbd0p1 does not exist

Когда я заменяю nbd0p1 на nbdo, я получаю следующую ошибку (хотя я не уверен, что я пытаюсь сделать этим)

mount: you must specify the filesystem type

Есть предложения, в чем может быть проблема ...?

Ответы [ 4 ]

4 голосов
/ 30 января 2014

Убедитесь, что /sys/modules/nbd/parameters/max_part имеет ожидаемое значение.Если оно равно 0 или слишком мало, разделы /dev/nbd0p1 и т. Д. Не будут доступны ядру.Это может произойти, если модуль ядра nbd уже был загружен (с другим параметром max_part), когда вы запустили modprobe.

. Это можно исправить, выгрузив модуль и снова запустив его.

3 голосов
/ 11 февраля 2011

[Не прямой ответ на вопрос, а альтернативный]
Вы можете попытаться преобразовать образ qcow2 в raw, а затем смонтировать необработанный образ.

новообращенный:

qemu-img convert -f qcow2 image.qcow2 -O raw image_raw.raw

крепление:

    sudo losetup /dev/loop0 image_raw.raw
    sudo kpartx -a /dev/loop0
    sudo mount /dev/mapper/loop0p3 /mnt/image
    sudo mount /dev/mapper/loop0p2 /mnt/image/boot
1 голос
/ 27 февраля 2018

Я наткнулся на ту же проблему и ту же ошибку, но на VDI

qemu-nbd -c /dev/nbd0 image.vdi

для меня решение было простым, я просто изменил nbd0 на nbd1

qemu-nbd -c /dev/nbd1 image.vdi

и затем:

sudo mount  /dev/nbd1p1 /media/eddie/virtual 

сработало.

Пожалуйста, оставьте комментарий, если это сработало и для вас, и с каким типом изображения.

1 голос
/ 11 февраля 2011

Может ли быть, что раздел находится не в первом слоте MBR, или используется расширенный раздел?Проверьте, создаются ли какие-либо другие узлы устройства nbdXpY, или запустите на нем fdisk и p выполните повторную печать таблицы разделов.

...