私はより大きなハードドライブを手に入れているので、そこにルートディレクトリをコピーしたいと思います。ルートのパーティションは20Gです。新しいドライブでそれを大きくしたいと思います。また、/ homeを新しいドライブのより大きなパーティションにコピーしたいと思います。
dd
を使用してパーティションをコピーできますか、またはパーティションをコピーするより良い方法はありますか?
パーティションをコピーする前に新しいドライブをフォーマットする必要がありますか?
新しいドライブを使用することを示すには、Sudo update-grub
の横に他に何が必要ですか?
私はそれが主観的であることを知っていますが、多くのプログラムを追加すると、ルートパーティションに20Gが少し低いことがわかりました。 40Gは十分な大きさですか、それとも大きなパーティションの方が良いでしょうか?
まず、新しいドライブをパーティション分割しましょう。システムの2番目のドライブになるので、望みどおりにセットアップするだけです。パーティションのサイズ要件が不明な場合は、LVMを使用してください。 (ここでは説明しません。)これにより、何をすべきかを理解するための十分な指針が得られます。
dd
を使用しないでください(ディスクをより高速で同じサイズに交換するとしましょう)。最初に新しいドライブのパーティションを作成してから、パーティションをフォーマットします(たとえば、ext4)。その後、実際のコピーを次のように実行できます:tar -c --one-file-system -f - . | (cd /newPartitionMountPoint/; tar -xvf -)
dd
を使用:いいえ、parted
の後::はい(パーティションを自動的にフォーマットしない限り)/etc/fstab
を使用してblkid
を編集し、新しいUUIDとLABELSを表示し、それに応じてfstabを変更する必要があります。 /boot
の別のパーティションに/dev/sda
があった場合、それがほとんどです。root
ですが、/var/lib
(データベースが必要な場合)、/data
に個別のパーティション、そしてもちろん/home
Linuxでは、Windowsよりもハードドライブでシステムを移動する方が簡単ですが、最も難しい移動は「/」と「/ boot」の移動です。 du -hsc /*
でスペースを使用している場所を確認する方がはるかに簡単だと思います。次に、最大のフォルダー(/usr
など)のパーティションを作成します/ dev/sdb1 20G LABEL = myusr/dev/sdb2 100G LABEL = myhome
次にusrtmpフォルダーを作成し、そこに古いusrを同期します:これは高度なものであることに注意してください。 基本的に、あなたがこれを行う方法を知っていれば、頭に行きます。あなたが知らなかった場合..その後、私はこれをしません...
mkdir /usrtmp
mount LABEL=myusr /usrtmp
cd /usr
tar -c --one-file-system -f - . | (cd /usrtmp/; tar -xvf -)
# this might be dangerous so I would do it with livecd myself..
# If you're feeling risky do this:
cd /
mv /usr /usr_old && mv /usrtmp /usr
## Now you can edit /etc/fstab to mount LABEL=myusr to /usr
## if you forget this but you did the mv then you won't be able to use your system
## Reboot, if everything is okay, you can remove /usr_old
## Repeat the same for home, but change labels accordingly