跳到主要內容

如何客製VMware ESXi安裝光碟(加入Realtek驅動程式)


操作實例說明:

如果你在安裝VMware ESXi server的時候,發生安裝程式無法找到你的硬體裝置,例如:ESXi找不到你的網路卡,導致無法繼續安裝ESXi,該怎麼辦?

發生這個問題原因為安裝程式沒有對應的硬體驅動程式,所以無法正確地驅動你的硬體裝置。VMware提供了一種解決的方式:重製安裝光碟Installation ISO,將缺少的驅動程式加入到安裝程式中。

本文主要描述,如何製作客製化的VMware ESXi 安裝光碟。在開始製作之前,你需要有VMware PowerCLI這個軟體。


適用版本
  • vSphere 5.5


操作步驟:

  1. 下載並且安裝PowerCLI在你的電腦中。
  2. 以系統管理員執行PowerCLI,並且執行製作ISO指令。
  3. 成功後會產生客製的ISO檔在你指定的路徑。

下列為"製作ISO指令":(綠色的字體表示為指令)
#假如你是第一次使用PowerCLI請先執行:
Set-ExecutionPolicy RemoteSigned 
#先確認ImageBuilder snapin是否有加入到PowerCLI,如果沒有請執行 
Add-PSSnapin VMware.ImageBuilder
#連到VMware的軟體庫(software depot)抓取最新軟體列表,這會花一些時間
Add-EsxSoftwareDepot
#接著提供下列的software depot URL
https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml 
# 查詢目前的image profile files,找出目前最新的版本,例如
Get-EsxImageProfile -Name "ESXi-5.5.0*"
#使用標準的ESXi 5.5 iso來製作客製ISO,加入所需要的驅動程式到ISO中。下列指令是指使用標準的ESXi 5.5 iso,複製一份命名為ESXi-5.5.0-1331820-Abay
New-EsxImageProfile  -CloneProfile "ESXi-5.5.0-1331820-standard" -name "ESXi-5.5.0-1331820-Abay" -vendor "ABAY" 
#這個例子,加入Realtek的網卡驅動
Add-EsxSoftwarePackage -ImageProfile "ESXi-5.5.0-1331820-Abay" -SoftwarePackage "net-r8168"
Add-EsxSoftwarePackage -ImageProfile "ESXi-5.5.0-1331820-Abay" -SoftwarePackage "net-r8169"
#最後一步,將所設定好的ISO輸出到你的電腦磁碟中。
Export-ESXImageProfile -ImageProfile "ESXi-5.5.0-1331820-Abay" -ExportToISO -filepath C:\ESXi-5.5.0-1331820-Abay.iso

資料參考:

  1. http://www.ryanbirk.com/fixing-broken-realtek-and-marvell-nics-in-esxi-5-5/
  2. http://www.v-front.de/2013/09/how-to-add-missing-esxi-50-drivers-to.html


留言

  1. 太難了@@ ...我的網路卡是Realtek RTL8111DL
    做到加入網路驅動的命令一直搞不定..能請你幫忙嗎?

    回覆刪除
    回覆
    1. 請你提供錯誤訊息給我,如果還是無法排除,我再提供我自己製作的iso檔給你試試看。

      刪除
  2. 作者已經移除這則留言。

    回覆刪除
  3. 安!
    請問任何網卡都能打包應用嗎?

    回覆刪除
    回覆
    1. @hugh chen, 你要安裝哪張網卡?

      刪除
    2. 你好 我想裝這一張
      INTEL E1G42ETBLK

      刪除
    3. 你可以先到http://www.vmware.com/guides.html找一下是否支援,如果有支援,才能透過上述的方式,來製作ISO。

      刪除
  4. Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml
    這個動作是取得軟體列表
    有辦法看到這個指令所取得的軟體列表內容嗎?謝謝!

    回覆刪除
  5. 這個我沒有仔細研究。

    回覆刪除

張貼留言

這個網誌中的熱門文章

如何關閉nouveau-kernel-driver,解決無法安裝Nvidia driver問題

如何關閉nouveau-kernel-driver,解決無法安裝Nvidia driver問題 在安裝Nvidia官方的驅動程式時遇到無法執行安裝的情況,並且出現這樣的訊息: 問題環境: 1. Ubuntu 18.04 處理方式: 1. 移除所有已經安裝的Nvidia相關的套件: sudo apt-get remove nvidia* && sudo apt autoremove 2. 安裝相關套件用來重新編譯kernel(安裝Nvidia-driver使用) sudo apt-get install dkms build-essential linux-headers-generic 3. 編輯modprobe設定檔,停用 nouveau kernel driver sudo vim /etc/modprobe.d/blacklist.conf 加入下列的設定: blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0 alias nouveau off alias lbm-nouveau off 4. 停用kernal nouveau echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf 5. 重新更新kernel sudo update-initramfs -u 6. 重新開機 sudo update-initramfs -u 最後再繼續安裝官方的driver即可。

如何設定使用者有sudo權限且不需要輸入密碼?

在Ubuntu的環境下如果需要將使用者的權限設定為可以sudo要如何作呢? 只需要執行下列指令,來進行設定即可: 產生sudo的設定檔: echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username} 例如要修改使用者abay echo "abay ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/abay 修改設定檔的權限: sudo chmod 0440 /etc/sudoers.d/{username} 完成上述指令該使用者即可使用sudo來切換使用者權限。 另外一個簡單的方式: 直接透過visudo指令編輯sudo設定檔就可以了。

如何在Nginx所設置的Proxy中可以取得真實客戶的IP位址

如何在Nginx所設置的Proxy架構中可以取得真實客戶的IP位址 常見的情境是需要對客戶端IP進行特定的處理,例如:限定存去次數、流量或是啟用快取服務,此時及需要藉由來源客戶端的IP位置來關聯。 設定前先來說明一下一些變數名稱: $remote_addr Nginx核心模組中( ngx_http_core_module )中的內建變數$remote_addr就是用戶端的IP位址。 X-Forwarded-For X-Forwarded-For(XFF),是一個用來辨識通過HTTP Proxy或是load balance連接到web server,用戶端最原始的IP位址使用的HTTP Request header欄位。 X-Real-IP X-Real-IP為傳統上HTTP reverse proxy會使用非標準的header去告知upstream server關於來源戶端的IP位址,之一個HTTP header欄位。在Nginx的文件( http://nginx.org/en/docs/http/ngx_http_proxy_module.html )範例中可以看到。 $proxy_add_x_forwarded_for Nginx Http proxy模組中( ngx_http_proxy_module )中的內建變數$proxy_add_x_forwarded_for,會使用HTTP Request Header, X-Forwarded-For將來源IP記錄於此,當request經過多台proxy或是load balance產生的多筆IP位址會以逗號分開來,如果一開始沒有設置X-Forwarded-For,那麼在模組中的$proxy_add_x_forwarded_for的值就會跟$remote_addr一樣。 通常可以透過下列的指令來設定 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 設定方法: 在第一層的proxy或是load balancer就先設定nginx的default.conf proxy_set_header X-Real-IP $remote_addr; proxy_set_hea