家で2つほどサーバ的なものを建てている。1つはUbuntu22だが、1つはWindows 7である。Windows 7なんかやめたいのだが、録画サーバとして設置してあり、諸事情で10にもできずそのままになっている。もうほとんど録画もしていないが、稀に録画することがあり、手仕舞いできない。
そんなWin7の録画サーバの調子が悪い。HDDが古くディスクエラーが頻発しているので、SSDに乗り換えることにした。
Win7の現在のHDDの構成は300GBでCドライブに80GBを充てていて、これをWindowsの「バックアップと復元」で新しい128GBのSSDに載せ替えるつもりだったが、「ディスク容量不足」でどうしてもできない。Cドライブだけではなく、HDD全容量以上のディスクが必要らしい。あれやこれややってみたがうまく行かない。
仕方ないので、Ubuntu 22をUSBから起動(インストールディスクから「try ubuntu」)して対応した。手順としては、SSD側でfdiskでパーティション作成、HDDからSSDにパーティション単位でddコピー、SSDでWindows7起動確認後、ついでにgpartedで容量を80GBから128GBまで拡張した。
以下、備忘録として手順を示す。HDDは/dev/sda、SDDは/dev/sdbとする。
下準備
# ルートで作業
sudo su -
# なんとインストールできる!次回起動しても有効!
apt install ntfs-3g
手順1:/dev/sdaの現在のパーティション容量確認コマンド
#このコマンドの結果出てくる、/dev/sda1と/dev/sda2をコピーすることになる。
#そのため、コピー先に同じパーティション容量の/dev/sdb1と/dev/sdb2を作成する必要があるため、ここで/dev/sda1と/dev/sda2の容量を控えておく。
fdisk -l /dev/sda
# あまり覚えていないが以下のような感じで出てくる。
# 2048から9602のパーティションと96043から999999のパーティションを/dev/sdbに作成する。
/dev/sda1 * 2048 96042 123456 7 NTFS
/dev/sda2 96043 999999 123456 7 NTFS
手順2:/dev/sdbにパーティション作成。(NTFSではなく、sdb1はFAT32 (LBA))で作成する。)最後のwコマンドをするまで、実際には書き込まれないので安心して作業する。
fdisk /dev/sdb
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p # 基本pらしい
領域番号 (1-4): 1 #sda1のコピー先なので1
最初 シリンダ (1-652, default 1): 2048 # 上で控えた開始
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-652, default 652): 96042 # 上で控えた終了
# 2つ目を作成
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 2 #sda2のコピー先なので2
# 上で控えた開始と終了の位置
最初 シリンダ (1-652, default 1): 96043
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-652, default 652): 9999999
コマンド (m でヘルプ): t
選択した領域 1
16進数コード (L コマンドでコードリスト表示): c # FAT32 (LBA)
コマンド (m でヘルプ): t
選択した領域 2
16進数コード (L コマンドでコードリスト表示): 7 # NTFS
# 起動パーティション指定
コマンド (m でヘルプ): a
Partition number (1-4): 1
# 現在の状況確認
コマンド (m でヘルプ): p
# なんか色々出る。
# 書き込み
コマンド (m でヘルプ): w
手順3:パーティションコピー bsオプションは値を上げればコピーが早くなるわけではないらしい。32Mとか64Mあたりでやる。
# sda1はすぐ終わる
dd bs=32M if=/dev/sda1 of=/dev/sdb1
# こっちは長い・・・
dd bs=32M if=/dev/sda2 of=/dev/sdb2
これでSSDから起動してみて起動できればOKである。NGだった場合は、fdisk -l /dev/sdbをよく見てみる。MBRの調整などは基本不要である。コピーが失敗していないか、ファイルシステムが違わないか、起動(boot)パーティションが指定されているかを確認する。
このあとはやらなくても良い(起動しなくなるリスク有り)のだが、gpartedを起動してパーティションサイズを拡張した。gpartedは必ずsudoコマンドで起動すること。
GUIなので説明は割愛。対象のディスクを選んで、リサイズを選択してからドラッグしてリサイズする。
ローカルネットの中だけのサーバだが、そのうちセキュリティの問題でsambaが他のデバイスから繋がらなくなりそう。そうなったら破棄するか何かで対応しよう。。。