この方法で2度くらい拡張したが、先日、起動したら Cドライブを修復中 みたいなメッセージをwindowsが出してきてしばらく待たされた。
結果修復は完了したみたいで、問題なく使えているが、このやり方に問題がないかどうかは保証できない。
どう壊れているのか何も教えてくれなかったので状況がよくわからない。
自分は大したデータも入っていないし面倒なので気にしないが、一応。
状況↩︎
virt-managerでkvm windowsゲストを運用しているが、windowsの更新でもりもりとディスクが排泄物で埋め尽くされてしまい、残り1GBになってしまったので拡張の必要が生じた。
方法↩︎
gpartedというパーティション管理ツールとqemu-imgというコマンドラインツールを使って、disk imageを拡張して、拡張した領域でパーティションを拡張する。
パーティションの操作に関してはコマンドラインでやる方法もあるらしいが、不慣れでミスったら嫌なのと、学習コストを考えてgpartedを使うことにした。
手順↩︎
1↩︎
gpartedのISOをダウンロード開始しておく。
https://gparted.org/download.php

2↩︎
拡張対象のディスクを使っているVMをシャットダウンする。
3↩︎
拡張対象のディスクのパスを確認する。

以後の操作を誤るとデータを損失してしまうので、操作前にディスクファイルをどこかへコピーしてバックアップしておくことをおすすめする。
4↩︎
sudo qemu-img info target.qcow2 で情報確認。
sudo qemu-img resize target.qcow2 xGでxGBに拡張(短くしないように注意、できるか知らんが)。
+xGにすると、xGB拡張される。
実行後、再度qemu-img infoで確認。
良さげであれば次のステップへ進む。
5↩︎
VMをgpartedのisoからブートするようにする。
gpartedのisoをディスクドライブに突っ込む。

Boot Optionでディスクドライブから起動するように変更。

後でもとに戻すので、変更前の状態を覚えておくこと。
6↩︎
起動してgpartedでパーティションを拡張する。
最初ほうの画面の選択肢は全部何もいじらずにEnterでOK。
Enter押しまくっていればgpartedのGUIが起動されるはず。
未割り当ての領域は先程のリサイズで増えたものである。
拡張したいパーティションと未割り当て領域が隣り合うように、間にパーティションがある場合、それを移動する。
その後、拡張する。
変更が良さげであれば、確定ボタン(緑のチェックマーク)を押して変更実行。
操作が成功したことを確認。
終了(シャットダウン)する。
参考 https://www.youtube.com/watch?v=3q-cPhXT5SI sda2と未割り当て領域が隣り合うように、sda3を一番右へ移動して、sda2を拡張している。
7↩︎
virt-managerの設定から、ブートオプションをもとに戻す。
おわり。
起動すれば拡張されているはず。

設定のSATA CDROMをもとに戻して、gpartedのISOも消してしまってok。
おわり↩︎
Windows updateを完全停止する方法を教えてくれ。
windows module installerというマルウェアが稼働し始めると、CPUを98%ぐらい喰い潰すのでプロセスをsuspendして凌いでいる。