
=head1 НАЗВА

virt-drivers - Detect bootloader, kernel and drivers inside guest

=head1 КОРОТКИЙ ОПИС

 virt-drivers [--options] -d domname

 virt-drivers [--options] -a disk.img

=head1 ОПИС

This tool can detect the bootloader, kernel and drivers inside some guests from only the disk image.  It can detect, for example, whether a disk image needs BIOS or UEFI to boot, and whether it supports virtio or requires slower emulated devices.

=head2 Notes

Normally you should distribute hypervisor metadata (eg. libvirt XML or OVF) alongside disk images to tell the hypervisor how to boot them.  This tool is used when this metadata has not been provided.  Work with the supplier of the disk image to get them to provide proper metadata.

=head1 ФОРМАТ XML

The output is an XML document.  At the top level it lists the operating systems found (the same as L<virt-inspector(1)>):

 <operatingsystems>
   <operatingsystem>
     <root>/dev/sda2</root>
     <name>linux</name>
     <arch>x86_64</arch>
     <distro>fedora</distro>
     ...
   </operatingsystem>
   <operatingsystem>
     <root>/dev/sdb1</root>
     ...
   </operatingsystem>
 </operatingsystems>

=head2 E<lt>firmwareE<gt>

The E<lt>firmwareE<gt> element lists the firmware which is required to boot the guest.  For UEFI it will additionally show the EFI system partition ("ESP").  Guests may support multiple boot firmwares.  For example this guest is detected as using UEFI boot, and the UEFI ESP is the first partition of the first disk:

 <operatingsystems>
   <firmware type='uefi'>/dev/sda1</firmware>
   <operatingsystem>
     ...

=head2 E<lt>bootloaderE<gt> and E<lt>kernelE<gt>

The E<lt>bootloaderE<gt> element shows the bootloader found in the Linux guest.  If known, this may contain information about what Linux kernels are provided.  For example:

 <operatingsystems>
   <firmware type='bios'/>
   <operatingsystem>
     <root>/dev/sda2</root>
     <name>linux</name>
     ...
     <bootloader type='grub2' config='/boot/grub2/grub.cfg'>
       <kernel>
         <name>kernel</name>
         <version>6.1.0-0.rc6.46.fc38.x86_64</version>
         <vmlinuz>/boot/vmlinuz-6.1.0-0.rc6.46.fc38.x86_64</vmlinuz>
         <modules>
           ...
         </modules>
         <supports_virtio_blk/>
         <supports_virtio_net/>
         ...
       </kernel>
     </bootloader>

Many more fields are usually available for Linux guests, including a complete list of kernel modules and information about support for virtio. For a complete example see: L<https://github.com/libguestfs/guestfs-tools/tree/master/drivers>

=head2 E<lt>driversE<gt>

The E<lt>driversE<gt> element lists information about drivers found in Windows guests:

 <operatingsystems>
   <firmware type='bios'/>
   <operatingsystem>
     <root>/dev/sda2</root>
     <name>windows</name>
     ...
     <drivers>
       <driver>
         <name>scsidev</name>
         <pci vendor='1077' device='1216' subsystem='8471101E'/>
         <pci vendor='1077' device='1216' subsystem='8493101E'/>
       </driver>
       ...
     </drivers>

The driver name (eg. C<scsidev>) corresponds to the Windows driver F<.INF> file (eg. F<scsidev.inf>).  The list of PCI, USB etc devices are the matching devices which would cause this driver to load at boot.

=head1 ПАРАМЕТРИ

=over 4

=item B<--help>

Показати довідкове повідомлення.

=item B<-a> файл

=item B<--add> файл

Додати I<файл>, який має бути образом диска з віртуальної машини.

Формат образу диска визначається автоматично. Щоб перевизначити його і примусово використати певний формат, скористайтеся параметром I<--format>.

=item B<-a> адреса

=item B<--add> адреса

Додати віддалений диск. Формат адреси є сумісним із guestfish. Див. L<guestfish(1)/ДОДАВАННЯ ВІДДАЛЕНОГО СХОВИЩА>.

=item B<--blocksize> B<512>

=item B<--blocksize> B<4096>

This parameter sets the sector size of the disk image added with I<-a> option and is ignored for libvirt guest added with I<-d> option.  See also L<guestfs(3)/guestfs_add_drive_opts>.

=item B<--colors>

=item B<--colours>

Використовувати послідовності символів ANSI для розфарбовування повідомлень. Ці послідовності типово використовуються, якщо дані виводяться на термінал tty.  Якщо дані, виведені програмою, спрямовуються до файла, послідовності визначення кольорів ANSI буде вимкнено, якщо ви не додасте до команди цей параметр.

=item B<-c> адреса

=item B<--connect> адреса

Якщо використовується libvirt, встановити з’єднання з вказаним I<URI>. Якщо пропущено, з’єднання буде встановлено з типовим гіпервізором libvirt.

Якщо вказати блокові пристрої гостьових систем безпосередньо (I<-a>), libvirt не буде використовуватися взагалі.

=item B<-d> гість

=item B<--domain> гість

Додати всі диски з вказаної гостьової системи libvirt. UUID доменів можна використовувати замість назв.

=item B<--echo-keys>

Типово, якщо virt-get-kernel попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

=item B<--format> raw|qcow2|..

=item B<--format> auto

Типовим значенням для параметра I<-a> є автоматичне визначення формату образу диска. Використання цього параметра примусово визначає значення параметрів I<-a> формату диска у рядку команди.

Якщо ви користуєтеся ненадійними образами гостьових систем у необробленому форматі, вам слід скористатися цим параметром для визначення формату диска. Таким чином можна уникнути можливих проблем з захистом для сформованих зловмисниками гостьових систем (CVE-2010-3851).

__INCLUDE:key-option.pod__

__INCLUDE:keys-from-stdin-option.pod__

=item B<-q>

=item B<--quiet>

Не виводити звичайних повідомлень щодо поступу.

=item B<-v>

=item B<--verbose>

Увімкнути докладний показ повідомлень з метою діагностики.

=item B<-V>

=item B<--version>

Показати дані щодо версії і завершити роботу.

=item B<--wrap>

Wrap error, warning, and informative messages.  This is the default when the output is a tty.  If the output of the program is redirected to a file, wrapping is disabled unless you use this option.

=item B<-x>

Увімкнути трасування викликів програмного інтерфейсу libguestfs.

=back

=head1 ЗМІННІ СЕРЕДОВИЩА

Опис інших змінних середовища, які стосуються усіх програм libguestfs, наведено у розділі L<guestfs(3)/ЗМІННІ СЕРЕДОВИЩА>.

=head1 СТАН ВИХОДУ

Ця програма повертає значення 0 у разі успішного завершення і ненульове значення, якщо сталася помилка.

=head1 ТАКОЖ ПЕРЕГЛЯНЬТЕ

L<guestfs(3)>, L<guestfish(1)>, L<guestmount(1)>, L<virt-get-kernel(1)>, L<virt-inspector(1)>, L<virt-v2v(1)>, L<http://libguestfs.org/>.

=head1 АВТОР

Richard W.M. Jones L<http://people.redhat.com/~rjones/>

=head1 АВТОРСЬКІ ПРАВА

Copyright (C) 2009-2025 Red Hat Inc.

