VM 인스턴스에서 부팅 디스크를 분리하고 새 부팅 디스크를 연결할 수 있습니다.
이 기능을 사용하면 원래 인스턴스를 삭제하지 않고 다른 VM 인스턴스에 마운트할 수 있으므로 부팅 디스크 복구 과정이 간소화됩니다.
또한 전체 인스턴스를 다시 만들 필요 없이 인스턴스의 부팅 디스크를 바꿀 수 있습니다.
부팅 디스크가 없는 VM 인스턴스를 시작하려고 하면 오류가 발생합니다. 하지만 이 경우에도 다른 인스턴스 속성은 수정할 수 있습니다.
시작하기 전에
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다.
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 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
Install the Google Cloud CLI.
After installation,
initialize the Google Cloud CLI by running the following command:
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 호환 디스크를 만들려면 --guest-os-features 플래그를 UEFI_COMPATIBLE로 설정한 gcloud compute disk create 명령어를 사용합니다.
gcloud compute instances attach-disk 명령어를 사용하여 VM 인스턴스에 부팅 디스크를 연결하거나 다시 연결합니다. 해당 디스크가 인스턴스의 부팅 디스크로 사용되도록 표시하기 위해 --boot 플래그를 포함합니다.
이 플래그가 없으면 디스크가 비부팅 데이터 디스크로 연결됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-18(UTC)"],[[["\u003cp\u003eYou can detach and attach boot disks to VM instances, which is useful for repairing boot disks or replacing them without recreating the entire VM.\u003c/p\u003e\n"],["\u003cp\u003eDetaching or attaching a boot disk can only be done when the VM instance is stopped, and each VM can only have one boot disk at a time.\u003c/p\u003e\n"],["\u003cp\u003eTo detach a boot disk, you can use the Google Cloud console, \u003ccode\u003egcloud\u003c/code\u003e CLI, or REST API, and the process involves stopping the instance, and then detaching the disk.\u003c/p\u003e\n"],["\u003cp\u003eTo attach a boot disk, ensure the disk and instance are in the same zone, and utilize the Google Cloud console, \u003ccode\u003egcloud\u003c/code\u003e CLI, or REST API, making sure to specify that it is the boot disk when using the CLI or API.\u003c/p\u003e\n"],["\u003cp\u003eThe Google Cloud console allows for updating a boot disk in one step by detaching an existing one and attaching a new one, a feature not supported by \u003ccode\u003egcloud\u003c/code\u003e or REST.\u003c/p\u003e\n"]]],[],null,["*** ** * ** ***\n\nYou can detach boot disks from your VM instance and attach new boot disks.\nThis feature simplifies the process of repairing boot disks by letting you\nmount them to another VM instance without deleting your original instance.\nAdditionally, you can replace the boot disks for an instance rather than having\nto recreate the entire VM instance.\n\nIf a VM instance does not have a boot disk, attempting to start\nthe instance generates an error. However, you can still edit other instance\nproperties.\n\nBefore you begin\n\n- If you haven't already, set up [authentication](/compute/docs/authentication). Authentication verifies your identity for access to Google Cloud services and APIs. To run code or samples from a local development environment, you can authenticate to Compute Engine by selecting one of the following options:\n\n Select the tab for how you plan to use the samples on this page: \n\n Console\n\n\n When you use the Google Cloud console to access Google Cloud services and\n APIs, you don't need to set up authentication.\n\n gcloud\n 1.\n [Install](/sdk/docs/install) the Google Cloud CLI.\n\n After installation,\n [initialize](/sdk/docs/initializing) the Google Cloud CLI by running the following command:\n\n ```bash\n gcloud init\n ```\n\n\n If you're using an external identity provider (IdP), you must first\n [sign in to the gcloud CLI with your federated identity](/iam/docs/workforce-log-in-gcloud).\n | **Note:** If you installed the gcloud CLI previously, make sure you have the latest version by running `gcloud components update`.\n 2. [Set a default region and zone](/compute/docs/gcloud-compute#set_default_zone_and_region_in_your_local_client).\n\n REST\n\n\n To use the REST API samples on this page in a local development environment, you use the\n credentials you provide to the gcloud CLI.\n 1. [Install](/sdk/docs/install) the Google Cloud CLI. After installation, [initialize](/sdk/docs/initializing) the Google Cloud CLI by running the following command: \n\n ```bash\n gcloud init\n ```\n 2. If you're using an external identity provider (IdP), you must first [sign in to the gcloud CLI with your federated identity](/iam/docs/workforce-log-in-gcloud).\n\n\n For more information, see\n [Authenticate for using REST](/docs/authentication/rest)\n in the Google Cloud authentication documentation.\n\nPermissions required for this task\n\nTo perform this task, you must have the following [permissions](/iam/docs/overview#permissions):\n\n- `compute.instances.detachDisk` on the instance\n- `compute.instances.attachDisk` on the instance\n\nRestrictions\n\n- You can attach or detach a boot disk only from a [stopped VM instance](/compute/docs/instances/stop-start-instance).\n- You can attach only one boot disk per VM instance.\n- If using the gcloud CLI or REST, you can attach only existing boot disks to a VM instance.\n\nDetach a boot disk\n\nBefore detaching the boot disk from the VM instance, you must\n[stop the instance](/compute/docs/instances/stopping-or-deleting-an-instance#stop_an_instance).\nYou don't need to unmount the disk. \n\nConsole\n\n1. Go to the VM instances page. [Go to VM instances](https://console.cloud.google.com/compute/instances)\n\n2. If prompted, select your project and click **Continue**.\n3. Click the instance for which you want to detach the boot disk.\n4. Click stop **Stop** to stop the VM. If there is no **Stop** option, click more_vert **More actions \\\u003e** stop **Stop**.\n5. Click **Edit**.\n6. Scroll down to the **Boot Disk** section and click **X** next to the boot disk that you want to detach.\n7. Click **Save**.\n\ngcloud\n\nUse the\n[`gcloud compute instances detach-disk` command](/sdk/gcloud/reference/compute/instances/detach-disk)\nto detach the boot disk from the instance: \n\n```\ngcloud compute instances detach-disk INSTANCE_NAME \\\n --disk=DISK_NAME\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e: the name of the instance.\n- \u003cvar translate=\"no\"\u003eDISK_NAME\u003c/var\u003e: the name of the disk to detach. The disk name is usually the same as the instance name.\n\nREST\n\nConstruct a `POST` request to detach the disk: \n\n```\nPOST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the ID of your project.\n- \u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e: the name of the instance.\n- \u003cvar translate=\"no\"\u003eZONE\u003c/var\u003e: the zone where your instances is located.\n- \u003cvar translate=\"no\"\u003eDISK_NAME\u003c/var\u003e: the name of the disk to detach. The disk name is usually the same as the instance name.\n\nReattach a boot disk\n\nAny disk can be reattached as a boot disk to an instance as long as the instance\ndoes not already have a boot disk attached and the boot disk is in the same\nzone as the VM instance. If you customize a boot disk, you\nmust ensure that the boot disk boots properly after it is attached.\n\nBoth the existing disk and the new disk must either be UEFI-compatible or not.\nTo create a UEFI-compatible disk, use the [`gcloud compute disk create` command](/sdk/gcloud/reference/compute/disks/create)\nwith the `--guest-os-features` flag set to `UEFI_COMPATIBLE`. \n\nConsole\n\n1. Go to the VM instances page. [Go to VM instances](https://console.cloud.google.com/compute/instances)\n\n2. If prompted, select your project and click **Continue**.\n3. Click the instance for which you want to attach the boot disk.\n4. If the VM is running, click stop **Stop** to stop the VM. If there is no **Stop** option, click more_vert **More actions \\\u003e** stop **Stop**.\n5. Click **Edit**.\n6. Go to the **Boot Disk** section.\n7. Click **Add item**.\n8. Select a boot disk from the drop-down menu.\n9. Click **Save**.\n\ngcloud\n\nUse the\n[`gcloud compute instances attach-disk` command](/sdk/gcloud/reference/compute/instances/attach-disk)\nto attach or reattach a boot disk to a VM instance. Include the `--boot`\nflag to indicate that the disk is used as the boot disk for the instance.\nIf this flag is absent, the disk is attached as a non-boot data disk. \n\n```\ngcloud compute instances attach-disk INSTANCE_NAME \\\n --disk=DISK_NAME \\\n --boot\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e: the name of the instance.\n- \u003cvar translate=\"no\"\u003eDISK_NAME\u003c/var\u003e: the name of the disk to attach. The disk name may be the same as the instance name.\n\nREST\n\nConstruct a `POST` request to attach the disk. Include the optional\n`\"boot\": true` parameter to indicate that this disk is the boot disk. If\nthis parameter is absent, the disk is attached as a non-boot data disk. \n\n```\nPOST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk\n{\n \"boot\": true,\n \"source\": \"zones/ZONE/disks/DISK_NAME\"\n}\n```\n\n\u003cbr /\u003e\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the ID of your project.\n- \u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e: the name of the instance to which you're attaching the new Persistent Disk.\n- \u003cvar translate=\"no\"\u003eZONE\u003c/var\u003e: the zone where your instance and new disk are located.\n- \u003cvar translate=\"no\"\u003eDISK_NAME\u003c/var\u003e: the name of the new disk.\n\nAfter you attach the disk to your VM instance,\n[restart the instance](/compute/docs/instances/restarting-an-instance).\n\nUpdate a boot disk for an instance\n\nYou can use only the Google Cloud console to update the boot disk for a VM in\none step. Specifically, you can detach an existing boot disk and attach a new\nboot disk as one action.\n\nThis feature is not available through the gcloud CLI or REST.\n\n1. Go to the VM instances page. [Go to VM instances](https://console.cloud.google.com/compute/instances)\n\n2. If prompted, select your project and click **Continue**.\n3. Click the instance for which you want to attach the boot disk.\n4. If the VM is running, click stop **Stop** to stop the VM. If there is no **Stop** option, click more_vert **More actions \\\u003e** stop **Stop**.\n5. Click **Edit** at the top of the page.\n6. Scroll down to the **Boot Disk** section.\n7. Click **X** next to the current boot disk.\n8. Click **Add item**.\n9. Select a boot disk from the drop-down menu.\n10. Click **Save**.\n\nThe Google Cloud console proceeds to detach your existing boot disk and attach\nthe new boot disk that you specified. When this process is complete,\n[restart the VM instance](/compute/docs/instances/restarting-an-instance).\n\nWhat's next?\n\n- [Create a new disk from a snapshot](/compute/docs/disks/restore-and-delete-snapshots#restoresnapshotlargersize)\n- [Transfer files to VM instances](/compute/docs/instances/transfer-files)"]]