Windows下創建虛擬機

来源:https://www.cnblogs.com/sijiu/archive/2023/08/01/17599440.html
-Advertisement-
Play Games

# 當我們想要體驗體驗不同類型的Linux的使用技巧,節省個人開銷,可以在Windows系統上創建其他系統的虛擬機,可以創建虛擬機常用的應用有: VMware Station VirtualBox 此篇文章使用VirtualBox,結合Vagrant來實現Linux虛擬機的創建。使用這兩種應用結合的 ...


# 當我們想要體驗體驗不同類型的Linux的使用技巧,節省個人開銷,可以在Windows系統上創建其他系統的虛擬機,可以創建虛擬機常用的應用有:

  •   VMware Station
  •   VirtualBox

此篇文章使用VirtualBox,結合Vagrant來實現Linux虛擬機的創建。使用這兩種應用結合的方法,相對於使用VMware Station創建虛擬機來可以節省時間,加快效率,減少了等待系統安裝的漫長等待。

 

涉及的應用:Vagrant  下載路徑:Install | Vagrant | HashiCorp Developer

      VirtualBox    下載路徑:Downloads – Oracle VM VirtualBox

一. Vagrant+VirtualBox安裝

  下載Vagrant和VirtualBox完成後,安裝兩個應用。由於VirtualBox和Vagrant的安裝過程均是圖形化界面安裝,直接下一步,安裝路徑可以自行選擇(記住自己選的路徑),安裝順序沒有前後順序,安裝完成後可以檢查以下:

(1)在Windows系統下,使用快捷鍵“Win + R”打開運行視窗,在其中輸入“cmd”,在命令行視窗中輸入vagrant ,如下:

C:\Users\Administrator>vagrant
Usage: vagrant [options] <command> [<args>]

    -h, --help                       Print this help.

Common commands:
     autocomplete    manages autocomplete installation on host
     box             manages boxes: installation, removal, etc.
     cloud           manages everything related to Vagrant Cloud
     destroy         stops and deletes all traces of the vagrant machine
     global-status   outputs status Vagrant environments for this user
     halt            stops the vagrant machine
     help            shows the help for a subcommand
     init            initializes a new Vagrant environment by creating a Vagrantfile
     login
     package         packages a running vagrant environment into a box
     plugin          manages plugins: install, uninstall, update, etc.
     port            displays information about guest port mappings
     powershell      connects to machine via powershell remoting
     provision       provisions the vagrant machine
     push            deploys code in this environment to a configured destination
     rdp             connects to machine via RDP
     reload          restarts vagrant machine, loads new Vagrantfile configuration
     resume          resume a suspended vagrant machine
     serve           start Vagrant server
     snapshot        manages snapshots: saving, restoring, etc.
     ssh             connects to machine via SSH
     ssh-config      outputs OpenSSH valid configuration to connect to the machine
     status          outputs status of the vagrant machine
     suspend         suspends the machine
     up              starts and provisions the vagrant environment
     upload          upload to machine via communicator
     validate        validates the Vagrantfile
     version         prints current and latest Vagrant version
     winrm           executes commands on a machine via WinRM
     winrm-config    outputs WinRM configuration to connect to the machine

For help on any individual command run `vagrant COMMAND -h`

Additional subcommands are available, but are either more advanced
or not commonly used. To see all subcommands, run the command
`vagrant list-commands`.
        --[no-]color                 Enable or disable color output
        --machine-readable           Enable machine readable output
    -v, --version                    Display Vagrant version
        --debug                      Enable debug output
        --timestamp                  Enable timestamps on log output
        --debug-timestamp            Enable debug output with timestamps
        --no-tty                     Enable non-interactive output

C:\Users\Administrator>

出現如上的內容,表示Vagrant安裝成功!

(2)VirtualBox安裝完成後,會是一個普通的應用程式,直接點擊對應圖標打開,就是如下的界面(應用剛安裝,無以下的虛擬系統列表):

到此,VirtualBox安裝完成。

二. Linux虛擬機安裝

  現在,使用現有的環境,創建一個版本為 Centos 7 的虛擬機,安裝開始。

(1)在Windows系統下,使用快捷鍵“Win + R”打開運行視窗,在其中輸入“cmd”,打開命令行視窗,輸入如下內容:

    在windows的F盤下創建一個虛擬機總目錄:F:\vrbox

C:\Users\Administrator>F:

F:\>mkdir vrbox

 F:\>dir
  驅動器 F 中的捲沒有標簽。

  F:\ 的目錄

  2023/08/01 22:21 <DIR> vrbox
  0 個文件 0 位元組
  1 個目錄 92,429,574,144 可用位元組

  在F:\vrbox的路徑下,創建Centos 7 虛擬機的文件目錄:F:\vrbox\vcentos:

F:\vrbox>mkdir vcentos

F:\vrbox>cd vcentos

F:\vrbox\vcentos>

(2) 在F:\vrbox\vcentos目錄下打開命令行視窗,輸入如下命令:

  下載創建虛擬機:

