web-dev-qa-db-ja.com

ルートパーティションと/ homeを新しい大きなハードドライブにコピーする

私はより大きなハードドライブを手に入れているので、そこにルートディレクトリをコピーしたいと思います。ルートのパーティションは20Gです。新しいドライブでそれを大きくしたいと思います。また、/ homeを新しいドライブのより大きなパーティションにコピーしたいと思います。

  1. ddを使用してパーティションをコピーできますか、またはパーティションをコピーするより良い方法はありますか?

  2. パーティションをコピーする前に新しいドライブをフォーマットする必要がありますか?

  3. 新しいドライブを使用することを示すには、Sudo update-grubの横に他に何が必要ですか?

  4. 私はそれが主観的であることを知っていますが、多くのプログラムを追加すると、ルートパーティションに20Gが少し低いことがわかりました。 40Gは十分な大きさですか、それとも大きなパーティションの方が良いでしょうか?

6
Timothy

まず、新しいドライブをパーティション分割しましょう。システムの2番目のドライブになるので、望みどおりにセットアップするだけです。パーティションのサイズ要件が不明な場合は、LVMを使用してください。 (ここでは説明しません。)これにより、何をすべきかを理解するための十分な指針が得られます。

  1. 古いものと同一のコピーを作成する場合を除き、ddを使用しないでください(ディスクをより高速で同じサイズに交換するとしましょう)。最初に新しいドライブのパーティションを作成してから、パーティションをフォーマットします(たとえば、ext4)。その後、実際のコピーを次のように実行できます:tar -c --one-file-system -f - . | (cd /newPartitionMountPoint/; tar -xvf -)
  2. 新しいドライブ:いいえ、パーティションにddを使用:いいえ、partedの後::はい(パーティションを自動的にフォーマットしない限り)
  3. 以前に存在していたパーティションを変更する場合は、/etc/fstabを使用してblkidを編集し、新しいUUIDとLABELSを表示し、それに応じてfstabを変更する必要があります。 /bootの別のパーティションに/dev/sdaがあった場合、それがほとんどです。
  4. ルートのパーティションサイズは主観的です。実際には20Gを超えるサイズは必要ありませんでした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
2
Manwe