web-dev-qa-db-ja.com

再起動を必要とせずに、LinuxとWindows 7を並べて実行するにはどうすればよいですか。

両方のOSで最高のパフォーマンスと再起動なしでそれらを切り替えることができればと思います。私はたくさんのメモリ(32 GB)とディスク容量を持っています。

2つの簡単なオプションは以下のとおりです。

  1. デュアルブート - これはオペレーティングシステム間の瞬時またはほぼ瞬時の切り替えを可能にしません
  2. VM(VirtualBoxなど)を使用 - これは、特にグラフィックの場合、ホストOSのパフォーマンスを著しく低下させます。

(キーボードショートカットや他の似たような方法で)2つのOSを切り替えるのは素晴らしいことです。

47
PowerDeveloper

質問で言及していないWindowsとLinuxを並行して実行する方法は2つあります。

  1. 64ビットWindows 10を実行している場合は、 Linux用Windowsサブシステム をインストールできます。これにより、LinuxソフトウェアをWindows上でネイティブに実行できます。
  2. この例のように両方のオペレーティングシステムを(文字通り) 並べて実行することができますenter image description here
163
Sir Adelaide

オーバーヘッドが最も少ないソリューションは、プライマリOSとして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

唯一のトリッキーな部分は、ハードウェアの互換性です。 Intel VT-DまたはAMDと同等のCPUとマザーボードを必要とする、UEFI VBIOSを持つ新しい十分なGPUを必要とする(または製造元からVBIOSを取得する)チップが欠けるなど、多くの癖がありますIOは、周辺機器をVM専用にするのに役立ちます。

このブログ記事を読んで、設定するために何をしなければならないかを理解することをお勧めします。 virtualboxやVMWareを使用するほど簡単ではありませんが、virt managerを徹底的に設定すれば、この男が行った多くの手動手順をスキップできます。 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)は、KVMを使用して仮想マシンを管理するためのGUIアプリケーションです。これは、VMWareまたはVirtualBoxを使用している場合のエクスペリエンスに非常に近いものと考えることができます。 VMをセットアップするためのウィザードが提供され、通過するハードウェアを変更したり、リソース使用量のグラフを表示したり、電力を管理したりできます。詳細情報とスクリーンショットは、次のWebサイトで入手できます。 https://virt-manager.org/

Spiceは、VMへのリモートアクセスを提供します。リモートデスクトップの使用とパフォーマンスの両方に非常に似ていますが、デフォルトでvirt managerによって使用されます。私は自分の説明をもっと具体的にしたいのですが、あまり使用していませんし、ウェブサイトでさえ具体的には曖昧です。 https://spice-space.org/

ルッキンググラスは、スパイスのようなものを使用する代わりに、非常に低いレイテンシーで使用できます。フレームバッファをGPUからシステムメモリにコピーしてから、画面に吐き出します。それはまだ開発の非常に初期ですが、非常にうまく機能し、より応答性の高いソリューションを必要とするアプリケーションにより適しています。セットアップの非常に包括的なガイドは、プロジェクトのWebサイトで入手できます。 https://looking-glass.hostfission.com/quickstart

SpiceとLooking Glassに代わる別の方法は、ディスプレイをGPUを通過した出力の1つに接続することです。これは応答性が向上しますが、別のディスプレイまたは同じディスプレイで入力を切り替える必要があります。

52
thnikk luquerm

この質問に対する他のすべての回答が述べたように、仮想化は進むべき道です。パフォーマンスの低下を最小限に抑える1つの方法は、WindowsをプライマリOSとして実行し、軽量のLinuxディストリビューションを仮想化することです。私の頭の上では、試してみるとよいでしょう。

  • Lubuntu
  • Xubuntu
  • または Alpine Linux (Alpine上のさまざまなデスクトップの「使い方」の一覧については this link を参照してください)

軽量のディストリビューションを選択することで、満足できるシステムをセットアップするのに十分なパフォーマンスを緩和できる可能性があります。

11
Kryten

私はこれを高性能の環境で行い、実行していたアプリケーションのネイティブパフォーマンスに十分に近いパフォーマンスを達成しました。これはそれほど「やり方」ではありませんが、これを行って適切なパフォーマンスを達成し、問題を解決した2つの例です。

データ科学とソフトウェア開発のために