F:\vrbox\vcentos>vagrant init centos/7

  執行結果,如下圖;

 (3) 啟動創建的虛擬機

  啟動虛擬機:vagrant up

(此處需要註意:當初次執行vagrant up命令時,由於需要從vagrant的  Discover Vagrant Boxes - Vagrant Cloud (vagrantup.com)  網站中下載Centos虛擬機使用的系統鏡像,需要稍等一會,這個等待時間相對於之間下載系統鏡像(.iso)文件來說可以忽略,下載完成後會自動完成安裝)

F:\vrbox\vcentos>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'centos/7' version '2004.01' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: No guest additions were detected on the base box for this VM! Guest
    default: additions are required for forwarded ports, shared folders, host only
    default: networking, and more. If SSH fails on this machine, please install
    default: the guest additions and repackage the box to continue.
    default:
    default: This is not an error message; everything may continue to work properly,
    default: in which case you may ignore this message.
==> default: Configuring and enabling network interfaces...
==> default: Rsyncing folder: /cygdrive/f/vrbox/vcentos/ => /vagrant
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.

(4)遠程連接虛擬機。

  安裝完成後,執行命令,連接虛擬機。

F:\vrbox\vcentos>vagrant ssh
Last login: Mon Jul 24 14:16:36 2023 from 10.0.2.2

使用以上命令可以直接連接虛擬機,不需要輸入密碼。虛擬機的預設用戶及密碼在“啟動虛擬機”出現的命令提示中顯示出來了:

==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key

預設用戶:vagrant    密碼:  vagrant

若需要使用root用戶,可以在命令行執行如下命令:
[vagrant@localhost ~]$ id
uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[vagrant@localhost ~]$ sudo -i
[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@localhost ~]#
退出root用戶,輸入如下命令:
[root@localhost ~]# exit
logout
[vagrant@localhost ~]$ id
uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[vagrant@localhost ~]$

打開VirtualBox應用的虛擬機列表中,也可以看到此設備:

 

 到此,一臺為Centos 7的虛擬機就已經安裝完成了。此虛擬機沒有圖形化界面,只有命令行界面。若需要圖形化界面,可以使用相關命令進行添加。

相關命令:
##關閉虛擬機,需使用root許可權
[vagrant@localhost ~]$ sudo -i
[root@localhost ~]# poweroff
Connection to 127.0.0.1 closed by remote host.
Connection to 127.0.0.1 closed.

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 【前言】 本文講述的“資料庫負載均衡”方案,為市面上最經典(沒有之一),由.NET界骨灰級大佬推出。採用該技術方案的大公司,一年省下了幾個億的支出。 【正文】 支持.Net Core(2.0及以上) 與 .Net Framework(4.5及以上) 可以部署在Docker, Windows, Lin ...
  • C#泛型編程是.NET framework 2.0的新特征,它提高了代碼安全性和代碼重用的問題。由於泛型必須指定類型,正確的使用可以避免了裝箱拆箱的問題;使用了泛型後,可以將演算法或組件泛型化,基於類型參數支持任意數據類型,從而提高了代碼的重用性。 C#泛型編程在C#是很重要的特性,建議.NET開發熟 ...
  • 這篇文章介紹了什麼是事件,以及如何在C#中使用事件。事件是在生活中發生的事情,它涉及到事件的發佈者和事件的訂閱者,當事件發生時,發佈者會發佈消息,訂閱者會接收通知並做出相應的處理。在C#中,我們可以使用event關鍵字定義一個事件,然後訂閱和取消事件的方法與委托鏈的取消和鏈接相同。 ...
  • ## 引言 現在模擬一個非同步方法拋出了異常: ```csharp public static async Task ThrowAfter(int ms, string message) { await Task.Delay(ms); throw new Exception(message); } ` ...
  • 一、TextBox在輸入框回車時會觸發其他事件,如何解決? 前臺代碼: <ul> <li><span>名稱:</span><asp:TextBox ID="txtCategoryName" runat="server" CssClass="forminput form-control"></asp: ...
  • ASP.NET Core WebAPI如何獲得遠程文件返迴文件流給前端?項目採用的是前後端分離的模式,後端使用ASP.NET Core WebAPI方式,將文件流返回給前端。 ...
  • Repeater 控制項用於顯示被綁定在該控制項上的項目的重覆列表。Repeater 控制項可被綁定到資料庫表、XML 文件或者其他項目列表。 GridView 控制項,通過使用 GridView 控制項,您可以顯示、編輯和刪除多種不同的數據源(例如資料庫、XML 文件和公開數據的業務對象)中的數據。 ...
  • 博客推行版本更新,成果積累制度,已經寫過的博客還會再次更新,不斷地琢磨,高質量高數量都是要追求的,工匠精神是學習必不可少的精神。因此,大家有何建議歡迎在評論區踴躍發言,你們的支持是我最大的動力,你們敢投,我就敢肝 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...