• Outils en Ligne
  • - Calculatrices
    • Compteur de Caractères
  • - Téléchargement
    • Téléchargement TikTok
    • Téléchargement Douyin
  • - Outils Web
    • BASE64
    • Base64 vers image
    • Image vers Base64
    • Encodage URL
    • JavaScript
    • Timestamp
    • Convertisseur Unicode
    • Formatage JSON
    • Modifier l’Extension
    • Créer une Liste
    • Optimiseur CSS
  • - Outils de Chiffrement
    • Chiffrement MD5
    • Générateur Aléatoire
  • - Outils d’Image
    • Compression d’Images
    • Générateur de QR Code
    • Lecteur de QR Code
    • Prévisualisation de Fond
    • EXIF d’image
  • - Fiches d'information
    • Hérédité du Groupe Sanguin
    • Tailles Vêtements
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
UbuntuのKVMにWindowsシステムをインストールする方法
2021-12-07

なぜKVM仮想マシンを振り回すのか

最近会社のことで書く時間があまりないので、技術的な文章で数えましょう。

このようなことですが、当社には組み込みシステムに基づいて開発された小さなものがあり、AndroidでもiOSプラットフォームでもありません。ええと、これは何を意味しますか?これは、Java、Objective-C、またはSwiftではなく、この小物を開発する言語がC言語であることを意味します。このコードをコンパイルするには、Cross Compiler、すなわち俗称のクロスコンパイル環境が必要です。

実はXcodeがコンパイルしたiOS Appもクロスコンパイルの範疇に属しています。

しかし、このクロスコンパイル環境はWindowsプラットフォームしかありません!実は、GCC以外にも使いやすいクロスコンパイル環境はWindowsの下にあるようです。多くの組み込み型の学生は知っているはずですが、現在業界で使われているのはKeilとIARシリーズです。残念なことに、どちらもWindows特製で、macOSやLinuxバージョンはありません。

どうしてWindowsは私をこんなに不快にさせますか?普段は仕事の効率を高めるために、使わなければならない業界のアプリケーションを除いてWindowsの下に走らなければならないときは、MacだけでWindowsを使わないからです。だから、私たちはほとんどアイドルと裕福なWindowsホストを持っていません。いいえ。根こそぎで、「ほとんどない」という言葉はありません。

サーバー側では、Windows Serverクラウドなんて言わないでください。macOSとUbuntuの脳障害ユーザーとして、私はBare metalでWindows Serverを走ることはできません。サーバーはLinuxしか走っていませんが、他には興味がありません。

では、質問ですが、私たちは自動化コンパイルシステム、つまりよく知られているCIシステム(Continuous integration)を持っています。Atlassianのファミリーバケツを使っています。Bitbucket、Bamboo、JIRA、Confluenceなど、すべてLinuxプラットフォームのDocker仮想化容器の中で走っています。

今、私たちはこの小物もコンパイラを自動化して、人力をよりよく解放するために、将来的にReleaseの内容を追跡し、管理するのに便利にしたいと思っています。最初に解決しなければならない問題は、Windowsのサーバがありません。

仮想化が流行している以上、既存のUbuntuサーバを利用してWindowsを仮想化しましょう。

KVMとは

KVMのフルネームは、Kernel-based Virtual Machineです。簡単な一言で言えば、Linuxカーネルベースの仮想化管理システムです。

Linuxカーネルのバージョン2.6.20からこの機能が統合されています。Dockerはアプリケーション層での仮想化であり,KVMはシステム層での仮想化であることを簡単に理解する.

違いは、Dockerが仮想化したコンテンツは、ホストとカーネルを共有する必要があります。つまり、Linuxクラスのシステムしか走ることができません。

KVMはホスト全体の仮想化なので、Linux自体に限らず、異なるOSをインストールできます。しばらく風が吹いたら、UbuntuでmacOSを仮想化できるかどうか見てみましょう。これにより、iOS Appのコンパイルを自動化するためにMacホストを単独で作成する必要がなくなります。