私の現在のワークステーション(ラップトップと私のワークステーション)は、Windows 10とUbuntuを2つの別々のパーティションに並べてインストールしています。私のマシンを起動したら、WindowsかUbuntuを選択してどちらかのオペレーティングシステムで起動することができます。 Ubuntuでは、VirtualBoxを使ってネイティブのWindowsパーティションを起動し、他の仮想マシンと同じように実行します( こちらを参照 )。

ドラッグ&ドロップ、クリップボードの共有、ファイルの共有など、すべてがうまくいきます。私は自分の仮想マシンで大規模なマルチスレッドのExcelスプレッドシートを常時実行しています(撮影してはいけません - 作成していません!)。

地球物理学的、地質学的および工学的作業のために

数年前、私はCentOSとWindows 7を使って同じようなセットアップを構築しました。これは私の同僚がWindowsで同様にパフォーマンスの高い2Dおよび3Dマッピングソフトウェアにアクセスできる間、Linuxで高価でパフォーマンスの高い地球物理シミュレーションを実行できるように7(Outlookおよびその他のMicrosoftスイートと共に)。私たちはVirtualBoxを試しましたが、お金をかけて、VMware WorkstationとGPUパススルーを使用して最終的に問題を解決しました(費用は給与やソフトウェアライセンスと比較して些細なものでした)。私たちのアプリケーションでは、Windowsのネイティブパフォーマンスに近いパフォーマンスを達成し、みんなセットアップに満足していました。

Quadro 4000、デュアルクアッドコアXeons、32 GBのメモリ。私が思い出す限りでは、これらのセットアップを組み立てる上で最も骨の折れる部分は、ハードウェアRAIDコントローラに関係するものでした。私はこのセットアップを使用して約12台のマシンを保守しましたが、これらのマシンが購入されたプロジェクトの存続期間(〜2年間)を通じて、私たちは1つの問題を抱えたことはありませんでした。 1週間に1台のマシンが停止した場合、ワークステーション自体よりも生産性が低下する可能性があるため、これは素晴らしい結果でした。

結論

上記のデュアルブートオプションを使用すると、非常に良いパフォーマンスを達成できます。私はこれをVirtualBoxとVMwareを使って、Linuxディストリビューション(Mint、Ubuntu、およびCentOS)とWindowsバージョン(7、10)の組み合わせで、さまざまな場面で行ってきました。

このセットアップのもう1つの利点は、a)状況が変わった場合、またはb)このセットアップがニーズに合わない場合に、どちらかのパーティションを無効にしてWindowsまたはLinuxを後にしておくことができることです。パフォーマンスがそれをカットしていない場合は、あなたは単にあなたがその少し少しもっとパフォーマンスが必要なオペレーティングシステムに直接ブートするという逃避ハッチを持っています。

最後に、ライセンスについての注意:あなたがWindowsをネイティブに起動するなら異なるハードウェアを見てライセンスについてあなたに質問するでしょう。これはWindows 10の問題ではありません。Windows10では、仕事に慣れてくるにつれて問題が生じることがあります。これらの地球物理学的ワークステーションでこれがどのように解決されたかを思い出すことはできません。私たちはボリュームライセンスを持っていたし、おそらくマイクロソフトの担当者から助けを得たことを思い出します。

エピローグ:Remote XとVirtualGL

高性能石油シミュレーション用に VirtualGL とGPUクラスターを使用してワークステーションをセットアップしました。私はAWSでもこれを行ったことがありますが、コスト、パフォーマンス、利便性などの理由で推奨しません。

7
Liam M

X11テクノロジスタック(それらのほとんど)を使用するUnix/Linux GUIアプリケーションは、本質的にリモートマシンに表示することができます。ネットワーク接続VMとそのホスト)。

あなたはあなたのWindowsマシンにX11ディスプレイサーバ(複数の無料と非無料のオプションがあります)をインストールし、VMであなたのLinuxシステム(あるいは複数のLinuxシステム)を実行し、実際のグラフィックをウィンドウで実行することができます側X11サーバー。 LinuxシステムのGUIアプリケーションは、ローカルネットワークを介してX11ディスプレイサーバーに接続します(これを設定する方法は、さまざまな方法があるため、ここでは範囲外です。ポインター:DISPLAY環境変数、X11転送を伴うssh、 XDMCP).

