treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

diskpartコマンドで回復パーティションを削除する

Windows10の標準機能だけで、ディスクの管理画面では削除できないパーティションを削除する、というやり方をご報告です。
コマンドdiskpart.exeを使います。

SSD換装後のHDD再利用

HDD搭載のPCをSSDに換装した後、余ったHDDをケースに入れてUSB外付けHDDとして活用しようと、パーティション初期化からフォーマットを実行するときに「回復パーティション」がGUI(diskmgmt.msc)では削除出来ないことに気づきました。

回復パーティションは右クリックしても、メニューに「ヘルプ」だけで「削除」が表示されず、パーティション削除ができない状況です。

これを削除してHDD全体を単一のパーティションとして使えるようにしようと考えました。またこの手順をWindowsの標準機能だけで実行する方法でやってみるという条件で試してみることにしました。

diskpartコマンド

HDDをパーティション単位で取り扱うためのコマンドです。
元々パーティション操作には「fdisk」というコマンドがWindowsでもLinuxでも使われていましたが、昔からあるコマンドであるfdiskでは出来ないことも増えてきました。
そこで、Windowsでは新たにdiskpartコマンドが用意され、fdiskでできなかったようなパーティション操作ができるようになっています。

今回はGUI(diskmgmt.msc)で削除できないパーティションを削除する、という操作をdiskpartコマンドを使用して実施してみます。

実施内容

削除出来ない回復パーティションを削除する手順をこれから実行していきます。
※月並みですが選択を間違えると消したくないデータを消してしまいますので、操作は注意が必要です。

まずは「管理者」で起動したコマンドプロンプトで、「diskpart」と入力してdiskpartコマンドを起動していきます。
diskpartコマンドを起動した後は、プロンプトが「DISKPART> 」と変化しdiskpart内だけで使えるサブコマンドだけが利用できる状態になります。ここでまずは情報収集「list disk」と入力すると、

現在の環境で利用可能なディスクの一覧がリスト表示されます。このPCにはディスクが3台接続されています。今回対象となるディスクは500GB(表示上は465GBと表示されている)のHDDなので、「ディスク 1」がその対象です。そのディスクを選択するため、

select disk 1

と入力してディスクを選択します。選択した後に「list disk」コマンドで再びディスクの情報を表示すると、選択したディスク 1の先頭に「*」が付加され、操作対象のディスクとして選択されたことが確認できます。

ディスクが選択されると、そのディスクの中を対象としたサブコマンドが実行できるようになります。
コマンド「list partition」を実行すると、選択したディスク内のパーティションが一覧で表示されます。今回は二つのパーティションのうち「回復パーティション」が対象となります。

ここで「select partition 2」と入力して対象となる回復パーティションを選択します。
コマンドを実行すると、ディスク選択のときと同じように、選択対象のpartition 2に「*」が付加され、操作対象となるパーティションが選択されたことが確認できます。

操作対象のパーティションが選択された状態で、削除コマンドを実行していきます。

コマンド「delete partition override」を入力することで、選択したディスク上にある選択したパーティションを削除します。

削除が完了すると「DiskPartは選択されたパーティションを正常に削除しました。」と画面に表示され、パーティションが削除されたことが分かります。

実際にディスクの管理GUI(diskmgmt.msc)で確認してみると、

先ほどまで存在した回復パーティションが削除され、その後ろの未割り当て領域と同化していることが確認できました。あとは先頭の300MBの領域を削除(これはディスクの管理GUIから実行可能)することで、ディスク全体をまっさらにして単一のパーティションとして使う準備ができました。

この後の操作

この後はGUI上でやってしまったのですが、パーティションの作成やフォーマットなどもdiskpartコマンド内で全て実行が可能です。

詳しくは、「diskpart /?」でサブコマンドやその構文を確認することができるので、それを確認しながらやりたいことを実行していくことになります。

以前のfdiskではパーティション作成・削除しかできなかったのですが、diskpartコマンドはかなり高機能、ディスクの操作をする時にはなかなか使えるコマンドです。