Windowsでは通常、昔から変わらない「ディスクの管理」画面を開いてディスクのオンライン・オフラインや、ドライブレターの変更作業をすることが多い。
あまりシチュエーションとしては多くないかもしれないが、定期的にディスクをオンライン・オフラインにしたりドライブレターの変更をする作業があるかもしれない。そのような場合は、PowerShellを使えば同様の作業がCLIベースで実施でき、あらかじめスクリプトなどを作っておけば自動化も可能となる。
本記事では、PowerShellを使ってWindowsのディスクのオンライン・オフラインとドライブレター変更の手順を記載する。
環境
Windows Server 2019を用いて動作確認を行った。
ディスクはCドライブ以外に2つ用意する。ディスク1をオンライン、ディスク2をオフラインにしておき、PowerShellを用いて以下の通りディスクの入れ替えを行う。
作業前
ディスクNo | ドライブレター | 容量 [GB] | 状態 |
---|---|---|---|
0 | C | 40 | オンライン |
1 | U | 30 | オンライン |
2 | なし | 32 | オフライン |
作業前
ディスクNo | ドライブレター | 容量 [GB] | 状態 |
---|---|---|---|
0 | C | 40 | オンライン |
1 | なし | 30 | オフライン |
2 | U | 32 | オンライン |
ディスクのマウント手順
1. ディスクの状態を確認
作業対象のディスクを確認する。ディスク情報を確認するコマンドレットは、以下3つが存在する。
コマンドレット | 説明 |
---|---|
Get-Disk | 物理ディスクの一覧を表示する。オフラインのディスクも表示される。 |
Get-Volume | 初期化及びフォーマット済みのディスクの一覧を表示する。オフラインのディスク上のボリュームは表示されない。 |
Get-Partition | 各ディスクのパーティション一覧を表示する。オフラインのディスク上のパーティションは表示されない。 |
実行結果を以下に示す。
Get-Disk
PS C:\> Get-Disk
Number Friendly Name Serial Number HealthStatus OperationalStatus Total Size Partition
Style
------ ------------- ------------- ------------ ----------------- ---------- ----------
0 VMware Vir... 6000c298f4905127fbf4b8af93289b7c Healthy Online 40 GB GPT
1 VMware Vir... 6000c29155e1a0ea6d59319bfb0965df Healthy Online 30 GB GPT
2 VMware Vir... 6000c298d8b95c7aa7fa9c84622b5faa Healthy Offline 32 GB GPT
Get-Volume
PS C:\> Get-Volume
DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining Size
----------- ------------ -------------- --------- ------------ ----------------- ------------- ----
回復 NTFS Fixed Healthy OK 57.05 MB 499 MB
D VMware Tools Unknown CD-ROM Healthy OK 0 B 140.61 MB
C NTFS Fixed Healthy OK 29.84 GB 39.4 GB
U ボリューム NTFS Fixed Healthy OK 20.32 GB 29.98 GB
FAT32 Fixed Healthy OK 69.12 MB 95 MB
Get-Partition
PS C:\> Get-Partition
DiskPath: \\?\scsi#disk&ven_vmware&prod_virtual_disk#000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 1048576 499 MB Recovery
2 524288000 99 MB System
3 628097024 16 MB Reserved
4 C 644874240 39.4 GB Basic
DiskPath: \\?\scsi#disk&ven_vmware&prod_virtual_disk#000100#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 17408 15.98 MB Reserved
2 U 16777216 29.98 GB Basic
DiskPath: \\?\scsi#disk&ven_vmware&prod_virtual_disk#000200#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 17408 15.98 MB Reserved
2 16777216 31.98 GB Basic
2. ディスク設定変更
確認結果より、今回はディスクNo1とディスクNo2をPowerShellにて入れ替える。
ディスクのオンライン・オフラインはSet-Disk
コマンドレットで共通して操作可能だが、ドライブレターの削除(Remove-PartitionAccessPath
)と追加(Set-Partition
)はコマンドレットが異なる点に注意しよう。
# 取り外し対象ディスクNo
$old_disk_number=1
$old_driveletter=(Get-Disk -Number ${new_disk_number} | Get-Partition -Number 2).DriveLetter
# 取付対象ディスクNo
$new_disk_number=2
$new_driveletter="U"
# ドライブレターの削除
Get-Disk -Number ${old_disk_number} | Get-Partition -Number 2 | Remove-PartitionAccessPath -AccessPath "${old_driveletter}:"
# ディスクのオフライン
Get-Disk -Number ${old_disk_number} | Set-Disk -IsOffline $true
# ディスクのオンライン
Get-Disk -Number ${new_disk_number} | Set-Disk -IsOffline $false
# ドライブレターの付与
Get-Disk -Number ${new_disk_number} | Get-Partition -Number 2 | Set-Partition -NewDriveLetter ${new_driveletter}
ディスクの状態を戻す場合は、ディスクNoの変数を入れ替えればよい (★箇所)。
# 取り外し対象ディスクNo
$old_disk_number=2 #←★2に変更
$old_driveletter=(Get-Disk -Number ${new_disk_number} | Get-Partition -Number 2).DriveLetter
# 取付対象ディスクNo
$new_disk_number=1 #←★1に変更
$new_driveletter="U"
# ドライブレターの削除
Get-Disk -Number ${old_disk_number} | Get-Partition -Number 2 | Remove-PartitionAccessPath -AccessPath "${old_driveletter}:"
# ディスクのオフライン
Get-Disk -Number ${old_disk_number} | Set-Disk -IsOffline $true
# ディスクのオンライン
Get-Disk -Number ${new_disk_number} | Set-Disk -IsOffline $false
# ドライブレターの付与
Get-Disk -Number ${new_disk_number} | Get-Partition -Number 2 | Set-Partition -NewDriveLetter ${new_driveletter}
以上で、PowerShellを使ってィスクのオンライン・オフラインとドライブレター変更の手順は完了となる。
0 件のコメント:
コメントを投稿