7
rackandboneman

達成しようとしているものによっては、Wineを試すこともできます。

から https://www.winehq.org/

Wine(もともと "Wine Is Not Emulator"の頭字語)は、Linux、macOS、&BSDなどのいくつかのPOSIX準拠のオペレーティングシステムでWindowsアプリケーションを実行することができる互換層です。

これにより、Linuxと(一部の)WindowsアプリケーションをLinux上で並行して実行できます。

Wineで動くことが知られているWindowsアプリケーションのリストは https://appdb.winehq.org/ にあります。

個人的には、DirectXを使ったLinuxでゲームを走らせるのに使っています。Linuxバージョンは持っていません。 Microsoft Officeのようなアプリケーションはそれで動作することが知られています。

5
plebbus

私がこれに関連するいくつかの大きな警告を持っていないこれを行う方法を知りません。

Chromebookの場合は、 Crouton を使用してこのようなことを実現できます。しかしこれがすることはChrome OSと別のディストリビューション、名目上Ubuntuの間でカーネルを共有することです。 WindowsとLinuxは異なるカーネルを使用しているため、この方法は不可能です。彼らは一緒にうまく遊ばないでしょう。

オペレーティングシステムを起動するには、カーネルがハードウェアへの低レベルのアクセス権を持っている必要があり、2つの異なるカーネル(WindowsとLinux)を並べて実行することは、不可能ではないにしても非常に簡単ではありません。

あなたが単一のコンピュータを使うことを主張するならば、ある種の仮想化はおそらくあなたの唯一の頼みです。私はMacを使用していませんが、私が見たことから、Parallelsは非常にシームレスです - それからホットキーでオペレーティングシステム間を "切り替える"ことができます。私はWindowsとLinuxの両方でVMWareを使用し、ホストされている(ゲスト)オペレーティングシステムのパフォーマンスに驚いています。それは非常にネイティブに近いものです(ただし、グラフィックの激しいワークロードはテストしていません)。 VirtualBoxはオープンソースで無料です。それは問題なく動作しますが、VMWareはもっと良く動作します。私は限定無料版があると思います。

両方のオペレーティングシステムのネイティブパフォーマンスを主張する場合は、デュアルブートがそれを達成する唯一の方法です。あなたが速いSSDを持っているなら(サムスン960かそれに似たものを言う)、再起動はそれほど時間がかかる必要はありません。

5
James Smith

ハードウェア仮想化はあまりにも問題があります。それは物事の90%には良いのですが、他の10%は時々あなたをブロックし、あなたが全体の概念をスクラップにしてしまうことになります。

誰かがコメントの1つでこれをほのめかしました、しかし私はKVMスイッチを使う並列マシンがあなたが求めていることをするための最も効率的な方法であると思います。

私はここ2年間、2台のLinuxとWindowsを並べて実行しています。私は2台の32インチモニターを並べて設置しています。1台はLinuxマシンに接続し、もう1台はWindowsマシンに接続しました。

私は自分のキーボード/マウスでどちらか(または両方)のモニタの前に立ったり座ったりして自分自身を中心に置くことができるローリング調整可能なキーボード/マウステーブルを持っています。

キッカーは、KVMスイッチを使用すると、Linuxボックスの制御とWindowsボックスの制御を即座に切り替えることができます。

さらに一歩進んでSynergyを購入すると、マウスとキーボードをマシン間で切り替えるソフトウェアを使用してKVMスイッチを完全に不要にすることができます。

これ以上煩わしいデュアルブート、KVM/VirtualBox/VMWareのオーバーヘッド、または非互換性はありません。それでも、1台のコンピュータのように感じます。

5

