題 如何安裝Linux和Windows 7並排運行,而不需要重啟?


我希望在兩種操作系統中具有最高性能,並且無需重啟即可在它們之間切換。我有足夠的內存(32 GB)和磁盤空間。

兩個簡單的選項是:

  1. 雙啟動 - 這不允許在操作系統之間進行即時或幾乎即時的切換
  2. 使用VM(例如,VirtualBox) - 這會顯著損害託管操作系統的性能,尤其是對於圖形

(通過鍵盤快捷鍵或其他類似方法)在兩個操作系統之間切換會很棒,其中一個是熱的,另一個是“熱備用”。


46
2018-05-01 14:46


起源


評論不適用於擴展討論;這次談話已經開始了 轉移到聊天。 - DavidPostill♦
並排又名啟蒙運動 - TaW
就個人而言,我使用Windows並只使用SSH進入Linux VM進行cli訪問。每個操作系統的用例是什麼? - FreeSoftwareServers
有關: askubuntu.com/questions/59943/... - Stackcraft_noob


答案:


在您的問題中沒有提到的另外兩種運行Windows和Linux的方法:

  1. 你可以安裝 適用於Linux的Windows子系統 如果您運行的是64位Windows 10.這將允許您在Windows上本機運行某些Linux軟件。
  2. 您可以並排運行兩個操作系統(字面意思) 按照這個例子enter image description here

164
2018-05-01 15:02



關於Windows的Solaris子系統,這是一個笑話性能明智。與Phoronix的VirtualBox相比,查看最新(2018年)對其可怕性能的精彩回顧: Windows 10 WSL與Linux 2018年初的性能。關於兩台筆記本電腦並排,這不是我想要的。我想使用一台功能強大的PC並在操作系統之間切換,不需要VM的開銷,或者至少可以實現最低的開銷,特別是在涉及2D圖形時。 - PowerDeveloper
@PowerDeveloper由於操作系統的設計方式,您無法找到所需內容。操作系統不是為共享計算機控製而設計的。您可以選擇虛擬化一個或兩個操作系統,重新啟動以切換操作系統或使用兩台計算機。 - Wesley Wiser
如果您使用文字並排選項,則可以使用單個鍵盤/鼠標和KVM切換器(或Synergy等軟件選項),這樣您就可以選擇使用鍵盤快捷鍵在計算機之間切換。 - Zach Lipton
@JulieinAustin你是對的,大多數現代操作系統都是管理程序感知的,但這似乎並不是OP真正要求的。他們希望能夠像現在在Slack和Chrome之間輕鬆切換一樣輕鬆切換實時操作系統。沒有設計用於執行此操作的操作系統。此外,他們還表示他們不希望受到虛擬化的影響。我意識到這個部門的虛擬機管理程序已經變得更好了,但是與原始金屬相比仍然存在性能損失。 - Wesley Wiser
@PowerDeveloper,我不完全相信你 讀 您鏈接到的整篇文章。在我看來,除了I / O之外,WSL正在做一項值得尊敬的工作,在少數情況下經常擊敗競爭對手。我承認我不這樣做 大規模的 WSL下的工作量,但它允許我一舉退出VBox,VmWare和CygWin。因人而異。


我相信開銷最小的解決方案是使用Linux作為主要操作系統並使用KVM(基於內核的虛擬機,而不是KVM切換器,雖然也可以使用)來虛擬化Windows。你現在可以獲得性能與裸機運行非常接近,你甚至可以通過輔助GPU傳遞到VM或擁有一個專用GPU並使用集成GPU作為主機。您還可以使用Looking Glass獲得比使用spice更具響應性的解決方案(這是virt manager默認使用的,與使用遠程桌面基本相同。) https://forum.level1techs.com/t/looking-glass-guides-help-and-support/122387

唯一棘手的部分是硬件兼容性。有很多怪癖,比如需要CPU和兼容Intel VT-D或AMD等效的主板,需要一個足夠新的GPU,它有一個UEFI VBIOS(或者來自製造商的VBIOS),你的IO通過哪些芯片這有助於將外圍設備專用於VM等。

我建議你閱讀這篇博文,了解你必須做些什麼來設置它。它絕對不像使用虛擬機或VMWare那麼簡單,但如果你設置好經理,你可以跳過這個人經歷的很多手動步驟。在KVM,QEMU和VFIO下的Arch wiki上還有關於所有這些的更多信息。 https://heiko-sieger.info/running-windows-10-on-linux-using-kvm-with-vga-passthrough/

使用2600k,您需要降級到非K版本,並檢查您的主板是否也支持VT-D。我有一個3700k和一個不兼容的主板同樣的問題,不得不把它們都切換出來,但我最終通過ebay購買和銷售賺了一點錢。

