Я нашел несколько руководств по сбросу пароля на гостевой системе xen с использованием файлов изображений, таких как этот: http://www.howtoforge.com/forums/showthread.php?t=28779
Однако мне не повезло с примерами модификации этого для работы с физическими дисками.
Этот гость в настоящее время работает. Я был бы признателен, если бы вы могли начать с перечисления команды выключения гостя с хоста, вплоть до перезапуска гостевой системы xen после изменения пароля root.
также, не уверен, что это значит, но на моем локальном компьютере "xm" - это команда, используемая для взаимодействия с xen, а не xe, как я видел в большинстве руководств.
Вот дисковая строка конфигурационного файла xen:
disk = [ "phy:/dev/sdb1,xvda,w" ]
Спасибо,
-Эрик
Выключите гостя, используя что-то вроде
xm shutdown <guest>
Убедитесь, что он выключен
xm top
Этот путь намекает, что это не LVM, а физический диск. Это работа для libguestfs. Убедитесь, что он у вас установлен. Сначала вы проверяете, какие файловые системы у вас есть на этом блочном устройстве:
virt-filesystems -a /dev/sdb1
Затем вы монтируете корневую файловую систему:
guestmount -a /dev/sdb1 -m /dev/<whateverhappenstoberoot> --rw /mnt
Измените корневой каталог:
chroot /mnt/
Обновите свои пароли
passwd root
А потом все восстанавливаешь
logout
unmount /mnt/
xm create /etc/xen/vm/<guest>
Фактически вы можете обойтись без установки инструментов guestfs, выполнив некоторую ручную работу.
Следуйте советам pehrs до команды virt-filesystems (не включая ее), затем запустите это:
parted -s /dev/sdb1 unit B print
Это должно дать вам список смещений в таблице, например:
Number Start End Size Type File system Flags
1 32256B 2467583999B 2467551744B primary ext2
2 2467584000B 3981035519B 1513451520B primary ext3
3 3981035520B 3989260799B 8225280B primary lba
4 3989260800B 3997486079B 8225280B primary
Тот, который вам нужно смонтировать, вероятно, будет иметь файловую систему ext3. Вы также можете проверить правильный номер, запустив mount
в гостевой системе и ищем устройство для раздела /.
Возьмите число из столбца "Старт" за вычетом буквы B и попробуйте следующее:
mkdir /mnt/test
mount -o loop,rw,offset=NUMBER_GOES_HERE /dev/sdb1 /mnt/test
Затем продолжайте chroot /mnt/test
. Все остальное остается неизменным, за исключением этого изменения от использования / mnt к использованию / mnt / test - мне не нравится монтировать что-либо непосредственно поверх / mnt.
Ссылка: http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux
@Eric Репозитории CentOS по умолчанию не содержат инструментов libguestfs, но репозиторий epel есть. В этом случае я обычно настраиваю репозиторий epel, но затем отключаю его и включаю только для установки определенных пакетов пакетов .. Примерно так:
Тем не менее, я не уверен, какой именно из пакетов вам понадобится. http://libguestfs.org/ кажется, предлагает установить "* guestf *", но это, скорее всего, установит гораздо больше, чем вы действительно необходимость.