linux系統安裝步驟:windows安裝linux虛擬機多少內存

下面是我如何配置 VirtualBox 虛擬機以在我的 Linux 工作站上使用物理的 Windows 操作系統。

在 Linux 上將你的 Windows 系統轉換為虛擬機

我經常使用 VirtualBox 來創建虛擬機來測試新版本的 Fedora、新的應用程序和很多管理工具,比如 Ansible。我甚至使用 VirtualBox 來測試創建一個 Windows 訪客主機。

我從來沒有在我的任何一台個人電腦上使用 Windows 作為我的主要操作系統,甚至也沒在虛擬機中執行過一些用 Linux 無法完成的冷門任務。不過,我確實為一個需要使用 Windows 下的財務程序的組織做志願者。這個程序運行在辦公室經理的電腦上,使用的是預裝的 Windows 10 Pro。

這個財務應用程序並不特別,一個更好的 Linux 程序可以很容易地取代它,但我發現許多會計和財務主管極不願意做出改變,所以我還沒能說服我們組織中的人遷移。

這一系列的情況,加上最近的安全恐慌,使得我非常希望將運行 Windows 的主機轉換為 Fedora,並在該主機上的虛擬機中運行 Windows 和會計程序。

重要的是要明白,我出於多種原因極度不喜歡 Windows。主要原因是,我不願意為了在新的虛擬機上安裝它而再花錢購買一個 Windows 許可證(Windows 10 Pro 大約需要 200 美元)。此外,Windows 10 在新系統上設置時或安裝後需要足夠的信息,如果微軟的數據庫被攻破,破解者就可以竊取一個人的身份。任何人都不應該為了註冊軟件而需要提供自己的姓名、電話號碼和出生日期。

開始

這台實體電腦已經在主板上唯一可用的 m.2 插槽中安裝了一個 240GB 的 NVMe m.2 的 SSD 存儲設備。我決定在主機上安裝一個新的 SATA SSD,並將現有的帶有 Windows 的 SSD 作為 Windows 虛擬機的存儲設備。金士頓在其網站上對各種 SSD 設備、外形尺寸和接口做了很好的概述。

這種方法意味着我不需要重新安裝 Windows 或任何現有的應用軟件。這也意味着,在這台電腦上工作的辦公室經理將使用 Linux 進行所有正常的活動,如電子郵件、訪問 Web、使用 LibreOffice 創建文檔和電子表格。這種方法增加了主機的安全性。唯一會使用 Windows 虛擬機的時間是運行會計程序。

先備份

在做其他事情之前,我創建了整個 NVMe 存儲設備的備份 ISO 鏡像。我在 500GB 外置 USB 存儲盤上創建了一個分區,在其上創建了一個 ext4 文件系統,然後將該分區掛載到 /mnt。我使用dd命令來創建鏡像。

我在主機中安裝了新的 500GB SATA SSD,並從臨場live USB 上安裝了 Fedora 32 Xfce 偏好版spin。在安裝後的初次重啟時,在 GRUB2 引導菜單上,Linux 和 Windows 操作系統都是可用的。此時,主機可以在 Linux 和 Windows 之間進行雙啟動。

在網上尋找幫助

現在我需要一些關於創建一個使用物理硬盤或 SSD 作為其存儲設備的虛擬機的信息。我很快就在 VirtualBox 文檔和互聯網上發現了很多關於如何做到這一點的信息。雖然 VirtualBox 文檔初步幫助了我,但它並不完整,遺漏了一些關鍵信息。我在互聯網上找到的大多數其他信息也很不完整。

在我們的記者 Joshua Holm 的幫助下,我得以突破這些殘缺的信息,並以一個可重複的流程來完成這項工作。

讓它發揮作用

這個過程其實相當簡單,雖然需要一個玄妙的技巧才能實現。當我準備好這一步的時候,Windows 和 Linux 操作系統已經到位了。

首先,我在 Linux 主機上安裝了最新版本的 VirtualBox。VirtualBox 可以從許多發行版的軟件倉庫中安裝,也可以直接從 Oracle VirtualBox 倉庫中安裝,或者從 VirtualBox 網站上下載所需的包文件並在本地安裝。我選擇下載 AMD64 版本,它實際上是一個安裝程序而不是一個軟件包。我使用這個版本來規避一個與這個特定項目無關的問題。

安裝過程總是在 /etc/group中創建一個vboxusers組。我把打算運行這個虛擬機的用戶添加到/etc/group中的vboxusersdisk組。將相同的用戶添加到disk組是很重要的,因為 VirtualBox 是以啟動它的用戶身份運行的,而且還需要直接訪問/dev/sdx特殊設備文件才能在這種情況下工作。將用戶添加到disk組可以提供這種級別的訪問權限,否則他們就不會有這種權限。

