白森 发表于 2015-4-13 11:44:32

xen虚拟机的启动(引导)方式

  有几种不同的方式来引导虚拟机,各有利弊。
  1.BIOS bootloader
  适用于全虚拟化,loader模拟了BIOS
  原文:
  Booting via the BIOS is available for hypervisors supporting full virtualization. In this case the BIOS has a boot order priority (floppy, harddisk, cdrom, network) determining where to obtain/find the boot image.   
...   
      
    hvm   
    /usr/lib/xen/boot/hvmloader   
      
      
      
      
      
...   
type   
The content of the type element specifies the type of operating system to be booted in the virtual machine. hvm indicates that the OS is one designed to run on bare metal, so requires full virtualization. linux (badly named!) refers to an OS that supports the Xen 3 hypervisor guest ABI. There are also two optional attributes, arch specifying the CPU architecture to virtualization, and machine referring to the machine type. The Capabilities XML provides details on allowed values for these. Since 0.0.1   
loader   
The optional loader tag refers to a firmware blob used to assist the domain creation process. At this time, it is only needed by Xen fully virtualized domains. Since 0.1.0   
boot   
The dev attribute takes one of the values "fd", "hd", "cdrom" or "network" and is used to specify the next boot device to consider. The boot element can be repeated multiple times to setup a priority list of boot devices to try in turn. The boot element cannot be used if per-device boot elements are used (see disks, network interfaces, and USB and PCI devices sections below). Since 0.1.3, per-device boot since 0.8.8   
bootmenu   
Whether or not to enable an interactive boot menu prompt on guest startup. The enable attribute can be either "yes" or "no". If not specified, the hypervisor default is used.Since 0.8.3   
smbios   
How to populate SMBIOS information visible in the guest. The mode attribute must be specified, and is either "emulate" (let the hypervisor generate all values), "host" (copy all of Block 0 and Block 1, except for the UUID, from the host's SMBIOS values; the virConnectGetSysinfo call can be used to see what values are copied), or "sysinfo" (use the values in the sysinfo element). If not specified, the hypervisor default is used.Since 0.8.7   
2.Host bootloader
  适用于半虚拟化, Hypersisor没有模拟BIOS,由Host的pseudo-bootloader来引导,它会为guest提供一个接口来选择一个kernel(不懂)
  原文:
  Hypervisors employing paravirtualization do not usually emulate a BIOS, and instead the host is responsible to kicking off the operating system boot. This may use a pseudo-bootloader in the host to provide an interface to choose a kernel for the guest. An example is pygrub with Xen.   
...   
/usr/bin/pygrub   
--append single   
...   
bootloader   
The content of the bootloader element provides a fully qualified path to the bootloader executable in the host OS. This bootloader will be run to choose which kernel to boot. The required output of the bootloader is dependent on the hypervisor in use. Since 0.1.0   
bootloader_args   
The optional bootloader_args element allows command line arguments to be passed to the bootloader. Since 0.2.3   
3.Direct kernel boot
  适用于全虚拟与半虚拟化,使用host的kernel与initrd(init ram disk)的引导
  When installing a new guest OS it is often useful to boot directly from a kernel and initrd stored in the host OS, allowing command line arguments to be passed directly to the installer. This capability is usually available for both para and full virtualized guests.   
...   
      
    hvm   
    /usr/lib/xen/boot/hvmloader   
    /root/f8-i386-vmlinuz   
    /root/f8-i386-initrd   
    console=ttyS0 ks=http://example.com/f8-i386/os/   
      
...   
type   
This element has the same semantics as described earlier in the BIOS boot section   
loader   
This element has the same semantics as described earlier in the BIOS boot section   
kernel   
The contents of this element specify the fully-qualified path to the kernel image in the host OS.   
initrd   
The contents of this element specify the fully-qualified path to the (optional) ramdisk image in the host OS.   
cmdline   
The contents of this element specify arguments to be passed to the kernel (or installer) at boottime. This is often used to specify an alternate primary console (eg serial port), or the installation media source / kickstart file
页: [1]
查看完整版本: xen虚拟机的启动(引导)方式