Назад | Перейти на главную страницу

сбросить корневой проход на гостевой системе xen с использованием физического диска

Я нашел несколько руководств по сбросу пароля на гостевой системе 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, но затем отключаю его и включаю только для установки определенных пакетов пакетов .. Примерно так:

  1. об / мин -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
  2. отключите репозиторий, установив "enabled = 0" в каждом разделе /etc/yum.repos.d/epel.repo
  3. yum –enablerepo = установка epel

Тем не менее, я не уверен, какой именно из пакетов вам понадобится. http://libguestfs.org/ кажется, предлагает установить "* guestf *", но это, скорее всего, установит гораздо больше, чем вы действительно необходимость.