• Online Tools
  • - Calculators
    • Character Count
  • - Download
    • TikTok Download
    • DouYin Download
  • - Web Tools
    • BASE64
    • Base64 to Image
    • Image to Base64
    • URL Encoding
    • JavaScript
    • Timestamp
    • Unicode Converter
    • JSON Format
    • Modify Extension
    • Make List
    • CSS Optimizer
  • - Encryption Tools
    • MD5 Encryption
    • Random Generator
  • - Image Tools
    • Image Compression
    • QR Code Generator
    • QR Code Reader
    • Wallpaper Preview
    • Image EXIF
  • - Info Sheets
    • Blood Type Heredity
    • Clothing Sizes
  • [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

Other Tools
  • Character Count TikTok Download DouYin Download BASE64 Base64 to Image Image to Base64 URL Encoding JavaScript Timestamp Unicode Converter JSON Format Modify Extension Make List CSS Optimizer MD5 Encryption Random Generator Image Compression QR Code Generator QR Code Reader Wallpaper Preview Image EXIF Blood Type Heredity Clothing Sizes
  • <司書のコレ絶対読んで>「王さまと九人のきょうだい」君島久子訳、赤羽末吉絵
    2024-05-29

    歯科医師の技術で愛好家も納得するサウナを細部まで再現するミニチュア作家
    2024-05-30

    「現実をみんなに伝えたい」能登高校書道部が新作の書道パフォーマンスを披露…部員それぞれが抱える大地震の被害
    2024-05-30

    被害者「問題解決には程遠い」 旧ジャニーズ被害者らが会見
    2024-05-29

    社長「関係者や視聴者不安にさせた」と謝罪
    2024-05-30

    小学館も来週に報告書公表
    2024-05-31

    元アシスタントが語る Dr.スランプ「あのキャラ」の誕生秘話
    2024-06-01

    吉田南さん、バイオリン部門6位 エリザベート音楽コン、奈良出身
    2024-06-01

    ビルケンシュトック、創業から250年の歴史を振り返る2冊を出版
    2024-06-01

    道後温泉の記憶を継承するアート 大竹伸朗が“描き”重要文化財を守ったテント膜「熱景」の再生
    2024-06-03

    香川県・直島に開館する新たな美術館の正式名称が「直島新美術館」に決定
    2024-06-03

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

    ジャスパー・モリソンの名言「…が「普通」のものより役にたつことはない。」【本と名言365】
    2024-06-03

    美術評論家連盟が「ガザ戦争に対する意⾒表明」を公開
    2024-06-04

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

    「梅津庸一 エキシビションメーカー」(ワタリウム美術館)開幕レポート。きっとあなたも展覧会をつくりたくなる
    2024-06-04

    エドガー・サラン個展「EDGAR SARIN ー HUNKY DORY」(VAGUE KOBE)レポート。展示空間の可能性やその調和の在り方を問いかける
    2024-06-04

    大学入学共通テスト、追試は本試験1週間後 コロナ禍前に戻す 月経痛の配慮明記も
    2024-06-05

    「再会長江」北京で特別上映 竹内監督のトークイベントも
    2024-06-04

    藤井、棋聖戦5連覇へ白星発進
    2024-06-06

    ©  Dopu Box
    💛