然後,我創建了一個目錄來存儲虛擬機,並賦予它 root.vboxusers的所有權和775的權限。我使用/vms用作該目錄,但可以是任何你想要的目錄。默認情況下,VirtualBox 會在創建虛擬機的用戶的子目錄中創建新的虛擬機。這將使多個用戶之間無法共享對虛擬機的訪問,從而不會產生巨大的安全漏洞。將虛擬機目錄放置在一個可訪問的位置,可以共享虛擬機。

我以非 root 用戶的身份啟動 VirtualBox 管理器。然後,我使用 VirtualBox 的「偏好Preferences => 一般General」菜單將「默認機器文件夾Default Machine Folder」設置為 /vms目錄。

我創建的虛擬機沒有虛擬磁盤。「類型Type」 應該是 Windows,「版本Version」應該設置為Windows 10 64-bit。為虛擬機設置一個合理的內存量,但只要虛擬機處於關閉狀態,以後可以更改。在安裝的「硬盤Hard disk」頁面,我選擇了 「不要添加虛擬硬盤Do not add a virtual hard disk」,點擊「創建Create」。新的虛擬機出現在VirtualBox 管理器窗口中。這個過程也創建了/vms/Test1目錄。

我使用「高級Advanced」菜單在一個頁面上設置了所有的配置,如圖 1 所示。「嚮導模式Guided Mode」可以獲得相同的信息,但需要更多的點擊,以通過一個窗口來進行每個配置項目。它確實提供了更多的幫助內容,但我並不需要。

在 Linux 上將你的 Windows 系統轉換為虛擬機

圖 1:創建一個新的虛擬機,但不要添加硬盤。

然後,我需要知道 Linux 給原始 Windows 硬盤分配了哪個設備。在終端會話中以 root 身份使用 lshw命令來發現 Windows 磁盤的設備分配情況。在本例中,代表整個存儲設備的設備是/dev/sdb

# lshw -short -class disk,volume
H/W path           Device      Class          Description
=========================================================
/0/100/17/0        /dev/sda    disk           500GB CT500MX500SSD1
/0/100/17/0/1                  volume         2047MiB Windows FAT volume
/0/100/17/0/2      /dev/sda2   volume         4GiB EXT4 volume
/0/100/17/0/3      /dev/sda3   volume         459GiB LVM Physical Volume
/0/100/17/1        /dev/cdrom  disk           DVD+-RW DU-8A5LH
/0/100/17/0.0.0    /dev/sdb    disk           256GB TOSHIBA KSG60ZMV
/0/100/17/0.0.0/1  /dev/sdb1   volume         649MiB Windows FAT volume
/0/100/17/0.0.0/2  /dev/sdb2   volume         127MiB reserved partition
/0/100/17/0.0.0/3  /dev/sdb3   volume         236GiB Windows NTFS volume
/0/100/17/0.0.0/4  /dev/sdb4   volume         989MiB Windows NTFS volume
[root@office1 etc]#

VirtualBox 不需要把虛擬存儲設備放在 /vms/Test1目錄中,而是需要有一種方法來識別要從其啟動的物理硬盤。這種識別是通過創建一個*.vmdk文件來實現的,該文件指向將作為虛擬機存儲設備的原始物理磁盤。作為非 root 用戶,我創建了一個 vmdk 文件,指向整個 Windows 設備/dev/sdb

$ VBoxManage internalcommands createrawvmdk -filename /vms/Test1/Test1.vmdk -rawdisk /dev/sdb
RAW host disk access VMDK file /vms/Test1/Test1.vmdk created successfully.

然後,我使用 VirtualBox 管理器 「文件File => 虛擬介質管理器Virtual Media Manager」 對話框將 vmdk 磁盤添加到可用硬盤中。我點擊了「添加Add」,文件管理對話框中顯示了默認的 /vms位置。我選擇了Test1目錄,然後選擇了Test1.vmdk文件。然後我點擊「打開Open」,Test1.vmdk文件就顯示在可用硬盤列表中。我選擇了它,然後點擊「關閉Close」。

下一步就是將這個 vmdk 磁盤添加到我們的虛擬機的存儲設備中。在 「Test1 VM」 的設置菜單中,我選擇了 「存儲Storage」,並點擊了添加硬盤的圖標。這時打開了一個對話框,在一個名為「未連接Not attached」的列表中顯示了 Test1vmdk虛擬磁盤文件。我選擇了這個文件,並點擊了「選擇Choose」按鈕。這個設備現在顯示在連接到 「Test1 VM」 的存儲設備列表中。這個虛擬機上唯一的其他存儲設備是一個空的 CD/DVD-ROM 驅動器。