すべてに長所と短所があります。これは2018年5月現在の私のために働くものです:

  • VirtualBox :これは機能します。今すぐ毎日。 WindowsホストとUbuntu VMを実行しています。マルチモニターのサポートとネットワーキング(私はブリッジモードを使用しているので、それぞれのVMはホストとは別にネットワーク上に表示されるだけです)を含むすべてが素晴らしいです。私は「大物」によって制御されるソリューションのファンではありませんが、正直なところ(少なくとも現時点では)Oracleはこの製品を正しく開発しています。

  • 複数のコンピュータを実行してください、それは行くのに最適な方法です! Synergy を使用すると、マウスとキーボードをそれらすべてにプッシュできます。 DDM USB KVM もいいですが、高価です!

  • デュアルブート:ほとんどのコンピュータで4回以上のブートを実行します。 GPTとレガシーMBTパーティションについて、そして各OSがそれらをどのように管理しているかについて学ぶ必要があります。 Refindはあなたがそれを正しくする手助けをするという驚くべき仕事をします、特にあなたが準近代的なハードウェアを持っているなら。私はいつも私のすべてのPCでWindows-Ubuntu(-Mac)ブートを設定していますが、実際には私は本当に違うOSにリブートすることは決してありません。破壊的すぎるだけです。その代わりに、常に1台のOS上の特定のタスクに各コンピュータを捧げることになります。

  • WindowsでXサーバーを実行し、ネットワークVMからLinuxウィンドウを取り込む。それはできます。私はしばらくの間x2goを正常に実行しました。しかし、なぜ私がこの道をたどらないのかについては次の項目を見てください。

  • (任意の)ネットワークでVMを使用します。AWSVM、vSphere VM、およびその他のあらゆる種類の組み合わせで開発を試みました。あなたは開発の途中で対処したくないネットワーク問題の奴隷です。たとえあなたがめったに驚くべきネットワークリソースを持っていなくても、それについてさえ考えてはいけません。

最後の注意として、私は常に可能な限り専用のUbuntuマシン上で開発することに言及するべきです。 VirtualBoxのソリューションは、アメリカでの私の悩みを救ってくれました。あなたのポケットの中にVM画像を入れて歩き、あなたの厄介な新しいWindowsのラッピーにVirtualBoxをインストールし、行ってください!

4
moodboom

技術的には、両方のシステムで休止状態を有効にし、別のシステムを休止状態にした後でシステムを休止状態から再開することができます。これは実際のリブートよりも速くて便利です。現在のマシンでやっています。

Linuxはハイバネーションイメージを格納するために特別なスワップ領域を使用しますが、Windowsはシステムパーティションを使用するので、これまでのところ問題はないようです。

4
xji

あなたは coLinux が欲しいです。それはあなたの要求にほぼ完全に合っています - Linuxカーネルはウィンドウズの下で特別な特権プロセスとして動いています、カーネル内のパフォーマンスへの影響なしで(周辺機器はまだ仮想化されグラフィックはX11プロトコルを通り抜けますが)。 しかし、残念ながら、このプロジェクトはもう開発されていません...そしてそれ以降、他のアプローチ(VirtualBoxなど)は成熟し、はるかに優れたユーザーエクスペリエンスを提供します。

4

