HOME / コンピュータTips / Solaris / システムドライブをコピー

Date: 2019/11/20 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris opensolaris dd copy fdisk format

ドライブコピー

異なったサイズのドライブをコピーする場合、ddではコピーできない。

次のように行うと良い。

フォーマット

Partition 状態

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の次に置く。
1swap。通常シリンダ1から置く。
2全体を指す。あえて設定しなくてもそうなってるはず
3自由に使ってよい
4自由に使ってよい
5自由に使ってよい
6自由に使ってよい
7自由に使ってよい。インストーラは/export/homeをここに置く
8boot。シリンダ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)

一部システムファイルの作成

deviceとdevのコピー

mount -F lofs -o nosub / /mnt
(cd /mnt; tar cvf - devices dev ) | (cd /newroot; tar xvf -)
umount /mnt

boot_archiveの作成

/usr/sbin/bootadm update-archive -R /newroot

grubのインストール

installgrub /newroot/boot/grub/stage1 /newroot/boot/grub/stage2 /dev/rdsk/ディスク名

コンピュータTips/Solaris

Recent Updates