您可以從 VM 執行個體卸離開機磁碟,並連接新的開機磁碟。這項功能可讓您將開機磁碟掛接至其他 VM 執行個體,不必刪除原始執行個體,因此能夠簡化修復開機磁碟的流程。此外,您可以替換執行個體的開機磁碟,不必重新建立整個 VM 執行個體。
如果 VM 執行個體沒有開機磁碟,嘗試啟動執行個體時會發生錯誤。不過,您仍可編輯其他執行個體屬性。
事前準備
-
如果尚未設定,請先設定驗證機制。「驗證」是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,以便對 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- 執行個體的
compute.instances.detachDisk
權限 - 執行個體的
compute.instances.attachDisk
權限 - 您只能在已停止的 VM 執行個體上連結或卸離開機磁碟。
- 每個 VM 執行個體只能連結一個開機磁碟。
- 如果使用 gcloud CLI 或 REST,您只能將現有的開機磁碟連結至 VM 執行個體。
- 前往「VM instances」(VM 執行個體) 頁面。
- 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
- 按一下要卸離開機磁碟的執行個體。
- 按一下 「停止」,即可停止 VM。如果沒有「停止」選項,請依序點選 「更多動作」> 「停止」。
- 按一下 [編輯]。
- 向下捲動至「Boot Disk」部分,在要卸離的開機磁碟旁按一下「X」。
- 按一下 [儲存]。
INSTANCE_NAME
:執行個體的名稱。DISK_NAME
:待卸離磁碟的名稱。磁碟名稱通常與執行個體名稱相同。PROJECT_ID
:專案 ID。INSTANCE_NAME
:執行個體的名稱。ZONE
:執行個體所在的區域。DISK_NAME
:待卸離磁碟的名稱。磁碟名稱通常與執行個體名稱相同。- 前往「VM instances」(VM 執行個體) 頁面。
- 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
- 按一下要連結開機磁碟的執行個體。
- 如果 VM 正在執行,請按一下 「Stop」 停止 VM。如果沒有「停止」選項,請依序點選 「更多動作」> 「停止」。
- 按一下 [編輯]。
- 前往「Boot Disk」部分。
- 按一下 [新增項目]。
- 從下拉式選單中選取開機磁碟。
- 按一下 [儲存]。
INSTANCE_NAME
:執行個體的名稱。DISK_NAME
:待連結磁碟的名稱。磁碟名稱可能與執行個體名稱相同。PROJECT_ID
:專案 ID。INSTANCE_NAME
:要連接新永久磁碟的執行個體名稱。ZONE
:執行個體和新磁碟所在的區域。DISK_NAME
:新磁碟的名稱。- 前往「VM instances」(VM 執行個體) 頁面。
- 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
- 按一下要連結開機磁碟的執行個體。
- 如果 VM 正在執行,請按一下 「Stop」 停止 VM。如果沒有「停止」選項,請依序點選 「更多動作」> 「停止」。
- 按一下頁面頂端的「Edit」(編輯)。
- 向下捲動至「Boot Disk」(開機磁碟) 部分。
- 按一下目前開機磁碟旁的「X」。
- 按一下 [新增項目]。
- 從下拉式選單中選取開機磁碟。
- 按一下 [儲存]。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳情請參閱 Google Cloud 驗證說明文件中的「驗證以使用 REST」。
這項工作需要的權限
如要執行這項工作,您必須具備以下權限:
限制
卸離開機磁碟
卸離執行個體的開機磁碟前,您必須停止執行個體。您不需要卸載磁碟。
主控台
gcloud
使用
gcloud compute instances detach-disk
指令卸離執行個體的開機磁碟:gcloud compute instances detach-disk INSTANCE_NAME \ --disk=DISK_NAME
更改下列內容:
REST
建構
POST
要求以卸離磁碟:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME
更改下列內容:
重新連結開機磁碟
只要執行個體還沒有連結任何開機磁碟,且開機磁碟與 VM 執行個體屬於同一個區域,就能重新連結任何磁碟,視同執行個體的開機磁碟。如要自訂開機磁碟,您必須確定開機磁碟連結完畢後可正常啟動。
現有磁碟和新磁碟都必須與 UEFI 相容,如要建立與 UEFI 相容的磁碟,請使用
gcloud compute disk create
指令,並將--guest-os-features
標記設為UEFI_COMPATIBLE
。主控台
gcloud
使用
gcloud compute instances attach-disk
指令將開機磁碟連結或重新連結至 VM 執行個體。加入 標記,表示該磁碟會用於執行個體的開機磁碟。如果沒有這個標記,連結於執行個體的磁碟會是次要資料磁碟。--boot
gcloud compute instances attach-disk INSTANCE_NAME \ --disk=DISK_NAME \ --boot
更改下列內容:
REST
建構
POST
要求以連結磁碟。加入選用的"boot": true
參數,表示這個磁碟是開機磁碟。如果沒有這項參數,連結於執行個體的磁碟會是用於儲存資料的非開機磁碟。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk { "boot": true, "source": "zones/ZONE/disks/DISK_NAME" }
更改下列內容:
將磁碟連結至 VM 執行個體後,請重新啟動執行個體。
更新執行個體的開機磁碟
您只能使用 Google Cloud 主控台,才能在一個步驟中更新 VM 的開機磁碟。具體而言,您可以透過同一項操作卸離現有開機磁碟並連結新的開機磁碟。
這項功能無法透過 gcloud CLI 或 REST 使用。
Google Cloud 主控台會開始卸離現有開機磁碟,並連結您指定的新開機磁碟。完成這項程序後,請重新啟動 VM 執行個體。
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-06-16 (世界標準時間)。
-