我點擊了「確定OK」,完成了將此設備添加到虛擬機中。

在新的虛擬機工作之前,還有一個項目需要配置。使用 VirtualBox 管理器設置對話框中的 「Test1 VM」,我導航到 「系統System => 主板Motherboard」頁面,並在 「啟用 EFIEnable EFI」的方框中打上勾。如果你不這樣做,當你試圖啟動這個虛擬機時,VirtualBox 會產生一個錯誤,說明它無法找到一個可啟動的介質。

現在,虛擬機從原始的 Windows 10 硬盤驅動器啟動。然而,我無法登錄,因為我在這個系統上沒有一個常規賬戶,而且我也無法獲得 Windows 管理員賬戶的密碼。

解鎖驅動器

不,本節並不是要破解硬盤的加密,而是要繞過眾多 Windows 管理員賬戶之一的密碼,而這些賬戶是不屬於組織中某個人的。

儘管我可以啟動 Windows 虛擬機,但我無法登錄,因為我在該主機上沒有賬戶,而向人們索要密碼是一種可怕的安全漏洞。儘管如此,我還是需要登錄這個虛擬機來安裝 「VirtualBox Guest Additions」,它可以提供鼠標指針的無縫捕捉和釋放,允許我將虛擬機調整到大於 1024×768 的大小,並在未來進行正常的維護。

這是一個完美的用例,Linux 的功能就是更改用戶密碼。儘管我是訪問之前的管理員的賬戶來啟動,但在這種情況下,他不再支持這個系統,我也無法辨別他的密碼或他用來生成密碼的模式。我就直接清除了上一個系統管理員的密碼。

有一個非常不錯的開源軟件工具,專門用於這個任務。在 Linux 主機上,我安裝了 chntpw,它的意思大概是:「更改 NT 的密碼」。

# dnf -y install chntpw

我關閉了虛擬機的電源,然後將 /dev/sdb3分區掛載到/mnt上。我確定/dev/sdb3是正確的分區,因為它是我在之前執行lshw命令的輸出中看到的第一個大的 NTFS 分區。一定不要在虛擬機運行時掛載該分區,那樣會導致虛擬機存儲設備上的數據嚴重損壞。請注意,在其他主機上分區可能有所不同。

導航到
/mnt/Windows/System32/config
目錄。如果當前工作目錄(PWD)不在這裡,chntpw實用程序就無法工作。請啟動該程序。

# chntpw -i SAM
chntpw version 1.00 140201, (c) Petter N Hagen
Hive 

chntpw命令使用 TUI(文本用戶界面),它提供了一套菜單選項。當選擇其中一個主要菜單項時,通常會顯示一個次要菜單。按照明確的菜單名稱,我首先選擇了菜單項1

What to do? [1] -> 1

===== chntpw Edit User Info & Passwords ====

| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrator                  | ADMIN  | dis/lock |
| 03eb | john                           | ADMIN  | dis/lock |
| 01f7 | DefaultAccount                 |        | dis/lock |
| 01f5 | Guest                          |        | dis/lock |
| 01f8 | WDAGUtilityAccount             |        | dis/lock |

Please enter user number (RID) or 0 to exit: [3e9]

接下來,我選擇了我們的管理賬戶 john,在提示下輸入 RID。這將顯示用戶的信息,並提供額外的菜單項來管理賬戶。

Please enter user number (RID) or 0 to exit: [3e9] 03eb
================= USER EDIT ====================

RID     : 1003 [03eb]
Username: john
fullname:
comment :
homedir :

00000221 = Users (which has 4 members)
00000220 = Administrators (which has 5 members)

Account bits: 0x0214 =
 Disabled        |  Homedir req.    |  Passwd not req. |
 Temp. duplicate | [X] Normal account  |  NMS account     |
 Domain trust ac |  Wks trust act.  |  Srv trust act   |
[X] Pwd don't expir |  Auto lockout    |  (unknown 0x08)  |
 (unknown 0x10)  |  (unknown 0x20)  |  (unknown 0x40)  |

Failed login count: 0, while max tries is: 0
Total  login count: 47

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Unlock and enable user account [probably locked now]
 3 - Promote user (make user an administrator)
 4 - Add user to a group
 5 - Remove user from a group
 q - Quit editing user, back to user select
Select: [q] > 2