為了詳細說明我使用的一些術語,這裡有一些簡短的描述。

Virt-manager(或Virtual Machine Manager)是一個GUI應用程序,用於使用KVM管理虛擬機。您可以將此視為使您的體驗更接近於使用VMWare或VirtualBox時的體驗。它為您提供了一個用於設置VM的嚮導,允許您更改正在通過的硬件,顯示資源使用情況的圖表,並讓您管理電源。有關更多信息和屏幕截圖,請訪問以下網站: https://virt-manager.org/

Spice為您提供對VM的遠程訪問。它與使用遠程桌面非常相似,無論是在使用中還是在性能上,但默認情況下它由virt manager使用。我希望我可以對我的描述更具體,但我沒有太多使用它,甚至網站對於它的具體內容也很模糊。 https://spice-space.org/

Looking Glass是使用像Spice這樣的東西的替代方案,但具有極低的延遲。它將幀緩衝區從GPU複製到系統內存,然後將其吐出到屏幕上。它仍處於開發階段,但效果非常好,更適合需要響應更快的解決方案的應用程序。項目網站上提供了非常全面的設置指南: https://looking-glass.hostfission.com/quickstart

Spice和Looking Glass的另一種替代方案是將顯示器連接到通過GPU的輸出之一。這反應更靈敏,但需要在同一顯示器上顯示另一個顯示或切換輸入。


52
2018-05-01 19:04





正如這個問題的所有其他答案都提到的那樣,虛擬化是最佳選擇。最小化性能損失的一種方法是將Windows作為主操作系統運行,並虛擬化a 輕量級 Linux發行版在我的頭頂,你可能會嘗試:

通過選擇輕量級發行版,您可以將性能降低到足以設置您滿意的系統。


11
2018-05-01 21:08



Arch Linux很好,重量很輕;您可以安裝您選擇的GUI桌面。例如沒有合成的KDE運行良好,具有強大的窗口切換功能,但不需要3D圖形硬件。 - Peter Cordes
這是我使用的解決方案,因為a)我的大多數性能需求都在於Windows,b)它很容易設置和使用,而c)它的成本為零。 - tecu
@PeterCordes Arch不是輕量級的。我的一點點小事,但由於他們的包裝政策,Arch比任何其他發行版的netinstall重得多。拱門不是輕量級的,它只是開箱即用。如果您需要輕量級系統,請選擇Alpine或Void或Debian。 - Different55
@ Different55:雖然以什麼方式衡量?你還在談論所需的文件系統空間嗎?或者你是說Arch在運行的進程數或內存和/或CPU使用量方面也“很重”?因為在VM中使用,後者是一種更重要的重量;磁盤空間很便宜(當你從未讀過這些文件時,它們與性能無關。) - Peter Cordes
你正在談論的那種擴展磁盤文件在實際使用空間時沒有多大幫助,只是不明智。這是否真的是一個問題取決於具體情況。在物品上投錢,即使只需40-50美元也不總是一種選擇。 - Different55


使用X11技術堆棧(大多數)的Unix / Linux GUI應用程序是 本質 能夠在遠程機器上顯示(包括網絡連接的VM及其主機的場景)。

您可以在Windows機器上安裝X11顯示服務器(有多個免費和非免費選項),在VM中運行您的Linux系統(甚至多個Linux系統),並在Windows中實現重大的實際圖形X11服務器。 Linux系統中的GUI應用程序將通過本地網絡連接到X11顯示服務器(如何設置它在這裡超出範圍,因為有很多不同的方法可以做到這一點。指針:DISPLAY環境變量,帶有X11轉發的ssh, XDMCP)。


7
2018-05-01 22:14



理論上是的,但現代GUI程序(和窗口庫)主要使用X11協議將pixmaps發送到服務器,而不是像\ XDrawRectangle這樣的小請求。但是,某些軟件仍然可以在服務器端處理字體。無論如何,在客戶端和服務器之間運行沒有共享內存的X11工作,但可能比你想要從VM guest虛擬機到主機的未加密TCP連接運行更慢。特別是考慮到Windows X11服務器必須將X11請求轉換回Windows繪圖函數而不是使用/ 存在 直接視頻驅動程序。 - Peter Cordes


我已經在高性能環境中完成了這項工作,並且已經為我們運行的應用程序實現了接近本機性能的程度。這不是'這裡是怎麼做',而是兩個例子,我已經做到了這一點並取得了足夠的性能並解決了一個問題。

用於數據科學和軟件開發

我目前的工作站(筆記本電腦和我的工作站)將Windows 10和Ubuntu並排安裝在兩個獨立的分區上。啟動我的機器後,我可以選擇Windows或Ubuntu並啟動到任一操作系統。在Ubuntu中,我使用VirtualBox來引導本機Windows分區並像任何其他虛擬機一樣運行它(看這裡)。

