如何擴展 Windows 虛擬機器分區

當虛擬機器上的虛擬磁碟空間已滿時,您需要增加虛擬磁碟的大小。然而,虛擬磁碟上的分割區並不會自動擴展,必須手動進行擴展。

瞭解如何透過不同方法增加虛擬磁碟的大小並擴展 Windows 分割區,以及如何根據不同情境組合運用這些方法。

NAKIVO for VMware vSphere 備份

NAKIVO for VMware vSphere 備份

為 VMware vSphere 虛擬機器提供全面資料保護及快速還原選項。支援本地、異地及雲端的備份目標。具備防勒索軟體功能。

準備擴展 Windows 分割區

首先,讓我們來了解本文中使用的設定。這個流程包含兩個步驟:

  1. 使用 vSphere Client 在 VMware vCenter 中擴大虛擬磁碟的容量
  2. 增加 Windows 虛擬機器中的分割區大小

在本範例中,虛擬機器上安裝的客體作業系統為 Windows Server 2019。系統包含一個 20 GB 的虛擬磁碟,其中設有單一系統分割區 (C:),Windows 即安裝於此。

請注意,Windows Server 2022、Windows Server 2016、Windows 10、Windows 8 及 Windows 7 的操作流程大致相同。若為 Linux 環境,您可以參閱 如何在 Linux 中擴展分割區.

擴展虛擬機器虛擬磁碟的需求如下:

  • 虛擬機器必須已關機。
  • 虛擬磁碟不得包含快照。

在 vSphere Client 中擴展 Windows 虛擬磁碟

首先,您必須增加虛擬機器所使用的虛擬磁碟大小。在此範例中,我們將使用 VMware vSphere Client 來增加虛擬磁碟的大小。

  1. 選取您要擴充其虛擬磁碟的虛擬機器,右鍵點擊該虛擬機器,然後在彈出的選單中按下 Edit Settings 以開啟虛擬機器設定。

    Editing VM settings in VMware vSphere Client

  2. Virtual Hardware 在"設定"分頁中,展開所需硬碟的設定,例如: Hard disk 1. 輸入選取硬碟的新容量。在本範例中,我們將虛擬磁碟從 20 GB 擴充至 30 GB。按下 OK 以儲存設定並擴充磁碟。若硬碟設定呈灰色且無法選取,請關閉虛擬機器電源,然後重試。請確認虛擬機器磁碟上沒有快照。

    Editing the virtual disk size in VMware vSphere Client

使用"磁碟管理"功能模組擴充 Windows 分割區

虛擬硬碟現已擴充,但分割區的大小仍維持不變。要擴充 Windows 分割區,最方便的方法是使用 Windows 10 及其他版本圖形使用者介面中的原生磁碟管理工具。

  1. 開啟 Computer Management,然後開啟 Disk Management.
    • 在 Windows Server 2016、2019 和 2022 中,請按一下 Tools > Computer Management伺服器管理員.
    • 在 Windows 10 及其他 Windows 客戶端版本中,請右鍵點擊 My Computer (This PC) 圖示,然後在快顯選單中,按一下 Computer Management.

      Opening Computer Management from Server Manager in Windows Server 2019

    • 在"電腦管理"視窗的左側窗格中,按一下 Disk Management.
    • 您可以在不同版本的 Windows 中,透過命令列介面執行以下指令來開啟"磁碟管理"輔助程式: diskmgmt.msc 指令。
  2. 右鍵點擊所需的分區,然後在快顯選單中點擊 Extend Volume.

    註: 您要擴展的分區後面必須有可用空間。假設磁碟上有兩個分區(C: 和 D:),而您想擴展第一個分區(C:),則未分配的磁碟空間應位於第一個與第二個分區之間(即 C: 之後、D: 之前)。

    How to expand a disk partition in Windows 10 in Disk Management

  3. Welcome to the Extend Volume Wizard. 點擊 Next 繼續。
  4. Select Disks. 選取磁碟上的未分配磁碟空間,用以擴充所需的磁碟分割區。在本範例中,我們選取 10 GB 的未分配磁碟空間,該空間是在增加虛擬磁碟大小後出現的。您可以以 MB 為單位選取磁碟空間(其大小不得超過未分配磁碟空間的大小)。

    How to extend volumes in a disk management snap-in of Windows

  5. Completing the Extend Volume Wizard. 點擊 Finish.

