2008年 2月 3日 掲載
自作 5号機のプライマリマスタのハードディスクを, 120GB から 160GB のものに換装した (HGST HDS722512VLAT80 → HGST HDS721616PLAT80).
この作業で以下の変更を行なった.
Windows98SE をふくむディスクの中身の引越しには GNU parted を使った. 以下のサイトを参考にした.
セカンダリスレーブに引越し先の 160GB のディスクをつなぎ, Knoppix 3.6日本語版(日経WinPC 2005年 1月号付録)を CD から起動する. 起動したら,コンソールを開いて su する.
まずは,もとのディスク /dev/hda の内容を確認.
# parted (parted) select /dev/hda (parted) print Minor Start End Type Filesystem Flags 1 0.031 1435.495 primary fat32 boot, lba 2 1435.496 117796.926 extended lba 5 1435.496 20520.527 logical fat32 lba 6 20520.558 117796.926 logical fat32 lba
次に /dev/hdd に /dev/hda1 と同じサイズのパーティションを切り, cp コマンドで内容をコピーする.
(parted) select /dev/hdd (parted) mklabel msdos (parted) mkpart primay fat32 0.031 1435.495 (parted) cp /dev/hda 1 1
コピーは 1分少々で終わった. /dev/hdd1 のサイズを 1.5GB から 3GB に resize し, Flags も /dev/hda1 と同じになるように set しておく.
(parted) resize 1 0 3000 (parted) set 1 boot (parted) set 1 lba (parted) print Minor Start End Type Filesystem Flags 1 0.031 2996.499 primary fat32 boot, lba
一度,parted を終了し,/dev/hdd1 を mount して, 内容がコピーされているかを確認した.
つづけて,拡張領域,論理領域 /dev/hda[256] もコピーする.
まずは,拡張領域 /dev/hdd2 を作成する.
(parted) mkpart extended 3000 130000 (parted) print Minor Start End Type Filesystem Flags 1 0.031 2996.499 primary fat32 boot, lba 2 2996.499 130002.561 extended lba
範囲は 130000MB までとした. Windows98SE で使えるハードディスクの容量の壁 137,438,953,472B は 1MB=1000*1000B で計算すると 137438MB だが, 1MB=1024*1024B で計算すると 131072MB になる. 今回は安全のためと,切りのいい数字ということで 130000MB までにした.
次に,論理領域 /dev/hdd[56] を作り,/dev/hda[56] の内容をコピーする.
(parted) mkpart logical fat32 3000 22086 (parted) cp /dev/hda 5 5 (parted) print Minor Start End Type Filesystem Flags 1 0.031 2996.499 primary fat32 boot, lba 2 2996.499 130002.561 extended lba 5 2996.530 22089.375 logical fat32 lba (parted) mkpart logical fat32 22089 130000 (parted) cp /dev/hda 6 6 (parted) print Minor Start End Type Filesystem Flags 1 0.031 2996.499 primary fat32 boot, lba 2 2996.499 130002.561 extended lba 5 2996.530 22089.375 logical fat32 lba 6 22089.406 130002.561 logical fat32 lba (parted) quit
今度は 100GB近くあるので時間がかかる.70分近くかかったか.
/dev/hdd[56] は /dev/hda[56] よりサイズが大きい. フォーマットとかしてないけど大丈夫なのだろうか. fsck でチェックしてみた.
# fsck.msdos /dev/hdd5 dosfsck 2.10, 22 Sep 2003, FAT32, LFN /dev/hdd5: 19 files, 180979/1221343 clusters # fsck.msdos /dev/hdd6 dosfsck 2.10, 22 Sep 2003, FAT32, LFN /dev/hdd6: 6664 files, 2439468/3452376 clusters
問題ないかな. パーティションをコピーする際, コピー元とコピー先のサイズが完全に一致することはあまりないだろうから, その辺の配慮はされているのだろう,たぶん.
コピー先のディスクをプライマリマスタにつなぎ換えて起動. Windows98SE が立ち上がることを確認した.
そのあと,空き領域に FreeBSD 6.2 をインストールして終了.
[ KDOホームにもどる ]
(C) 2008 KDO