主機 PC 上的 Windows 7 & Virtual PC 和 Internet(網關)問題
我在幾年前的 PC 上升級到 Windows 7。CPU 距離在其上安裝 Hyper-V 還差一個版本。因此,我不得不安裝 Microsoft Virtual PC 2007 (v6.0.156.0) 來執行完整的 XP 實例,而不是廣為宣傳的無縫 XP 虛擬化。不過沒關係;“舊”版本很有用,因為我用它來執行整個 XP/IE 堆棧的不同版本進行測試。(我是一名 Web 開發人員。) …對於我們仍在辦公室用於調度的一個 16 位應用程序。* 嘆息 *
虛擬實例工作正常,包括網路。我的問題是重新啟動或退出睡眠模式後,我的主機Windows 7 將無法連接到 Internet。它將很好地連接到本地網路。如果我在 LAN 連接屬性框中禁用“虛擬機網路服務”項(我將在此處稱為“VMNS”),它就會開始工作。但是,Virtual PC 實例失去了網路連接。如果我在同一個實例中再次啟用 VMNS,一切正常(主機上和虛擬化實例中的 Internet)。但在下一次重新啟動/睡眠週期之後,這將重新開始。
路由表給了我一個線索。在啟用 VMNS 的情況下執行循環時:
IPv4 Route Table =========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 On-link 10.0.3.51 20 0.0.0.0 0.0.0.0 10.0.10.10 10.0.3.51 276 ...
禁用 VMNS 後,第一個路由消失。我假設這是為了讓 VMNS 攔截虛擬化實例的網路連接並正確轉發它們?不過只是猜測。
更多資訊:
我檢查了我的防火牆設置和服務(因為我是一個控制納粹並且經常關閉)但找不到任何有意義的東西,如果打開會改變任何東西。所以它可能是我缺少的東西,但我不知道是什麼。
我目前的黑客解決方案:
所以,我想我自己會弄亂路線,看看是否有幫助,確實如此。如果我
route delete 0.0.0.0
在通用 (0.0.0.0) 網關路由上執行一個,並在第二行加上route add 0.0.0.0 mask 0.0.0.0 10.0.10.10
– 指向我的實際網關 (10.0.10.10) 的那一行 – 那麼我就不必搞砸了VMNS 的禁用/啟用周期,一切正常。執行這兩個命令比打開連接選項並禁用和重新啟用 VMNS 更快,但我仍然不想在每次啟動時都使用該 hack 腳本。(哦,我還嘗試在我的網路適配器中使用硬編碼 TCP/IP 設置,包括設置高指標等,但這也無濟於事。)
有關解決此問題的正確方法的任何建議?
我最終只是創建了一個批處理文件並在從 Windows 計劃登錄時執行它。根據我回到機器時的電源狀態,我仍然必須以管理員身份自己執行它。不是我喜歡的解決方案,但它有效。
****我已經使用 gpedit.msc 在本地電腦策略/電腦配置/Windows 設置/腳本(啟動/關機)/啟動下進行了臨時修復。要添加文件,請點擊顯示文件並在提供的視窗我添加了一個 Startup.cmd 腳本文件,其中包含以下內容
路由刪除 0.0.0.0 遮罩 0.0.0.0
ipconfig /發布
ipconfig /更新
這消除了啟動時的錯誤路線