/ を新しいパーティションに移動

/ を新しいパーティションに移動

私のラップトップにはWindows 7とDebianのデュアルブートがあります。 Debian側のスペースが限られているので、Windowsパーティションを削除し、コンピュータ全体をDebianに使用したいと思います。私は現在Debianの単一パーティション(スワップを含む)を使用していますが、/ homeを新しい配列に独自のパーティションに分割したいと思います。

WindowsパーティションはすべてのDebianパーティションよりも大きいため、現在のWindowsパーティションにはLinux全体のインストールに十分なスペースがあります。だから私がすることは次のとおりです。

  1. 60GB Windows 7パーティション/ sda2を、2つのext4パーティション(/用15GB、/home用45GB)を持つ拡張パーティションに再フォーマットします。
  2. 現在の/および/homeディレクトリを新しいパーティションに移動/複製します。
  3. 50GBの空き容量を確保するには、Debianがインストールされているパーティションを再フォーマットしてください。
  4. 新しい拡張パーティションとその中の/homeパーティションのサイズを変更して、手順3で取得した50GBを統合します。
  5. 最後に、スワップのために2GBを別々に確保しておきました。

私はfdisk -l以下に私を投稿しました。

私の質問:

  1. これは賢明なアプローチですか?
  2. 2段階でどのように進めますか?再インストールせずに/ディレクトリを移動できますか?
  3. 最初ではないパーティションの端を移動してサイズを変更するので、4は単純だと仮定します。これは正しいですか?
 
fdisk -l

ディスク /dev/sda: 120.0GB, 120034123776バイト
255ヘッド、63セクター/トラック、14,593シリンダー、合計234441648セクター
単位= 1 * 512 = 512バイトセクタ
セクタサイズ(論理/物理):512バイト/512バイト
I/Oサイズ(最小/最適): 512バイト/512バイト
ディスク識別子:0x45689f01

   デバイス起動開始エンドブロックIDシステム
/dev/sda1 * 2048 616447 307200 7 HPFS/NTFS/exFAT
/dev/sda2 616448 127768575 63576064 7 HPFS/NTFS/exFAT
/dev/sda3 127770622 234440703 53335041 5 拡張
/dev/sda5 127770624 230021119 51125248 83 Linux
/dev/sda6 230023168 234440703 2208768 82 Linux スワップ領域/Solaris

答え1

LVMを使用することをお勧めします。切り替えるには:

  1. 既存の/dev/sda2(Windowsパーティション)に物理ボリューム(pvcreate)を作成します。
  2. /dev/sda2(vgcreate) のみを含むボリュームグループを作成します。
  3. /合計を保持する論理ボリュームを作成します/home(分割する必要があるのはなぜですか?分割する必要はありません)(lvcreate)
  4. mkfs 2 つの新しい論理ボリューム (デバイス: /dev/mapper/vgname-lvname)
  5. まだリカバリディスクを使用していない場合は、起動ディスクから起動します(Debianインストールディスクを使用するか、ターミナルに切り替えるか、Ubuntuディスクを使用できます)。
  6. 新しい論理ボリュームをマウントします(または分割しないことを決定した場合は1つのみ)。両方をインストールする場合は、ホームを新しいルートディレクトリ(/new-root/や/new-root/homeなど)にインストールし、古いrootfsをどこかにインストールする必要があります。
  7. tar を使用してファイルをコピーします。それはまるで( cd /old-root && tar --one-file-system -c . ) | ( cd /new-root && tar vx )
  8. 新しいルートファイルシステムにchrootし、次の操作を行います。
    1. /etc/fstab を変更して正しいルートファイルシステムを提供する
    2. /proc、/sys、および /boot マウント (chroot 内部)
    3. update-initramfs -u
    4. グラップアップデート
    5. 妄想がある場合は、生成された/boot/grub/grub.cfgを見て、新しいrootfsが選択されていることを確認してください。
    6. chroot 終了
  9. 最後にマウントしたファイルシステム(で始まる/new-root/{proc,sys,boot})をアンマウントして再起動します。
  10. 新しいルートファイルシステムから起動したことを確認します。たとえば、/proc/mountsデータが存在することを確認してください。 (バックアップもお持ちですか?) とても重要です。
  11. これが戻れない点だ。次のステップでは、古いパーティションを破壊します。
  12. これで古いパーティションを作成し、それをボリュームグループ(vgextend)に追加できます。
  13. これで、lvextendとresize2fs(またはファイルシステムに適したツール)を使用して論理ボリュームのサイズを変更できます//homeこれは、システムの実行中にオンラインで実行できます。

LVM に存在する場合、将来のディスク変更が発生します。たくさん簡単になりました。 LVMコマンドを使用すると、システムの実行中でもほぼすべてのディスク変更を実行できます。

(注:これを実行してからかなり時間がかかり、1つまたは2つのステップを逃した可能性がありますが、致命的な間違いは1つも見逃していないと確信しています。もちろん、元のインストールとデータは24時間になるまでそのままになります。新しいrootfsで起動しましたを確認した後)

関連情報