Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Ubuntu 12.04 安裝 Xen 常見問題彙總:GRUB2 啟動順序、Hypervisor 找不到、內核參數調整

編輯:關於 Linux

Ubuntu 12.04 安裝 Xen 虛擬化平台時,常遇到「重啟後 GRUB 選單無 Xen 項目」、「xm list 報錯 can't find hypervisor info」、「32 位系統需 PAE 核心」等問題。本文系統彙總安裝流程、核心錯誤成因、GRUB2 配置調整、驗證步驟。

標準安裝流程

  1. 安裝編譯依賴:
    sudo apt-get install build-essential binutils python-dev libncurses5-dev libcurl4-openssl-dev xorg-dev uuid-dev bridge-utils bison flex udev gettext bin86 bcc iasl libgcrypt11-dev libssl-dev pciutils libglib2.0-dev gcc-multilib texinfo zlib1g-dev
  2. 安裝 Xen Hypervisor:
    # 64位系統
    sudo apt-get install xen-hypervisor-4.1-amd64 xen-utils-4.1 xenwatch xen-tools xen-utils-common xenstore-utils
    
    # 32位系統 (需先啟用 PAE 核心)
    sudo apt-get install linux-image-server
    sudo apt-get install xen-hypervisor-4.1-i386 xen-utils-4.1 ...
  3. 安裝管理工具:
    sudo apt-get install virtinst python-libvirt virt-viewer virt-manager
  4. 重啟選擇 Xen 核心啟動
  5. 驗證:sudo xm list 應顯示 Domain-0 資訊

核心問題 1:GRUB2 啟動順序導致 Xen 核心不被載入

現象:重啟後 GRUB 選單無 Xen 選項,或預設啟動一般 Linux 核心,導致 xm list 失敗。

原因:GRUB2 依 /etc/grub.d/ 目錄下檔案編號順序生成 grub.cfg,編號越小越優先。預設 10_linux (一般核心) 在 20_linux_xen (Xen 核心) 之前。

解決方案 A (官方建議)

mv /etc/grub.d/10_linux /etc/grub.d/50_linux
update-grub2

解決方案 B (更精確調整順序)

mv /etc/grub.d/10_linux /etc/grub.d/20_linux
mv /etc/grub.d/20_linux_xen /etc/grub.d/10_linux_xen
update-grub2

驗證:cat /boot/grub/grub.cfg | grep -A2 -B2 xen 確認 Xen 選單在前。

核心問題 2:GRUB vs GRUB2 混淆

  • GRUB (Legacy):配置檔 /boot/grub/menu.lst,手動編輯
  • GRUB2:配置檔 /boot/grub/grub.cfg (自動生成),透過 /etc/default/grub + /etc/grub.d/ 管理

Ubuntu 12.04 預設使用 GRUB2。嘗試手動編輯 grub.cfg 或設定 GRUB_DEFAULT=數字 均無效,必須調整 /etc/grub.d/ 檔案順序後執行 update-grub2。

核心問題 3:32 位系統缺少 PAE 支援

Xen 32 位模式要求核心支援 PAE (Physical Address Extension)。Ubuntu 12.04 32 位預設核心無 PAE,需安裝 linux-image-server (含 PAE) 後再安裝 xen-hypervisor-4.1-i386。

完整修正流程總結

  1. 確認系統架構 (32/64 位) 選擇正確 xen-hypervisor 套件
  2. 32 位先安裝 linux-image-server
  3. 安裝完整 Xen 套件組
  4. 調整 /etc/grub.d/ 檔案順序讓 Xen 核心優先
  5. update-grub2 重新生成配置
  6. 重啟並在 GRUB 選單選擇 Xen 核心 (通常為第 2 項)
  7. 執行 sudo xm list 驗證 Domain-0 運行正常

進階提示

  • 生產環境建議使用 xl 指令取代已棄用的 xm
  • Xen 4.1+ 支援 pygrub 直接啟動客體核心,無需 pygrub 佈署
  • 記憶體球oon 驅動 (xen-balloon) 需在客體 OS 載入以支援動態記憶體調整
Copyright © Windows教程網 All Rights Reserved