這時,我選擇了菜單項 2,「解鎖並啟用用戶賬戶Unlock and enable user account」,這樣就可以刪除密碼,使我可以不用密碼登錄。順便說一下 —— 這就是自動登錄。然後我退出了該程序。在繼續之前,一定要先卸載/mnt

我知道,我知道,但為什麼不呢! 我已經繞過了這個硬盤和主機的安全問題,所以一點也不重要。這時,我確實登錄了舊的管理賬戶,並為自己創建了一個新的賬戶,並設置了安全密碼。然後,我以自己的身份登錄,並刪除了舊的管理賬戶,這樣別人就無法使用了。

網上也有 Windows Administrator 賬號的使用說明(上面列表中的 01f4)。如果它不是作為組織管理賬戶,我可以刪除或更改該賬戶的密碼。還要注意的是,這個過程也可以從目標主機上運行臨場 USB 來執行。

重新激活 Windows

因此,我現在讓 Windows SSD 作為虛擬機在我的 Fedora 主機上運行了。然而,令人沮喪的是,在運行了幾個小時後,Windows 顯示了一條警告信息,表明我需要「激活 Windows」。

在看了許許多多的死胡同網頁之後,我終於放棄了使用現有激活碼重新激活的嘗試,因為它似乎已經以某種方式被破壞了。最後,當我試圖進入其中一個在線虛擬支持聊天會話時,虛擬的「獲取幫助」應用程序顯示我的 Windows 10 Pro 實例已經被激活。這怎麼可能呢?它一直希望我激活它,然而當我嘗試時,它說它已經被激活了。

或者不

當我在三天內花了好幾個小時做研究和實驗時,我決定回到原來的 SSD 啟動到 Windows 中,以後再來處理這個問題。但後來 Windows —— 即使從原存儲設備啟動,也要求重新激活。

在微軟支持網站上搜索也無濟於事。在不得不與之前一樣的自動支持大費周章之後,我撥打了提供的電話號碼,卻被自動響應系統告知,所有對 Windows 10 Pro 的支持都只能通過互聯網提供。到現在,我已經晚了將近一天才讓電腦運行起來並安裝回辦公室。

回到未來

我終於吸了一口氣,購買了一份 Windows 10 Home,大約 120 美元,並創建了一個帶有虛擬存儲設備的虛擬機,將其安裝在上面。

我將大量的文檔和電子表格文件複製到辦公室經理的主目錄中。我重新安裝了一個我們需要的 Windows 程序,並與辦公室經理驗證了它可以工作,數據都在那裡。

總結

因此,我的目標達到了,實際上晚了一天,花了 120 美元,但使用了一種更標準的方法。我仍在對權限進行一些調整,並恢復 Thunderbird 通訊錄;我有一些 CSV 備份,但 *.mab文件在 Windows 驅動器上包含的信息很少。我甚至用 Linux 的find命令來定位原始存儲設備上的所有。

我走了很多彎路,每次都要自己重新開始。我遇到了一些與這個項目沒有直接關係的問題,但卻影響了我的工作。這些問題包括一些有趣的事情,比如把 Windows 分區掛載到我的 Linux 機器的 /mnt上,得到的信息是該分區已經被 Windows 不正確地關閉(是的,在我的 Linux 主機上),並且它已經修復了不一致的地方。即使是 Windows 通過其所謂的「恢復」模式多次重啟後也做不到這一點。

也許你從 chntpw工具的輸出數據中發現了一些線索。出於安全考慮,我刪掉了主機上顯示的其他一些用戶賬號,但我從這些信息中看到,所有的用戶都是管理員。不用說,我也改了。我仍然對我遇到的糟糕的管理方式感到驚訝,但我想我不應該這樣。

最後,我被迫購買了一個許可證,但這個許可證至少比原來的要便宜一些。我知道的一點是,一旦我找到了所有必要的信息,Linux 這一塊就能完美地工作。問題是處理 Windows 激活的問題。你們中的一些人可能已經成功地讓 Windows 重新激活了。如果是這樣,我還是想知道你們是怎麼做到的,所以請把你們的經驗添加到評論中。

這是我不喜歡 Windows,只在自己的系統上使用 Linux 的又一個原因。這也是我將組織中所有的計算機都轉換為 Linux 的原因之一。只是需要時間和說服力。我們只剩下這一個會計程序了,我需要和財務主管一起找到一個適合她的程序。我明白這一點 —— 我喜歡自己的工具,我需要它們以一種最適合我的方式工作。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/217422.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 00:27
下一篇 2024-12-09 00:27

相關推薦

發表回復

登錄後才能評論