HOME / コンピュータTips / Solaris / システムドライブをコピー
Date: 2024/12/13 | | Tags: Solaris opensolaris dd copy fdisk format
異なったサイズのドライブをコピーする場合、ddではコピーできない。
次のように行うと良い。
formatコマンドでパーティションを作成する必要があるが、ブートデバイスには少し切り方にこつがある。
例:
Part Tag Flag Cylinders Size Blocks 0 root wm 1 - 1792 3.50GB (1792/0/0) 7340032 1 unassigned wm 0 0 (0/0/0) 0 2 backup wu 0 - 1923 3.76GB (1924/0/0) 7880704 3 unassigned wm 1793 - 1923 262.00MB (131/0/0) 536576 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0 8 boot wu 0 - 0 2.00MB (1/0/0) 4096 9 unassigned wm 0 0 (0/0/0) 0
大切なのは、Part 8のbootと、もう一つ、最初に始まっているCylindersが1からであること。
ディスク全体をFDISKでSOLARIS2ボリュームにすれば、8は勝手にできてるが、先頭にbootボリュームが必要である。
ここでのPartはスライス番号であり、デバイスタイプでいうと
/dev/dsk/c0d0t0s?
の?の部分。
スライス番号と、ディスクのどのシリンダから始まるかは実は関係がないことに注意。現にs8がもっとも先頭にあるし、Solarisでは慣習的にs2は全体を指す。
bootが存在してるので、ユーザがつくるファイルシステムは、Cylinders 1から始まることに注意。このシステムは事情があって、swapをおいていないがswapが必要ならば、swapはPart 1(s1)に置き、rootはs0に置くのが慣習だ。
なにかのスクリプトがこっそり使うと困るので慣習に従っておこう。
Part(Slice)番号 | 用途 |
0 | システム(root)。通常、swapの次に置く。 |
1 | swap。通常シリンダ1から置く。 |
2 | 全体を指す。あえて設定しなくてもそうなってるはず |
3 | 自由に使ってよい |
4 | 自由に使ってよい |
5 | 自由に使ってよい |
6 | 自由に使ってよい |
7 | 自由に使ってよい。インストーラは/export/homeをここに置く |
8 | boot。シリンダ0を利用する |
9 | 必要ならalternates。1~2のスライスを利用する。 |
新しいドライブをマウントする
mount /dev/dsk/新しいディスク /newroot
cd / find . -xdev -depth -print | cpio -pvdm /newroot (cd /etc ; find . -type D -depth -print) | (cd /newroot/etc ; xargs touch)
mount -F lofs -o nosub / /mnt (cd /mnt; tar cvf - devices dev ) | (cd /newroot; tar xvf -) umount /mnt
/usr/sbin/bootadm update-archive -R /newroot
installgrub /newroot/boot/grub/stage1 /newroot/boot/grub/stage2 /dev/rdsk/ディスク名