より大きなパーティションへのdd

自己紹介とか、なんでもいいです。
にぎやかに世間話のできる場所

モデレータ: 暇人, YoN, nyu

返信する
hatahata
記事: 212
登録日時: 14/06/11(水) 11:49

より大きなパーティションへのdd

投稿記事 by hatahata »

ハタハタです。

10Gのパーティションの内容を 
ーーー別のーーーPCの
50GのパーティションにDVDを使って移そうとしてます。

dd bs=32786k if=/dev/sdb1 | gzip -c -9 > ubuntu.gz
したあと
これを焼きます。
ubuntu.gzは4G位です。

次に別のPCに持っていき
gzip -dc < /some/ubuntu.gz | dd bs=32786k of=/dev/sdb4
としたら、 その別のPCのsdb4はどうなるのでしょうか?


1)50Gは 確保され10Gがつかわて40Gが使用できる状態(理想)
2)50Gが 10と40とに分割される。(gpartedで修復できrだろう)
3)不意の侵入で sdb自身がパニックに陥り ブート不能。(悲惨)
ほかのストーリーもあるのでしょうか

経験のある方 お教えください。
アバター
タロ兵衛
記事: 875
登録日時: 08/07/08(火) 00:11
お住まい: よこはま
連絡する:

Re: より大きなパーティションへのdd

投稿記事 by タロ兵衛 »

タロ兵衛です
50GB側のsda4が現状どうなっているのか不明なので、回答は付きにくいかと思います。
未設定でしたら、展開もできないのでは。

一応、条件は付きますが、私の経験では可能です(それでも、ある程度のリスクは伴うと思います)

まず、50GB側のHDDのパーティションを予め、40GB+10GBで切っておきます。
今回の場合、sda4なので、実際には、20G+15G+5G+10Gの様な感じでしょうか。
ここで肝心なことは、sda4の容量が、持ってくる10Gのバーティションとピッタリ同じか少しでも大きい必要があります。
それと、出来るなら、パーティションテーブルは同一のツールで切る方が安全でしょう。(というか、私はコレでしかやったことが無い)

これで、50G側のsda1のGRUBのmenu.lstにsda4に持ってきたOSを指定すれば起動できます。
添付ファイルを見るにはパーミッションが必要です
neo実験君こと次期メインマシン
Intel Core i5-8400 2.80GHz
xenialpup64 7.5+lang_pack_ja-xenial64e
hatahata
記事: 212
登録日時: 14/06/11(水) 11:49

Re: より大きなパーティションへのdd

投稿記事 by hatahata »

具体的には 添付ファイルのようになってます。
10Gのsda4は openbsdで
50Gは実は63Gで未フォーマット領域でここに10GのopenbsdをDVDを原料としてdd展開することを目論んでました。

流石に10Gを圧縮しても4G超えでDVD-にはやっと入るかはいらないかでしたので
危険とおもいやめました(growisofs で over なんとかがないと焼けない状態)。

ラッキーなことに 10Gの入ってたノートPCは 簡単にHDDが外に取り出せました。
それでキットで USB HDD化して 自宅に持ち帰ることができました。
その後 openbsdのCDでブートしてcloning しました。
(ただしUUIDだったので /etc/fstabの書き換えと /etc/hostname.run0追加が必要だった)

もし順調にDVDに焼けたとしても linuxのgpartedでは openbsd領域拡張はできません。
拡張は freebsd起源のgrowfsでするようですが、不勉強でマスターに時間がかかりそうです。
(linux的にみると sdb4という 単一領域なはずなのに この中に swap領域と /領域と があります。
 Lさんならは sd4bは swap か /か はっきりせえ と怒るでしょう )
添付ファイルを見るにはパーミッションが必要です
hatahata
記事: 212
登録日時: 14/06/11(水) 11:49

Re: より大きなパーティションへのdd

投稿記事 by hatahata »

2GのUSBで
dd if=/dev/sdb1 of=/initrd/mnt/dev_save/2G-B1.img bs=1024k
し、それを 50GのUSBのsdc3にたいして

dd if=/initrd/mnt/dev_save/2G-B1.img of=/dev/sdc3 bs=1024k
すると

上の図のようになりました。
こうなるとgpartedの能力の向こうにあります。

ということで 私は10G partition を 50G partitionにクローンは危険だと思いました。
tarでクローンしました。
おっしゃられるように同等かちょっと大きめはいいと思います。

もし sdb<sdc なら
dd if=/dev/sdb of=/dev/sdc bs=1024k
は きっちり MBRも含んで クローンできます。
このあとで linux」なら gpartedでsdc1を 拡張できるのではないかと思います(未実行)。
ただ openbsdなので gparted拡張ができないので このアイデアは没でした。
添付ファイルを見るにはパーミッションが必要です
返信する