KVMのインストール

こちらはUbuntu 16.04 LTSバージョンを使用していますが、長期的な使用と安定性を考慮して基本的にLTSバージョンのみを選択していますが、他のバージョンの違いもあまり大きくないので、参考にすればいいと思います。

まず、KVM関連のパッケージファイルをインストールします。私のサーバーはコマンドラインで、Xデスクトップをインストールしていないので、--no-install-recommendsパラメータを追加しました。そうでないとvirt-viewerなどのパッケージがインストールされ、依存関係にはX 11や多くのグラフィックライブラリがあり、これらは使用できません。しかし、デスクトップシステムを開いている場合は、このパラメータを追加しなくてもいいです。

$ sudo apt-get install --no-install-recommends qemu-kvm qemu-utils libvirt-bin virtinst cpu-checker

すべてOKかどうか検証してみましょう

$ kvm-ok

INFO: /dev/kvm exists

KVM acceleration can be used

はい、すべて順調です。ブリッジネットワークを作りましょう。実はこれも必要ではありません。あなたの使用シーンを見てください。

KVMは自分でvirbr 0のブリッジネットワークを作成しますが、これはNATのネットワークであり、ローカルエリアネットワーク内の他のホストと通信することはできませんので、サボらないで、自分でブリッジネットワークを構築しましょう。

参照構成は次のとおりです。

$ cat /etc/network/interfaces

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface

auto lo

iface lo inet loopback

# The bridged network interface

auto br0

iface br0 inet static

address 1.2.3.4

netmask 255.255.255.0

gateway 1.2.3.1

dns-nameservers 1.2.3.1

bridge_ports enp9s0

bridge_stop off

bridge_fd 0

bridge_maxwait 0

ネットワークを再起動し、ブリッジのステータスを確認します。

$ sudo systemctl restart networking

$ sudo brctl show

bridge name     bridge id               STP enabled     interfaces

br0             8000.f079593874d9       no              enp9s0

virbr0          8000.525400087ef2       yes             virbr0-nic

OK、すべて正常で、仮想ホストの作成を開始することができます。

仮想ホストの作成

KVMは最初のステップを完了しただけで、仮想ホストを作成してから続行する必要があります。

始める前に、いくつかのものを用意します。

1.Windowsインストールミラー

2.Virtio ISOとフロッピーディスクミラー

3.VNCクライアント(macOS付属)

私がここで使っているのはVirtio 0.1.126-2バージョンです。OSバージョンは、Ubuntu 16.04.1 LTSです。

virt-installコマンドを使用して仮想マシンの作成を支援する準備が整いました。

virt-install \

--name win10 \

--memory 2048 \

--vcpus sockets=1,cores=1,threads=2 \

--cdrom=/path/to/windows_10.iso \

--os-variant=win8.1 \

--disk /path/to/win10/win10.qcow2,bus=virtio,size=40 \

--disk /path/to/virtio/virtio-win-0.1.126_amd64.vfd,device=floppy \

--network bridge=br0,model=virtio \

--graphics vnc,password=Passw0rd,port=5910 \

--hvm \

--virt-type kvm

基本的に構成情報はすべて上にあり、仮想情報機の構成は以下の通りです。

2 Gメモリ

CPU 1個、コア1個、スレッド2個

CDROM×1(WindowsインストールCD)

40 Gハードディスク(システムディスク)

1台のFDD(Virtioドライブ)

5910ポートでVNCリモートデスクトップをオープン

コマンドの入力が正しい場合は、次のようなフィードバックが得られます。

Starting install...

Creating domain...

Domain installation still in progress. Waiting for installation to complete.

簡単に言えば、仮想マシンは作成されていますが、画像インタフェースがないので、次のステップはできません。VNCに接続すると、下に進むことができます。このヒントは一度しか現れず、システムをインストールした後、この起動待ちは発生しません。

Windows 10のインストール

