現在、Linuxがインストールされているハードドライブを16GBのフラッシュドライブに複製しようとしています。ハードドライブは233GBですが、df -h
は、3.5Gのみが使用されていることを示しています。 Clonezillaを使用して、割り当てられた容量だけを使用してイメージを作成し、それをフラッシュドライブにコピーして、他のLinuxラップトップにイメージを展開できますか?
編集: Parted MagicでClonzillaを使用しようとしましたが、device-imageを実行しようとすると、次のエラーがスローされます。
split /home/partimag/lubuntu.img/lubuntu-vg-root.ext4.ptcl-img.gz.aa: Input/output error
Checking the disk space...
Failed to save partition /dev/lubuntu-vg/root.
Press Enter to continue
ディスクレイアウトについてあまり指定していないので、いくつかの仮定をします。アプリケーションに合わせて変更するか、追加の詳細を提供してください。これを編集できます。
仮定:
これはCentOS/Red Hatのデフォルトのインストールであり、非常に一般的です。
GPartedをブートメディアとして使用できますが、実際のGPartedツールなしでこれを試してみましょう。
スタックの一番下から始めます。 LVM論理ボリュームとそのファイルシステムを縮小します。
lvreduce -rL 8G /dev/mapper/centos-root
ここで8Gを指定したのは、使用可能な16Gよりも小さく、スワップボリュームがまだ小さい可能性があるためです。
Centos-rootをLV名に置き換えます。不明な場合は、lvs
/lvdisplay
/ls /dev/mapper
を実行してください。)
次に、LVMPVを縮小できるはずです。
pvresize --setphysicalvolumesize 14G /dev/vda2
/ dev/vda2をディスクに置き換えます。
14Gを選択したのは、16Gの制限をわずかに下回っており、この方法で正確な計算を行う必要がないためです。ルートボリュームの前にスワップが割り当てられていれば、うまくいくはずです。サイズを変更したルートボリュームの背後にスワップが割り当てられている場合、このコマンドは失敗する可能性があります。その場合、ルートとスワップの間にギャップがあり、PVを縮小できるように、スワップをその空き領域にスライドさせる必要があります。私はこれに遭遇しましたが、次のステップでそれを克服しました。
/dev/vda2: cannot resize to *n* extents as later ones are allocated.
まず、移動する必要のあるエクステントを見つけます。
pvs -v --segments /dev/vda2
上記のターゲット境界nの後に発生するエクステントの範囲を持つLVが表示されます。
pvmove --alloc anywhere /dev/vda2:n-n
このコマンドは、縮小ルートから作成した空き領域をボリュームが占めるようにレイアウトを再配置します。その後、もう一度pvresize
を試みることができ、これで機能するはずです。
最後に、LVMパーティションを縮小します。
fdisk /dev/vda2
まず、パーティションテーブルを印刷(p
)します。 (これは後で必要になります。)削除したいもの(d
)はLVMパーティションであり、できればディスクの最後にあります。次に、新しい小さいサイズで再作成します。 (n
)以前と同じセクターで始まることを絶対に確認してください。 (元のテーブルを印刷した場所までスクロールします。)これも15Gにします。これは、数学であり、実際には16Gではない16Gフラッシュドライブに収まることがわかっているためです。この操作を(w
)で終了して、変更を書き込みます。
すべてが16G未満であることを確認し、CloneZillaプロセスを再試行します。