現在分區大小已增加,且虛擬磁碟上已無未分配的磁碟空間。您可以檢查 磁碟管理 視窗以及在 Windows 檔案總管中。

Changing disk partition size has been completed successfully in Windows Disk Management

如果 Windows 10 中的"擴充磁碟區"選項因故無法使用,請參照以下說明的下一種方法。

使用 Diskpart 擴展 Windows 磁碟區

在上文中,我們透過使用 磁碟管理 snap-in。此選項僅適用於較新版本的 Windows,用於擴展包含系統分割區在內的分割區。然而,此選項在 Windows XP、Windows Server 2003 及更舊版本的 Windows 中並不可用(您可能已安裝舊版 Windows,例如 Windows XP,以便執行舊版應用程式)。

另一種方法是透過 USB 連接舊式裝置(該 USB 直通功能 VMware 的這項特點可讓您在裝置缺乏新版 Windows 驅動程式時,直接將 USB 裝置連接至虛擬機器。若因支援已終止或缺少驅動程式而無法在現代硬體上安裝 Windows XP,您仍可在虛擬機器上使用此作業系統。在本節中,我們將說明如何增加 Windows XP 虛擬機器所使用的虛擬磁碟容量,以及隨後如何擴展該虛擬磁碟上的分割區。

註: 由於目前已不再為 Windows XP 和 Windows Server 2003 發布安全性修補程式,基於安全性考量,請避免將執行這些作業系統的電腦連接到生產網路。攻擊者可能會利用未修補的軟體漏洞發動惡意軟體攻擊。微軟建議您使用最新版本的 Windows。本篇部落格文章的此節以 Windows XP 為例進行說明。

若要擴充系統分割區,系統分割區後方必須有未分配(未分割)的磁碟空間。

此工作流程適用於 Windows XP 及更新版本的 Windows 系統。

準備環境以擴展 Windows 分割區

讓我們使用 Windows 的原生內建命令列工具,此工具在 Windows XP 及所有較新版本與版本的 Windows 中皆可使用。其原理是利用 Windows 10 安裝映像檔,從這個虛擬 DVD 映像檔開機,並執行 diskpart,並調整分區的大小。使用 diskpart Windows 7 及更新版本的 Windows 支援 4 KB 區塊及其對齊(Windows XP 的原生工具不支援此特點)。您可使用此方法來擴展運行其他 Windows 版本的電腦上的分割區。

在此範例中,一台 Windows XP 虛擬機器正在 ESXi 主機上運行。您可以使用 VMware Workstation 代替 vSphere Client,來編輯運行於 ESXi 主機上的虛擬機器的設定。 VMware Workstation 提供連接 vCenter Server 和 ESXi 主機以及管理虛擬機器的功能性。您可以使用此方法調整電腦上 VMware Workstation 中運行之虛擬機器的虛擬磁碟和分割區大小。請注意,此情況下虛擬機器檔案的位置有所不同。

讓我們從頭開始。在增加運行 Windows XP 的虛擬機器中虛擬磁碟的大小之前,該磁碟的分區方案在 磁碟管理 如下圖所示。系統中有一顆 10 GB 的虛擬硬碟,以及一個佔滿整個磁碟空間的 C: 分割區。Windows 即安裝於此 NTFS 分割區上。

The Disk Management snap-in in older versions of Windows

在 VMware 工作站中擴展虛擬磁碟

要擴充虛擬機器的硬碟空間:

  1. 開啟 VMware 工作站,然後按一下 File > Connect to Server. 請輸入虛擬機器所在的 ESXi 主機的 IP 位址,或輸入管理該 ESXi 主機(其上包含所需虛擬機器)的 vCenter Server 的 IP 位址。請輸入所選伺服器的管理員憑證(預設為 使用者名稱用於 ESXi 主機,以及 administrator@vsphere.local (適用於 vCenter)。

    Connecting to an ESXi server in VMware Workstation

  2. 在相應伺服器的虛擬機器清單中,選取包含您要擴充之虛擬磁碟的虛擬機器。
  3. 關閉虛擬機器。
  4. 然後點擊 VM > Settings 在 VMware 工作站中。

    Opening VM settings

  5. Hardware 在"分區"索引標籤中,選取您要擴充的硬碟,然後在視窗的右側區域,按一下 Expand. 我們即將擴充 C: 磁碟區的 Windows XP 虛擬機器,其配備了一個 10 GB 的精簡配置虛擬磁碟。

    How to expand the virtual disk size of a VM in VMware Workstation

  6. 輸入新的最大磁碟大小。我們將虛擬磁碟從 10 GB 擴充至 18 GB。VMware 會顯示以下通知:

    "擴展"操作僅會增加虛擬磁碟的大小。分割區和檔案系統的大小不會受到影響。

    好的。點擊 Expand 將變更套用至虛擬磁碟。

  7. 當磁碟成功擴充後,系統會顯示一則訊息,提醒您重新分割磁碟。按下 OK 以關閉此視窗。

    How to extend hard drive of a VM in VMware Workstation

  8. 現在,在虛擬機器硬體的硬碟選項中,您可以看到虛擬磁碟的大小已增加至 18 GB。

    Virtual hard disk options in virtual machine settings

  9. 如果您啟動 Windows XP 虛擬機器並開啟 磁碟管理 在"磁碟管理"中,您會發現 8 GB 的磁碟空間已作為未分配的磁碟空間,位於第一個分割區(C: 磁碟)之後。如果您右鍵點擊某個分割區,您不會看到 展開/收合 由於 Windows XP 不支援這些特點,因此請關閉此虛擬機器上的 Windows XP,並準備較新版本 Windows 的 ISO 安裝映像檔。

    The extend volume option in not available in Windows disk management

  10. 在 VMware 工作站中,開啟 VM settings Windows XP 虛擬機器。在硬體設定中,按一下 CD/DVD drive 1,然後在視窗的右側窗格中,選取所需的 Windows 安裝映像。

由於該虛擬機器位於 ESXi 主機上,且使用 VMware Workstation 來管理此虛擬機器,因此虛擬機器的 CD/DVD 光碟機有多種設定選項。您可以選擇儲存於遠端伺服器(ESXi 伺服器)資料存放區中的 ISO 映像檔,或選擇儲存於安裝了 VMware Workstation 的電腦中的 ISO 映像檔。您也可以將光碟插入 ESXi 伺服器或執行 VMware Workstation 的電腦的實體光碟機中。

讓我們使用儲存於本地電腦上的 Windows 10 ISO 映像檔,並將其插入虛擬 CD/DVD 光碟機。按下 OK 儲存虛擬機器設定並關閉視窗。

DVD drive configuration of a virtual machine

使用 diskpart 在 Windows 安裝媒體上

Diskpart 是 Windows 的進階命令列工具,具備圖形化使用者介面(GUI)所沒有的特點。

若要在 Windows 中擴充磁碟區,請使用 diskpart 透過 Windows 10 安裝媒體:

  1. 開啟虛擬機器並按下 F2 快速開啟虛擬機器的 BIOS 設定。在 Boot 選單頁籤,選擇 CD-ROM 將該磁碟設為第一個開機裝置,儲存變更,然後退出。
  2. 從選定的 Windows 安裝媒體(此處為 Windows 10 ISO 映像檔)開機。
  3. 新聞 Shift+F10 在語言選擇階段,開啟命令提示字元 (CMD)。

    Press Shift+F10 at the stage of language setup to open CMD during Windows installation

  4. 類型 diskpart 在 CMD 視窗中輸入,然後按下 Enter 鍵。提示字元已變更為:

    DISKPART>

  5. 顯示目前連接到本機的所有磁碟清單:

    list disk

    在下圖的螢幕截圖中,您可以看到我們已擴展至 18 GB 的虛擬磁碟,其中包含 8 GB 的可用(未分配)磁碟空間。左側欄位中顯示了磁碟的數量。所需的磁碟已標記為 磁碟 0.

  6. 要選取磁碟,請輸入以下指令:

    select disk 0

    Viewing information about disks by using diskpart

  7. 確認所需磁碟已可用後,請列出可用的磁碟分割區:

    list volume

    在這種情況下,我們希望擴展 1,也就是安裝了 Windows 的 NTFS 分割區。

  8. 現在請選取您要增加大小的分割區:

    select volume 1

  9. 若要將分割區擴展至最大可用大小,請輸入以下指令:

    extend

    若要將分割區擴展至自訂大小,請輸入類似以下的指令:

    extend size=10240

    此處的 10240 代表 10240 MB。若指令中未指定單位,預設將使用兆位元組。此指令會將選定的分割區擴大 10 吉位元組。

  10. 檢查所選分區是否為延伸分區,並再次列出磁碟區(分區)。執行以下指令:

    list volume

    list partition

  11. 如以下螢幕截圖所示,所需的分區已成功擴充,您可以關閉 diskpart 工具:

    exit

    How to extend partition size in Windows by using diskpart

  12. 重新啟動虛擬機器,從虛擬光碟機中彈出 ISO 映像檔,並在虛擬機器的 BIOS 中將虛擬硬碟設定為第一個開機裝置。
  13. 從已擴充的虛擬硬碟啟動 Windows XP。開啟 磁碟管理 安裝並檢查磁碟分割區。該分割區已成功擴充,且已成功從此擴充的分割區載入 Windows XP 虛擬機器。

當無法從已安裝的作業系統直接調整磁碟區大小時,您可以使用相同的工作流程來擴展 Windows Vista、7、8、10、Windows Server 2003、2008、2012、2016 及 2019 的磁碟區。

Viewing disk configuration in Windows Disk Management

使用輔助虛擬機器

擴展虛擬磁碟上分割區的另一種方法,是將該虛擬磁碟連接到另一台已安裝分割區管理軟體的虛擬機器上。第一台虛擬機器稱為來源虛擬機器,第二台則稱為輔助虛擬機器。

假設您有兩台虛擬機器。第一台安裝了 Windows XP,第二台安裝了 Windows 10。您已擴展了 Windows XP 虛擬機器所使用的虛擬磁碟,並希望擴展該磁碟上的某個分割區。此操作無法透過 Windows XP 的原生工具完成。同時,Windows 10 具備內建的適當工具,具有擴展分割區的功能性(磁碟管理, diskpart)。本節以 Windows XP 和 Windows 10 為例說明。您亦可使用其他或較新版本的 Windows。

增加第一個虛擬機器所使用磁碟的分區大小的操作流程如下:

  1. 請關閉這兩台虛擬機器。
  2. 開啟 VM settings 第二台虛擬機器(安裝了 Windows 10 的那台)。
  3. Hardware 分頁,點擊 Add > Hard disk. 選取此選項以使用現有的虛擬硬碟,並指定對應虛擬硬碟的 VMDK 檔案位置(在本範例中,即來自 XP 虛擬機的虛擬硬碟)。
  4. 開啟第二台虛擬機器,並從安裝了 Windows 10 的虛擬磁碟開機。
  5. 開啟 Disk Management 在 Windows 10 中開啟"管理工具",然後找出安裝了 Windows XP 的分區所在的虛擬磁碟。
  6. 右鍵點擊您要擴展的磁碟區,然後點擊 Extend Volume 在右鍵選單中。
  7. 設定卷宗參數,並設定所需的卷宗大小。
  8. 完成後,請關閉"磁碟管理"模組,並關閉 Windows 10 虛擬機器。
  9. 開啟 Windows 10 虛擬機器的設定。移除 Windows XP 虛擬機器的虛擬磁碟。
  10. 請檢查 Windows XP 虛擬機的設定。請確認虛擬機配置中是否包含已擴充的虛擬磁碟。
  11. 開啟 Windows XP 虛擬機器,啟動作業系統,並檢查磁碟分割區的大小。

在 PowerShell 中擴展 Windows 分割區

擴展 Windows 分割區的另一種方法是使用 PowerShell。讓我們來看看如何在將 Windows 10 虛擬機的虛擬磁碟大小從 20 GB 擴展至 30 GB 後,進一步擴展該分割區。該磁碟包含一個 C: 分割區(卷)。此方法適用於 Windows 10、11、Windows Server 2016、2019 及 2022。

  1. 以系統管理員身分執行 PowerShell。
  2. 將磁碟區設定為可變大小:

    $drive_letter = "C"

  3. 取得可用空間以擴充儲存空間:

    $size = (Get-PartitionSupportedSize -DriveLetter $drive_letter)

  4. 將分割區調整為最大可用大小:

    Resize-Partition -DriveLetter $drive_letter -Size $size.SizeMax

    How to extend Windows partitions in PowerShell

您可以建立一個 PowerShell 腳本,以避免手動執行每個指令。

  1. 建立一個腳本檔案,例如: extend_volume_c.ps1 並將檔案放置於任何目錄中,例如: C:temp.
  2. 請將以下幾行加入此 ps1 檔案中:

    # Specify the disk drive to be extended

    $drive_letter = "C"

    # Get the partition size

    $size = (Get-PartitionSupportedSize -DriveLetter $drive_letter)

    # Resize the volume to the maximum available size on the disk

    Resize-Partition -DriveLetter $drive_letter -Size $size.SizeMax

  3. 以系統管理員身分執行 PowerShell。
  4. 執行此腳本:

    C:tempextend_volume_c.ps1

  5. 檢查分區大小是否已擴充:

    Get-PSDrive

    The partition was expanded in Windows PowerShell

使用 VMware vCenter Converter

作為先前方法的替代方案,您可以使用 VMware vCenter Converter 獨立版 用於擴展在 ESXi 或 VMware 工作站上運行的 VMware 虛擬機器(VM)的虛擬磁碟,並調整磁碟分割區大小。您可以在 Windows 10 以及轉換器支援的其他 Windows 版本上擴展磁碟區。

請注意,您需要預留足夠的可用空間,因為 VMware Converter 會建立一個新的虛擬機器,並將來源虛擬機器上的資料複製到目標虛擬機器。

在此範例中,我們將把 Windows 虛擬機器的虛擬磁碟從 18 GB 擴展至 22 GB,並自動調整系統分割區(C: 磁碟機)的大小。因此,本範例屬於 V2V(虛擬到虛擬)轉換。

  1. 開啟 VMware vCenter Converter 獨立版,然後點擊 Convert machine.

    Starting to convert a virtual machine in VMware vCenter Converter

  2. Source System. 選擇來源虛擬機器的類型。您可以選擇一個 VMware 基礎架構虛擬機器 (一臺位於 vSphere 中 ESXi 主機上的虛擬機器) 或一臺 VMware Workstation 工作站虛擬機器. 來源虛擬機器可以處於開機或關機狀態。

    現在,請選取位於 ESXi 主機上且處於關機狀態的 Windows 虛擬機器。若您選取位於 ESXi 主機上的虛擬機器,請輸入該 ESXi 主機的憑證,或是管理該 ESXi 主機及其虛擬機器的 vCenter Server 的憑證。

    點擊 Next 在精靈的每個步驟中,請點擊"繼續"。

    Selecting a source system

  3. Source Machine. 選取包含您要擴充之虛擬磁碟的來源機器。

    Selecting a source virtual machine to convert for changing disk partition size

  4. Destination System. 選擇目標虛擬機器類型:VMware Infrastructure 虛擬機器或 VMware 工作站虛擬機器。選擇相容的 VMware 產品。輸入虛擬機器名稱及位置。

    Selecting destination to store a converted VM

  5. Options. 點擊 Edit 待複製的資料 展開磁碟選項。在下拉式選單中,選取要複製的磁碟區,然後按下 Advanced. 在下表中,請選取所需的虛擬磁碟和分割區,並設定目標大小。選取 Create optimized partition layout 勾選此核取方塊,將分割區擴充至與擴充後的虛擬磁碟大小相符。

    Changing disk partition size for a Windows VM in VMware Converter

完成精靈程序,並等待 VMware Converter 建立虛擬機器副本。接著,如果一切正常,即可刪除來源虛擬機器。

結論

在 Windows 10 上擴充磁碟區最方便的方法,是使用圖形使用者介面中的原生磁碟管理工具。如果您的 Windows 電腦無法使用此方法,或者您的分割區配置較為複雜,您可以使用 diskpart,這是一款進階的命令列工具,亦可透過開機 DVD 映像檔取得,或使用輔助虛擬機器。透過 PowerShell 指令,您可在最新版本的 Windows 中擴增分割區大小。最後,亦可使用 VMware vCenter Converter 來自動擴增卷宗大小並調整虛擬磁碟大小。

無論您選擇哪種方法,務必確保已備妥虛擬機器的最新備份,以便在發生任何問題時,能夠恢復虛擬機器以及應用程式和系統資料。 NAKIVO Backup & Replication 這是一套適用於虛擬、實體、雲及 SaaS 環境的全面性資料保護解決方案。

NAKIVO for VMware vSphere 備份

NAKIVO for VMware vSphere 備份

為 VMware vSphere 虛擬機器提供全面資料保護及快速還原選項。支援本地、異地及雲端的備份目標。具備防勒索軟體功能。

People also read