卸離和重新連接開機磁碟


您可以從 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

    1. 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.

    2. Set a default region and zone.

    REST

    To use the REST API samples on this page in a local development environment, you use the credentials you provide to the 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.

    For more information, see Authenticate for using REST in the Google Cloud authentication documentation.

這項工作需要的權限

如要執行這項工作,您必須具備以下權限

  • 執行個體的 compute.instances.detachDisk 權限
  • 執行個體的 compute.instances.attachDisk 權限

限制

  • 您只能在已停止的 VM 執行個體上連結或卸離開機磁碟。
  • 每個 VM 執行個體只能連結一個開機磁碟。
  • 如果使用 gcloud CLI 或 REST,您只能將現有的開機磁碟連結至 VM 執行個體。

卸離開機磁碟

卸離執行個體的開機磁碟前,您必須停止執行個體。您不需要卸載磁碟。

主控台

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
  3. 按一下要卸離開機磁碟的執行個體。
  4. 按一下頁面最上方的 [Stope] (停止)
  5. 按一下頁面頂端的 [Edit] (編輯)
  6. 向下捲動至「Boot Disk」部分,在要卸離的開機磁碟旁按一下「X」
  7. 按一下 [儲存]

gcloud

使用 gcloud compute instances detach-disk 指令卸離執行個體的開機磁碟:

gcloud compute instances detach-disk INSTANCE_NAME \
    --disk=DISK_NAME

更改下列內容:

  • INSTANCE_NAME:執行個體的名稱。
  • DISK_NAME:待卸離磁碟的名稱。磁碟名稱通常與執行個體名稱相同。

REST

建構 POST 要求以卸離磁碟:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME

更改下列內容:

  • PROJECT_ID:專案 ID。
  • INSTANCE_NAME:執行個體的名稱。
  • ZONE:執行個體所在的區域。
  • DISK_NAME:待卸離磁碟的名稱。磁碟名稱通常與執行個體名稱相同。

重新連結開機磁碟

只要執行個體還沒有連結任何開機磁碟,且開機磁碟與 VM 執行個體屬於同一個區域,就能重新連結任何磁碟,視同執行個體的開機磁碟。如要自訂開機磁碟,您必須確定開機磁碟連結完畢後可正常啟動。

現有磁碟和新磁碟都必須與 UEFI 相容,如要建立與 UEFI 相容的磁碟,請使用 gcloud compute disk create 指令,並將 --guest-os-features 標記設為 UEFI_COMPATIBLE

主控台

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
  3. 按一下要連結開機磁碟的執行個體。
  4. 若 VM 執行個體尚未停止,請按一下頁面最上方的 [Stop] (停止)
  5. 按一下頁面頂端的「Edit」(編輯)
  6. 向下捲動至「Boot Disk」(開機磁碟) 部分。
  7. 按一下 [新增項目]。
  8. 在下拉式選單中選取開機磁碟。
  9. 按一下 [儲存]

gcloud

使用 gcloud compute instances attach-disk 指令將開機磁碟連結或重新連結於 VM 執行個體。加入 --boot 標記,表示該磁碟會用於執行個體的開機磁碟。如果沒有這個標記,連結於執行個體的磁碟會是次要資料磁碟。

gcloud compute instances attach-disk INSTANCE_NAME \
    --disk=DISK_NAME \
    --boot

更改下列內容:

  • INSTANCE_NAME:執行個體的名稱。
  • DISK_NAME:待連結磁碟的名稱。磁碟名稱可能與執行個體名稱相同。

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"
}

更改下列內容:

  • PROJECT_ID:專案 ID。
  • INSTANCE_NAME:要連接新永久磁碟的執行個體名稱。
  • ZONE:執行個體和新磁碟所在的區域。
  • DISK_NAME:新磁碟的名稱。

將磁碟連結至 VM 執行個體後,請重新啟動執行個體

更新執行個體的開機磁碟

您只能使用 Google Cloud 主控台,以便在單一步驟中更新 VM 的開機磁碟。具體而言,您可以透過同一項操作卸離現有開機磁碟並連結新的開機磁碟。

這項功能無法透過 gcloud CLI 或 REST 使用。

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
  3. 按一下要連結開機磁碟的執行個體。
  4. 若 VM 執行個體尚未停止,請按一下頁面最上方的 [Stop] (停止)
  5. 按一下頁面頂端的「Edit」(編輯)
  6. 向下捲動至「Boot Disk」(開機磁碟) 部分。
  7. 按一下目前開機磁碟旁的「X」
  8. 按一下 [新增項目]。
  9. 在下拉式選單中選取開機磁碟。
  10. 按一下 [儲存]

Google Cloud 主控台會開始卸離現有開機磁碟,並連結您指定的新開機磁碟。完成這項程序後,請重新啟動 VM 執行個體

後續步驟