• 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
  • 美術館の裏側を伝える展覧会「鎌倉別館40周年記念 てあて・まもり・のこす 神奈川県立近代美術館の保存修復」レポート
    2024-05-29

    杉真理×和田唱がビートルズをとことん語る!NHK-FMの人気番組「ディスカバー・ビートルズ」がオンライン講座として復活!
    2024-06-02

    まだ無名だった作曲家エルガーが、婚約の贈り物として捧げた名曲【クラシック今日は何の日?】
    2024-06-01

    【大河ドラマ「光る君へ」本日第22話】紫式部と清少納言は「顔を合わせていなかった」?
    2024-06-01

    峰不二子役の増山江威子さん死去 声優、艶ある声でルパン翻弄
    2024-06-03

    テレ東が警察密着番組の担当者らを懲戒処分
    2024-06-03

    河合隼雄物語賞に八木詠美さん 学芸賞は湯沢規子さん
    2024-06-03

    現代美術作家の杉本博司がYouTubeチャンネル開設 素顔に迫る映像を公開
    2024-06-04

    イタリア・ヴェローナの歴史あるレストランをパトリシア・ウルキオラが再解釈。
    2024-06-03

    ペース・ギャラリーが9月にグランドオープン。7月には特別内覧会を開催へ
    2024-06-04

    「KOTARO NUKAGA(天王洲)」が移転し拡張。約386平米の巨大スペースに
    2024-06-05

    アートフェア東京、次回は2025年3月に開催決定
    2024-06-04

    開館10周年を記念。「広重 ─摺の極─」があべのハルカス美術館で開催へ
    2024-06-05

    「ART OSAKA 2024」が7月18日より開幕。近代建築と現代美術のコラボレーションにも注目
    2024-06-04

    【1971年の今日 : 6月5日】京王プラザホテル全面開業―今からは想像もできない着工前の巨大な貯水池だった頃の写真も
    2024-06-05

    週末見たい展覧会5選。今週はTRIO展、吉田克朗展、建築の構造デザインに焦点を当てた展覧会など。【2024年6月第2週】
    2024-06-05

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

    岡田将生の初ブランド「IN MY DEN」始動、第1弾グッズの受注販売がスタート
    2024-06-06

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

    「江戸期より後の遺構」 世界遺産目指す佐渡の金山、一部除外勧告
    2024-06-06

    ©  Dopu Box
    💛