一切正常:拖放,共享剪貼板和文件共享。我在我的虛擬機中經常運行大型多線程Excel電子表格(不要拍攝 - 我沒有構建它們!)一切都很笨拙。

用於地球物理,地質和工程工作

幾年前,我使用CentOS和Windows 7構建了類似的設置。這樣我的同事就可以在Linux中運行昂貴,性能匱乏的地球物理模擬,同時仍能在Windows中訪問性能相關的2D和3D繪圖軟件。 7(以及Outlook和Microsoft套件的其餘部分)。我們嘗試了VirtualBox,但是花了很多錢,我們最終使用VMware Workstation和GPU傳遞解決了這個問題(與工資和軟件許可相比,成本微不足道)。對於我們的應用程序,我們在Windows中實現了與原生性能非常接近,並且每個人都對設置非常滿意。

這些時間非常多(約2010年):Quadro 4000,雙四核Xeon和32 GB內存。組裝這些設置的最艱鉅的部分(據我所記),與硬件RAID控制器有關。我使用這種設置維護了大約十幾台機器,我們在整個項目生命週期內從未遇到過這些機器購買的問題(約2年)。這對我們來說是一個非常好的結果,因為如果一台機器停機一周,這將使我們的工作效率低於工作站本身!

結論

使用上述雙啟動選項可以獲得非常好的性能。我使用VirtualBox和VMware的不同場合,使用Linux發行版(Mint,Ubuntu和CentOS)和Windows版本(7,10)的組合,並始終為我的需求獲得足夠的性能。

此設置的另一個優點是,如果a)您的情況發生變化,或者b)此設置不足以滿足您的需求,您可以查看分區並將Windows或Linux置於其後。如果性能沒有削減它,你也可以直接啟動到操作系統,你需要更多的性能。

最後,關於許可的說明:如果你本地啟動Windows它  查看不同的硬件並詢問有關許可證的信息。對於Windows 10來說,這不是一個問題,當你與你的工作相處時,它會簡單地嘮叨你。我不記得我們是如何為這些地球物理工作站解決這個問題的。我記得我們有一個批量許可證,可能還有一些微軟代表的幫助。

結語:遠程X和VirtualGL

我還使用了設置工作站 VirtualGL 以及用於高性能石油模擬的GPU集群。我甚至在AWS中做過這個,但我不建議它出於多種原因:成本,性能和便利性。


7
2018-05-03 09:25





我不知道有任何這樣做的方法沒有與之相關的一些重要注意事項。

如果它是Chromebook,您可以使用 Crouton 完成這樣的事情。 但它的作用是在Chrome OS和另一個發行版之間共享內核,名義上是Ubuntu。由於Windows和Linux使用不同的內核,因此這種方法是不可能的。他們不會很好地在一起玩。

要引導操作系統,內核需要對硬件進行低級訪問,並且並行運行兩個不同的內核(Windows和Linux)根本不是很容易實現的,如果不是不可能的話。

如果你堅持使用一台計算機,那麼某種虛擬化可能是你唯一的辦法。我不使用Mac,但從我看到的情況來看,Parallels非常無縫 - 你可以用熱鍵在操作系統之間“切換”。我在Windows和Linux上都使用過VMWare,並且對託管(來賓)操作系統的性能感到驚訝,它非常接近原生(雖然我沒有測試圖形密集的工作負載)。 VirtualBox是開源的,免費的,它運行正常,但VMWare工作得更好。我認為有限的免費版本。

如果您堅持要為兩個操作系統提供本機性能,那麼雙啟動是實現這一目標的唯一方法。如果你有一個快速SSD(比如三星960或類似),那麼重啟不需要花那麼長時間。


5
2018-05-01 18:54





硬件虛擬化太成問題了。雖然90%的東西都有好處,但另外10%的東西有時會阻止你並最終讓你廢棄整個概念。

有人在其中一條評論中暗示了這一點,但我確實認為使用KVM切換器的並排機是最有效的方式來滿足您的要求。

我有幾年現在運行兩台並排的Linux和Windows機器。我有兩個相鄰的32英寸顯示器;一個插入Linux機器,另一個連接到Windows機器。

我有一個滾動可調節的鍵盤/鼠標桌,可以讓我站在或坐在我的鍵盤/鼠標的任何(或兩個)顯示器前面。

踢球者是KVM切換器允許您在控制Linux盒子或控制Windows盒子之間立即切換。

您還可以更進一步購買Synergy,通過使用軟件在機器之間切換鼠標和鍵盤,完全無需KVM切換器。

沒有更煩人的雙靴子,KVM / VirtualBox / VMWare開銷或不兼容性,你仍然覺得它是一台計算機。


5
2018-05-02 00:49



