Похоже на сложную ситуацию, но надежда есть. В прошлом я использовал gddrescue
, чтобы сделать копию всего диска (и избежать усугубления проблемы повторными попытками), затем использовал testdisk
, чтобы попытаться восстановить разделы.
Я решил проблему, просто переустановив xen и xen-tools, когда systemd уже был установлен.
Однако мне пришлось изменить xen-qemu-dom0-disk-backend.service, чтобы он указывал на мой уже установленный бинарник QEMU (поскольку я использую отдельный пакет QEMU).
Я искал это несколько дней назад и забыл опубликовать ответ. Я не использую xen
или xen-tools
, поэтому мой вывод emerge
показывает дополнительные пакеты:
ecyoung@bedroom-gentoo ~ $ sudo emerge -av xen xen-tools
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] dev-libs/yajl-2.0.4-r3::gentoo USE="-static-libs" ABI_X86="32 (64) (-x32)" 81 KiB
[ebuild N ] dev-python/markdown-2.6.1::gentoo USE="-doc -pygments {-test}" PYTHON_TARGETS="python2_7 python3_3 python3_4 (-pypy) (-pypy3)" 292 KiB
[ebuild N ] dev-python/pypam-0.5.0-r3::gentoo PYTHON_TARGETS="python2_7 python3_3" 103 KiB
[ebuild N ] sys-firmware/ipxe-1.0.0_p20130925::gentoo USE="qemu usb -iso -undi -vmware" 2,188 KiB
[ebuild N ] sys-devel/dev86-0.16.19::gentoo 697 KiB
[ebuild N ] net-misc/bridge-utils-1.5::gentoo USE="(-selinux)" 33 KiB
[ebuild N ] app-emulation/xen-tools-4.5.0-r6::gentoo USE="pam python -api -custom-cflags -debug -doc -flask -hvm (-ocaml) -ovmf -pygrub -qemu -screen -static-libs -system-qemu -system-seabios" PYTHON_TARGETS="python2_7" 18,604 KiB
[ebuild N ] app-emulation/xen-4.5.0-r8::gentoo USE="-custom-cflags -debug -efi -flask -xsm" 0 KiB
Total: 8 packages (8 new), Size of downloads: 21,996 KiB
Would you like to merge these packages? [Yes/No] n
Quitting.
ecyoung@bedroom-gentoo ~ $
Как вы можете видеть из приведенного выше вывода, флаг USE systemd
не указан в списке USE ни для app-emulation/xen
, ни для app-emulation/xen-tools
. Каждый пакет, поддерживающий USE-флаг systemd
, будет указан в списке. Фактически, мы можем проверить это с помощью пакета app-portage/gentoolkit
, который содержит скрипт equery
:
ecyoung@bedroom-gentoo ~ $ sudo equery hasuse systemd
* Searching for USE flag systemd ...
[IP-] [ ] app-admin/syslog-ng-3.6.2:0
[IP-] [ ] dev-libs/efl-1.12.2:0
[IP-] [ ] kde-base/kdm-4.11.19:4/4.11
[IP-] [ ] media-gfx/sane-backends-1.0.24-r5:0
[IP-] [ ] media-sound/pulseaudio-5.0-r7:0
[IP-] [ ] net-print/cups-2.0.2-r1:0
[IP-] [ ] net-wireless/bluez-5.25:0/3
[IP-] [ ] sci-geosciences/gpsd-3.9-r1:0
[IP-] [ ] sys-apps/accountsservice-0.6.40:0
[IP-] [ ] sys-apps/busybox-1.23.1-r1:0
[IP-] [ ] sys-apps/dbus-1.8.16:0
[IP-] [ ] sys-apps/util-linux-2.25.2-r2:0
[IP-] [ ] sys-auth/pambase-20150213:0
[IP-] [ ] sys-auth/polkit-0.112-r2:0
[IP-] [ ] sys-fs/lvm2-2.02.109:0
[IP-] [ ] sys-fs/multipath-tools-0.5.0-r1:0
[IP-] [ ] sys-fs/udisks-2.1.4:2
[IP-] [ ] sys-process/procps-3.3.9-r2:0
[IP-] [ ] virtual/libgudev-215-r3:0/0
[IP-] [ ] virtual/libudev-215-r1:0/1
[IP-] [ ] virtual/udev-215:0
[IP-] [ ] x11-base/xorg-server-1.16.4:0/1.16.1
[I-O] [ ] x11-wm/enlightenment-0.19.4:0.17/0.19
ecyoung@bedroom-gentoo ~ $
Обратите внимание, что список был бы больше, если бы у меня был включен профиль systemd. Более полный список см. в разделе "Ошибка в трекере" ниже.
Поскольку флаг не указан в списке, у вас остается 3 варианта, о которых я могу думать:
eselect profile
(Выберите профиль без systemd
). Эта настройка хорошо документирована в Xen Wiki Entry for Gentoo.service files
, которые вы написали в #1, в Bug 482420 - app-emulation/xen-tools: Добавить поддержку файлов сценариев юнитов systemd, что блокирует Bug 448882 - (install-systemd-unit) [Tracker] пакеты, не предоставляющие юниты systemd. Этот список содержит все пакеты, которым нужны блоки systemd. Те, которые