diskpartを利用して、Windows環境のAWS EBS Root Volumeを縮小または分割してみる

diskpartを利用して、Windows環境のAWS EBS Root Volumeを縮小または分割する方法を整理してみました。
2022.12.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、クラスメソッドのキム・ジェウク(Kim Jaewook)です。

今回は、diskpartを利用して、Windows環境のAWS EBS Root Volumeを縮小または分割する方法を整理してみました。

diskpartとは?

diskpart コマンド インタープリターは、コンピューターのドライブ (ディスク、パーティション、ボリューム、または仮想ハード ディスク) を管理するのに役立ちます。

diskpart コマンドを使用する前に、最初に一覧を表示してから、フォーカスを設定するオブジェクトを選択する必要があります。 オブジェクトにフォーカスがあった後に入力した DiskPart コマンドは、そのオブジェクトに対して機能します。

公式ドキュメントでは、上記のように説明しています。

その他、下記のパラメーターで、使用可能なオブジェクトの一覧表を表示したり、オブジェクトの番号やディスク名を確認できます。

  • list disk - コンピュータ上のすべてのディスクを表示します。
  • list volume - コンピュータのすべてのボリュームを表示します。
  • list partition - コンピュータにフォーカスのあるディスクのパーティションを表示します。
  • list vdisk - コンピュータ上のすべての仮想ディスクを表示します。

diskpartでVolumeを分割

現在、EC2インスタンスにはサイズ300GiBのEBS Volumeがアタッチされている状態です。

この300GiBを下記のように分けてみます。

  • Cドライブ(100GiB)
  • Dドライブ(200GiB)

Session ManagerでEC2インスタンスに接続します。

Session ManagerではなくWindows内部のPowershellを利用しても構いません。

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Windows\system32> diskpart

Microsoft DiskPart バージョン 10.0.20348.1

Copyright (C) Microsoft Corporation.
コンピューター: EC2AMAZ-xxxxxxx

DISKPART>

diskpartのコマンドでdiskpartに入ります。

DISKPART> list volume

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0     C                NTFS   Partition    299 GB  正常         システム

list volumeのコマンドで、現在、EC2インスタンスにアタッチされているvolumeリストを読み込みます。

DISKPART> select volume 0

ボリューム 0 が選択されました。

現在、300GBのRoot Volumeを選択します。

DISKPART> shrink desired=204798

ボリュームは、次の方法で正常に縮小されました:  199 GB

続いて、200GB分のVolumeを切ります。

DISKPART> list volume

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
* Volume 0     C                NTFS   Partition    100 GB  正常         システム

再度、Volumeを確認してみると、100GBだけ残っているのを確認できます。

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
* ディスク 0    オンライン           300 GB   199 GB

ディスクリストを出力してみると、300GBの中で、100GBが使用中で、約200GBが使用可能な状態になっています。

それでは、この200GBを利用して、Dドライブを作ってみます。

DISKPART> select disk 0

ディスク 0 が選択されました。

ディスクを選択します。

DISKPART> create partition primary size=204798

DiskPart は指定したパーティションの作成に成功しました。

残りの200GBで、新しいパーティションを作ります。

DISKPART> assign letter=D

DiskPart はドライブ文字またはマウント ポイントを正常に割り当てました。

パーティションに「D」という名前を設定します。

DISKPART> format fs=ntfs quick

  100% 完了しました

DiskPart は、ボリュームのフォーマットを完了しました。

最後にntfsでフォーマットすれば終わりです。

DISKPART> list volume

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0     C                NTFS   Partition    100 GB  正常         システム
* Volume 1     D                NTFS   Partition    199 GB  正常

list volumeで確認してみると、Cドライブ(100GiB)、Dドライブ(200GiB)に分かれていることを確認できます。

Windowsに接続して、確認してみると、問題なくCドライブ(100GiB)、Dドライブ(200GiB)に分かれていることが確認できます。