システムストレージの換装

現在普段使いのPCは2016年に組んだもので、当時は十分と考えていた256GBでは厳しくなっていた。 そのため、より大きい容量のストレージに交換する事にした。 ※本当はPC丸ごと新調したい

まず買ってきたM.2 NVMeデバイス(KIOXIA-EXCERIA PLUS G2 SSD-CK1.0N3PG2)を接続して、「ディスク管理」から適当にフォーマットしてベンチ採ってみる。

ベンチ結果

速いかどうかは判らない。Gen 3.0だし。

Windows標準の機能でクローンができるらしい?

できれば標準機能だけで何とかしたいのは普通だと思う。

調べてみると、

  1. 「バックアップと復元」から「システムイメージの作成」を実行
  2. 「システム復元ディスクの作成」で作成したディスクで起動し、そこから新しいストレージへシステムを復元

という手順で出来るようだ。割と面倒。

まずシステムイメージを作成してみる。

システムイメージの作成

上記のリンクから「バックアップと復元」を開き、ウィンドウの左側にある「システムイメージの作成」をクリック。

システムイメージの作成2

保存先などを指定し、先へ進めるがエラー0x80780119で失敗する。

0x80780119

恐らく「名前のないドライブ(システム)」の空き容量の問題と思われる。なおこの時点のパーティション構成は以下の通り。こっちでは丸々空いてるように見えるんだが…

パーティション構成

OSメジャーアップデートやWindows Updateなどで作られたらしい回復パーティションが無駄にある。「ドライブの保護」を無効にして、Cドライブ以降の回復パーティションをdiskpartを使って削除してみたところ、新たなエラーが。そもそもドライブの検出ができなくなった。

0x80070032

諦めてLinuxでクローンする

「バックアップと復元」自体、既に非推奨になっている機能で真面目に原因を調べる気力も無いので諦めてLinuxを使う。一応Git-bashにはddが含まれていてそれを使う事も考えたが、システムドライブのクローンのため、別途USBメモリにUbuntuをインストールしそちらからddする事にする。

USBブートのUbuntuでも4kマルチモニタに対応しているのに少々驚いたが、ターミナルからddコマンドを撃つだけなので関係ない。

まずfdiskでデバイスの確認を行う。

$ sudo fdisk -l

デバイス名の確認

クローン元/dev/sdaとクローン先/dev/nvme0n1のデバイスファイル名を取得しddを実行する。クローンの方向は何度も何度も確認しなくてはならない。後戻りができないため細心の注意が必要だ…(バックアップ取れという話もある)。なおブロックサイズは適当だが、ここでは1Gを指定した。

$ sudo dd if=/dev/sda of=/dev/nvme0n1 bs=1G

クローン完了

ブロックサイズを大きめにとったせいか、割とすぐ終わった。

Windowsに戻りパーティションを広げる

Windowsに戻ると、「ディスクの管理」でもきちんと認識されていることが判る。※デバイスのシリアルもクローンされている為オンラインにはできていない。

クローン後の状態

元のストレージをM/Bから取り外すと、無事クローンしたデバイスから起動できた。

不要な回復パーティションをdiskpartで削除し、「ディスクの管理」からCドライブを「ボリュームの拡張」して完了。

ボリュームの拡張

(おまけ)diskpartの使い方

システムパーティションは「ディスクの管理」から操作することができないため、管理者モードのコマンドプロンプトやPowershellからdiskpartコマンドを利用する。

基本的な手順は以下の通り。

  1. select disk [番号]でディスクを選択
  2. select partition [番号]で対象パーティションを選択
  3. delete diskで削除

選択前後にはlist (disk|partition)で番号や選択状態を確認し、間違いが無いようにしたい。

またシステムパーティションを削除する場合はoverrideオプションを指定し、delete disk overrideとしなければならない。

Microsoft Windows [Version 10.0.19045.3031]
(c) Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>diskpart

Microsoft DiskPart バージョン 10.0.19041.964

Copyright (C) Microsoft Corporation.
コンピューター: ***************

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン          1863 GB   128 MB        *
  ディスク 1    オンライン           931 GB   709 GB        *

DISKPART> select disk 1

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

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン          1863 GB   128 MB        *
* ディスク 1    オンライン           931 GB   709 GB        *

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    回復                 450 MB  1024 KB
  Partition 2    システム                99 MB   451 MB
  Partition 3    予約                  16 MB   550 MB
  Partition 4    プライマリ              220 GB   566 MB
  Partition 5    回復                 529 MB   221 GB

DISKPART> select partition 5

パーティション 5 が選択されました。

DISKPART> list partition

  Partition ###  Type                Size     Offset
  -------------  ------------------  -------  -------
  Partition 1    回復                 450 MB  1024 KB
  Partition 2    システム                99 MB   451 MB
  Partition 3    予約                  16 MB   550 MB
  Partition 4    プライマリ              220 GB   566 MB
* Partition 5    回復                 529 MB   221 GB

DISKPART> delete partition override

DiskPart は選択されたパーティションを正常に削除しました。