• 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-30

    「ねこクラゲ」被告、脱税認める 原稿優先で申告せず、福岡地裁
    2024-05-31

    “家形埴輪”大集合、総選挙も 「住宅展示場の気分で」、奈良
    2024-06-01

    現代詩の「中原中也賞」、俳句で培われた言語感覚…「新たな音やリズム」ジャンルを往来し追求
    2024-06-02

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

    三姉妹が温泉旅行で取っ組み合いの大げんか うっとうしくてめんどうくさい家族愛描く「お母さんが一緒」
    2024-06-02

    大阪はアートとデザインの街となるか? Osaka Art & Design 2024の見どころをレポート
    2024-06-03

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

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

    アレクサンダー・カルダー個展「カルダー:そよぐ、感じる、日本」が開催
    2024-06-04

    特別展 「工芸的美しさの行方―うつわ・包み・装飾」が東京と京都で開催。日本の美術工芸を世界へ 
    2024-06-04

    「TRIO パリ・東京・大阪 モダンアート・コレクション」(東京国立近代美術館)開幕レポート。トリオで再発見する3館のコレクション
    2024-06-05

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

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

    「避難いただけるほうが一安心」珠洲で激しい揺れに耐えた仏像、奈良博で縁つなぐ
    2024-06-04

    ご当地体操「いちょう体操」に小学生の指導委員が誕生 「体がのびやかに動く」
    2024-06-06

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

    藤井八冠、5連覇へ白星発進 将棋棋聖戦、山崎八段破る
    2024-06-06

    美術家藤井光さん個展「終戦の日/WAR IS OVER」 希望か絶望か…大分・佐伯の地下弾薬庫跡にこだまする泣き声
    2024-06-07

    「さどの島銀河芸術祭2024」が開催。新潟・佐渡島各所で作品を制作展示
    2024-06-06

    ©  Dopu Box
    💛