完全不打折你的建議,因為我同意KVM切換器或協同作用也是很好的解決方案,但你可以避免10%嗎?我已經使用了這個設置一段時間並且沒有任何問題(好吧,它打破了一次,但我使用Arch,所以這是給定的。) - thnikk luquerm
好吧,基於我無法使用它的粗略次數,我只得出10%的BS號碼。 SharePoint不適用於虛擬化環境,所以我不能使用它,這是一個很大的問題。當我在Windows上使用Linux VM時,我正在開發的應用程序的構建和運行速度比啟動慢30%。無法通過虛擬會話玩StarCraft2。剪貼板複製粘貼非常煩人是不一致的。使用VNC,但這很古怪,並不像真正的桌面會話那樣流暢 - Nicholas DiPiazza
@NicholasDiPiazza:你現在絕對可以通過GPU直通玩Starcraft2。 - whatsisname
哇噁心。我會調查一下 - Nicholas DiPiazza
@NicholasDiPiazza在這三者中,KVM是我唯一能夠在桌面上接近本機性能的人。但是有很多警告和硬件要求。如果你想要不錯的圖形性能,你需要完全犧牲共享複製粘貼等,並在第二個GPU和屏幕上運行VM。在這種情況下,除了硬盤性能之外,我已基本上管理了所有內容。 - Vality


根據你想要達到的目標,你可以試試Wine。

https://www.winehq.org/

Wine(最初是“Wine Is Not Emulator”的首字母縮寫)是一個兼容層,能夠在幾個符合POSIX標準的操作系統上運行Windows應用程序,例如Linux,macOS和BSD。

這將允許您在Linux上並行運行Linux和(某些)Windows應用程序。

可以在以下位置找到已知可與Wine一起使用的Windows應用程序列表 https://appdb.winehq.org/

我個人用它在Linux上運行一些使用DirectX的遊戲,而DirectX沒有Linux版本。眾所周知,Microsoft Office等應用程序可以使用它。


5
2018-05-03 12:17





從技術上講,您可以在兩個系統上啟用休眠功能,並在將另一個系統置於休眠狀態後從休眠狀態恢復系統。這比實際重啟更快更方便。我是在我當前的機器上做的。

到目前為止似乎沒有任何問題,因為Linux使用特殊交換區域來存儲休眠圖像,而Windows使用系統分區。


4
2018-05-03 22:25





你要 coLinux的。它幾乎完美地符合您的要求 - Linux內核作為Windows下的特殊權限進程運行,在內核中沒有性能影響(儘管外圍設備仍然是虛擬化的,並且圖形通過X11協議)。 不幸的是,該項目已不再開發......其他方法(VirtualBox等)從此成熟,並提供更好的用戶體驗。


4
2018-05-02 13:02





一切都有利有弊。以下是截至2018年5月為我工作的:

  • VirtualBox的:這很有效。現在。每天。我運行Windows主機和Ubuntu VM。一切都很棒,包括多顯示器支持和網絡(我使用橋接模式,因此每個VM只顯示在與主機分離的網絡上)。我不喜歡“大傢伙”控制的解決方案,但老實說,甲骨文已經做好了這個產品(至少在目前)。

  • 運行多台計算機,這是一個很好的方式! 協同 甚至可以讓你將鼠標和鍵盤都按在它們上面。 DDM USB KVM 也很好,但它們很貴!

  • 雙啟動:我在大多數計算機上運行四個或更多啟動。您將不得不了解GPT和遺留MBT分區以及每個操作系統如何破壞它們。 Refind在幫助您正確完成方面做得非常出色,特別是如果您擁有半現代硬件。即使我總是在我的所有PC上啟動Windows-Ubuntu(-Mac)啟動,但實際上我從未真正重啟到其他操作系統。這太具破壞性了。相反,總是最終將每台計算機專用於一個操作系統上的特定任務集。

  • 在Windows中運行X服務器,從網絡VM中提取Linux窗口。可以辦到;我成功運行了x2go一段時間。但請參閱下一個項目,了解為什麼我不會走這條路。

  • 跨(任意)網絡使用VM:我嘗試從AWS VM開發,關閉vSphere VM以及各種其他組合,您將始終在短時間內放棄,因為您是網絡的奴隸您在開發過程中不想處理的問題。即使您擁有瘋狂的網絡資源,也不要考慮它。

最後要說明的是,我應該盡可能在專用的Ubuntu機器上進行開發。 VirtualBox解決方案將我的屁股保存在美國公司。走進你口袋裡的虛擬機映像,在你糟糕的新Windows lappie上安裝VirtualBox吧!


4
2018-05-03 20:27



您是否可以在美國公司的口袋中攜帶虛擬機映像? - Peter Mortensen
@Peter我想並不總是這樣。一個複雜的信任問題。 - moodboom