仮想マシンの作成時に、VNCリモートデスクトップを提供するために5910ポートを使用することを示しました。しかし、このポートは直接アクセスできません。デフォルトでは127.0.0.1にバインドされているため、ローカルのみがアクセスできます。まず、リモートのローカルポートを、コストベースのポートをマッピングする必要があります。

ssh -L 5910:127.0.0.1:5910 server

次にmacOSの下で、□+SpaceからSpotlightを呼び出し、次のように入力します。

vnc://127.0.0.1:5910

ポップアップウィンドウにパスワードを入力:Passw 0 rd

そしてWindowsシステムを快適にインストールすることができます。ハードディスクが認識できない場合は、手動でドライバをロードし、Aディスクと対応するWindowsディレクトリを選択すればいいです。同様に、NICが駆動されていなければ、法のように砲撃されます。

インストールが完了したスクリーンショットを添付します。


ソース元URL:https://dopubox.com/article/p/80a6ce93a84bb03c

Autres Outils
  • Compteur de Caractères Téléchargement TikTok Téléchargement Douyin BASE64 Base64 vers image Image vers Base64 Encodage URL JavaScript Timestamp Convertisseur Unicode Formatage JSON Modifier l’Extension Créer une Liste Optimiseur CSS Chiffrement MD5 Générateur Aléatoire Compression d’Images Générateur de QR Code Lecteur de QR Code Prévisualisation de Fond EXIF d’image Hérédité du Groupe Sanguin Tailles Vêtements
  • <司書のコレ絶対読んで>「王さまと九人のきょうだい」君島久子訳、赤羽末吉絵
    2024-05-29

    テレビ東京、不適切表現で謝罪 「激録・警察密着24時!!」
    2024-05-29

    『ボールアンドチェイン』南Q太著 評者:三木那由他【このマンガもすごい!】
    2024-05-30

    将棋叡王戦、藤井が勝ち最終局へ
    2024-05-30

    鎌倉幕府の地頭から海の武士団・松浦党に…古文書群「青方文書」からみる中世の漁業や製塩事情
    2024-06-01

    芸術レベルのグッズも登場! パリ・東京・大阪の名コレクションが集まる「TRIO展」
    2024-06-01

    映画「ゴジラ‐1.0」の震電は「コックピットだけ復元」のはずだった…山崎貴監督がエピソード披露
    2024-06-04

    「2億円トイレ」のイメージ図など公開 大阪・関西万博
    2024-06-04

    千年後の未来へ 太宰府天満宮のふすま絵完成 日本画家神戸智行さん移住し10年かけ完成
    2024-06-04

    「ロエベ ファンデーション クラフト プライズ 2024」の大賞が発表。等身大のセラミック彫刻を制作したアンドレス・アンサが受賞
    2024-06-05

    お台場エリアを舞台に新芸術祭「東京お台場トリエンナーレ 2025」が誕生
    2024-06-05

    東京都写真美術館で「今森光彦 にっぽんの里山」が開催へ
    2024-06-04

    スマイル社が性犯罪被害者支援の法人設立
    2024-06-04

    「VOCA展」に関するハラスメント防止のためのガイドラインが制定
    2024-06-05

    沙に囲まれた残酷な世界が私たちの社会を浮かび上がらせる。期待の作家が令和の世に送り出す、新たな青春のバイブル!
    2024-06-06

    書評:「日本美術史」を書き換える100年単位の挑戦。『この国(近代日本)の芸術──〈日本美術史〉を脱帝国主義化する』
    2024-06-05

    宗教2世のドラマが受賞 第50回放送文化基金賞
    2024-06-06

    「Osaka Art & Design 2024」(大阪市内)開幕レポート。何気ない日常のなかで多様なカルチャーに触れる
    2024-06-06

    京都・祇園祭の「長刀鉾」稚児決まる 記者会見で「頑張ります」
    2024-06-06

    佐渡金山、世界遺産登録に向け「追加情報の提出」求められる
    2024-06-06

    ©  Dopu Box
    💛