ここで提案されている他の解決策に加えて、私がかつて試した「クロス仮想化」アプローチもあります。

  • デュアルブートセットアップ、マシンはWindowsまたはLinuxのどちらでも起動できます。
  • システムパーティションとは別にデータパーティション(/homeおよびDocuments and Settings
  • 2つの各OSに仮想化(VirtualBox、VMwareなど)がインストールされ、他の各OSセットアップの「クローン」がVMとして設定されます。
  • ネットワークインターフェイスはブリッジモードであるため、ホストとゲストは同じLAN上の2台の別々のコンピュータのように見えます。
  • VMイメージはデータパーティションとは別のパーティションにあります。
  • それぞれのVMは、(ディスクイメージではなく)rawデバイスとしてゲストOSのデータパーティションにアクセスできます。

これは、2つのOSのうちの1つに対して仮想化のオーバーヘッドが発生することを意味します。しかし、どちらをホストにし、もう一方をゲストにするかを起動時に決めることができます。

データはネットワークを介して共有されます(例えば、SambaをLinuxボックスにインストールすることによって)。

各OSのセットアップを2回(ホストインストールとVM 1)維持する必要があります。技術的には、以下に説明するショートカットを使用しない限り、4台のコンピューターがあります。

Linux(少なくともUbuntuのさまざまなフレーバー)はハードウェアの変更に容易に適応するので(古いラップトップからディスクを切り取ることができるようにするには、新しいものにインストールし、ネットワークアダプタだけを再構成する必要がありました)また、Linux [VM)にrawパーティションからシステムを起動させます。このように、Linuxホストに加えられた変更はVMにも反映され、その逆も同様です。唯一の例外は特定のハードウェアデバイスに関連する設定です。

ここでは、Windowsのライセンスに注意することがあります。 (当時、私はWindows 2000を使用していましたが、これはすべて簡単でした。)Windowsに関する限り、2つの異なるハードウェア構成(プロセッサ、ディスク、ネットワークアダプタ)で実行しています。法的な影響についてはよくわかりませんが、製品のアクティベーション手順では2つのライセンスを取得する必要があります。 (WindowsでVM内のrawパーティションを使い果たすことができる場合は、おそらくハードウェアの変更を検出し、ホストとゲストの設定を切り替えるたびに再アクティブ化が必要になります。)

2
user149408

VM、Wine、デュアルブートを忘れてください。私は、 Remmina のようなものを使って、単純に2台のマシン、Windowsのヘッドレス、Linuxのリモートデスクトップを持つことを強くお勧めします。

共有クリップボードとホームフォルダを介して合理的にシームレスです。ラップトップだけが必要な人にとっては実用的ではないかもしれませんが、あなたがちょうどあなたの机にいることができればそれは素晴らしい選択肢です。それらは新しいマシンである必要はありません。ちょうどあなたが周りに横たわっているかもしれない2012年頃の古いものを取得します。

2
user3557062

私は(macOSとWindowsの間で切り替えますが)クラウド内のVM上のWindowsを持っていて、私のMac上でホストされていないことによってこれを行います。以前は Boot Camp をデュアルブートに使用し、その後VMware Fusionを使用してローカルにHost VMを使用しましたが、クラウドがあることがわかりましたWindowsベースで、リモートデスクトップ接続を使用するのが切り替えに最も便利でした。

(私はただデスクトップを瞬時に切り替えるのにCMD-TABを使うことができます。)

この経験があなたに役立つことを願っています。

特定のニッチなユースケースに合うかもしれないいくつかの独創的な提案:

あなたがヘッドレスで走るなら、Linusはほとんどどこでも走り、驚くほど軽量です。私は以前にWindowsサービスとしてそれを走らせていて、そしてWindowsで走っているsshクライアントまたはXサーバーからそれに接続することができました(それですべてのLinux GUIはただ表示するだけです)。

これらと同じ方法で、ラズベリーパイをラップトップの背面にダクトテープで固定し、それをUSBポートに接続して、両方のコンピュータを同時に実行することができます。 Windowsマシンを使用してLinuxマシンにアクセスする必要がありますが、このソリューションではX/sshアクセスのためにヘッドレスで実行できますが、リモートデスクトップ(RDP)をPIに使用してX実装にすることもできます。より良いLinuxデスクトップエクスペリエンス(前回チェックした、ウィンドウ用の無料のXサーバーは遅く、セットアップが難しく、エラーが発生しやすい)

どちらも高速のフルスクリーンLinuxワークステーションを提供することはありませんが、状況によっては興味深い解決策になります。

そして私はただダクトテープについて冗談を言っていました...

ほとんどの.

1
Bill K

私はVMをお勧めします(VirtualBoxとVMWareのシームレスモードはより良い統合のために本当に役に立ちます)が、他の可能性があります:

Xming のようなウィンドウ用のX-Serverと xpra のような強力なリモートデスクトップソリューションがあります。
それらのうちの1つを使用してVMでLinuxを実行することができます(あるいはWindows上でLinuxカーネルを実行する AndLinux のような解決策でさえ)ネイティブDisplay Server内のアプリケーション、またはリモートデスクトップツールを介したアプリケーション。
こうすれば、より多くのネイティブウィンドウが得られ、VMによってはUIアプリケーションのパフォーマンスが向上する場合があります。

0
allo

あなたのホストであなたの選んだGNU/Linuxシステムを使い、それからPaaSソリューションを使ってください。あなたにとって実行可能なのは " Shadow "でしょう。

Shadowは、再生、作業、閲覧をするための強力なWindows 10 PCです。

好きなことはすべてコンピュータでやる。しかしより良いです。

それは基本的にあなたのホスト上のアプリとして実行されますが、実際にはクラウド内のコンピュータです。他のアプリに集中するのと同じように、アプリにシームレスに切り替えることができます。

https://youtu.be/vVOKBaIxXVA?t=6

0
OddDev