Linux
無法執行引導載入程序:使用 xl 創建時 -3
我有一個從 Virtual Box 遷移的 Ubuntu 14.04
有3個分區。我已更新 /etc/fstab 以辨識新分區並 chrooted 以更新 grub
我正在使用以下 ubuntu.cfg
bootloader = '/usr/bin/pygrub' vcpus = '1' memory = '1024' root = '/dev/xvda1 ro' disk = [ 'phy:/dev/vms_xen/ubuntu_swp,xvda3,w', 'phy:/dev/vms_xen/ubuntu_root,xvda1,w', 'phy:/dev/vms_xen/ubuntu_data,xvda2,w' ] name = 'Ubuntu_1404' vif = [ 'ip=192.168.2.1,mac=08:00:27:ea:81:23' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' extra="console=hvc0"
fstab 文件是
/dev/xvda1 / ext4 rw,user_xattr,acl,barrier=1,noatime 0 1 /dev/xvda3 none swap sw 0 0 /dev/xvda2 /data ext4 rw,user_xattr,acl,barrier=1,noatime 0 0
當我嘗試命令時
# xl create -d /etc/xen/ubuntu.cfg Parsing config file /etc/xen/ubuntu.cfg (domain (domid -1) (create_info) (hvm 0) (hap 1) (oos 1) (ssidref 0) (name Ubuntu_1404) (uuid <unknown>) (cpupool Pool-0) (xsdata (null)) (platformdata (null)) (build_info) (max_vcpus 1) (tsc_mode 0) (max_memkb 1048576) (target_memkb 1048576) (nomigrate 0) (bootloader /usr/bin/pygrub) (image (linux 0) (kernel (null)) (cmdline root=/dev/xvda1 ro console=hvc0) (ramdisk (null)) ) ) (device (tap (backend_domid 0) (frontend_domid 0) (physpath /dev/vms_xen/ubuntu_swp) (phystype 1) (virtpath xvda3) (unpluggable 0) (readwrite 1) (is_cdrom 0) ) ) (device (tap (backend_domid 0) (frontend_domid 0) (physpath /dev/vms_xen/ubuntu_root) (phystype 1) (virtpath xvda1) (unpluggable 0) (readwrite 1) (is_cdrom 0) ) ) (device (tap (backend_domid 0) (frontend_domid 0) (physpath /dev/vms_xen/ubuntu_data) (phystype 1) (virtpath xvda2) (unpluggable 0) (readwrite 1) (is_cdrom 0) ) ) (device (vif (backend_domid 0) (frontend_domid 0) (devid 0) (mtu 1492) (model rtl8139) (mac 080027ea8123) ) ) ) failed to run bootloader: -3
VM 在我的筆記型電腦上的 Virtual Box 上執行良好,VM 是使用https://superuser.com/questions/892311/convert-vmdk-to-lvm遷移的
/usr/bin/pygrub
文件真的存在於您的 Dom0 上嗎?你試過在沒有 PyGrub 的情況下執行它嗎?刪除
bootloader
和添加kernel = '/vmlinuz' ramdisk = '/initrd.img'
使用主機系統的核心。
如果您沒有在來賓系統上正確配置 GRUB,PyGrub 將無法啟動。還要檢查這個http://sygard.no/2012/09/ubuntu-12-04-xen-domu-failed-to-run-bootloader-3/
我還沒有解決這個問題的辦法。我的情況是我在主機上執行 Ubuntu 14.04 Xen/xl(預設情況下在 apt 源中沒有 Bionic 核心),並且 Ubuntu 18.04 作為虛擬機(具有核心 4.15.0-101-generic)。
當虛擬機關閉時,我掛載了磁碟並將核心從盒子中復製到主機:
mount /dev/ssd/virtualmachine-disk /mnt cp /mnt/boot/boot/vmlinuz-4.15.0-101-generic /boot cp /mnt/boot/boot/initrd.img-4.15.0-101-generic /boot umount /mnt
然後編輯 /etc/xen/virtualmachine.cfg 並更改核心
kernel = '/boot/vmlinuz-4.15.0-101-generic' ramdisk = '/boot/initrd.img-4.15.0-101-generic'
我還不知道,為什麼 pygrub 不適用於這台特定的機器。它適用於同一主機上的六個其他虛擬機。