私のラップトップにはWindows 7とDebianのデュアルブートがあります。 Debian側のスペースが限られているので、Windowsパーティションを削除し、コンピュータ全体をDebianに使用したいと思います。私は現在Debianの単一パーティション(スワップを含む)を使用していますが、/ homeを新しい配列に独自のパーティションに分割したいと思います。
WindowsパーティションはすべてのDebianパーティションよりも大きいため、現在のWindowsパーティションにはLinux全体のインストールに十分なスペースがあります。だから私がすることは次のとおりです。
- 60GB Windows 7パーティション/ sda2を、2つのext4パーティション(/用15GB、/home用45GB)を持つ拡張パーティションに再フォーマットします。
- 現在の/および/homeディレクトリを新しいパーティションに移動/複製します。
- 50GBの空き容量を確保するには、Debianがインストールされているパーティションを再フォーマットしてください。
- 新しい拡張パーティションとその中の/homeパーティションのサイズを変更して、手順3で取得した50GBを統合します。
- 最後に、スワップのために2GBを別々に確保しておきました。
私はfdisk -l
以下に私を投稿しました。
私の質問:
- これは賢明なアプローチですか?
- 2段階でどのように進めますか?再インストールせずに/ディレクトリを移動できますか?
- 最初ではないパーティションの端を移動してサイズを変更するので、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を使用することをお勧めします。切り替えるには:
- 既存の/dev/sda2(Windowsパーティション)に物理ボリューム(pvcreate)を作成します。
- /dev/sda2(vgcreate) のみを含むボリュームグループを作成します。
/
合計を保持する論理ボリュームを作成します/home
(分割する必要があるのはなぜですか?分割する必要はありません)(lvcreate)- mkfs 2 つの新しい論理ボリューム (デバイス: /dev/mapper/vgname-lvname)
- まだリカバリディスクを使用していない場合は、起動ディスクから起動します(Debianインストールディスクを使用するか、ターミナルに切り替えるか、Ubuntuディスクを使用できます)。
- 新しい論理ボリュームをマウントします(または分割しないことを決定した場合は1つのみ)。両方をインストールする場合は、ホームを新しいルートディレクトリ(/new-root/や/new-root/homeなど)にインストールし、古いrootfsをどこかにインストールする必要があります。
- tar を使用してファイルをコピーします。それはまるで
( cd /old-root && tar --one-file-system -c . ) | ( cd /new-root && tar vx )
- 新しいルートファイルシステムにchrootし、次の操作を行います。
- /etc/fstab を変更して正しいルートファイルシステムを提供する
- /proc、/sys、および /boot マウント (chroot 内部)
update-initramfs -u
- グラップアップデート
- 妄想がある場合は、生成された/boot/grub/grub.cfgを見て、新しいrootfsが選択されていることを確認してください。
- chroot 終了
- 最後にマウントしたファイルシステム(で始まる
/new-root/{proc,sys,boot}
)をアンマウントして再起動します。 - 新しいルートファイルシステムから起動したことを確認します。たとえば、
/proc/mounts
データが存在することを確認してください。 (バックアップもお持ちですか?) とても重要です。 - これが戻れない点だ。次のステップでは、古いパーティションを破壊します。
- これで古いパーティションを作成し、それをボリュームグループ(vgextend)に追加できます。
- これで、lvextendとresize2fs(またはファイルシステムに適したツール)を使用して論理ボリュームのサイズを変更できます
/
。/home
これは、システムの実行中にオンラインで実行できます。
LVM に存在する場合、将来のディスク変更が発生します。たくさん簡単になりました。 LVMコマンドを使用すると、システムの実行中でもほぼすべてのディスク変更を実行できます。
(注:これを実行してからかなり時間がかかり、1つまたは2つのステップを逃した可能性がありますが、致命的な間違いは1つも見逃していないと確信しています。もちろん、元のインストールとデータは24時間になるまでそのままになります。新しいrootfsで起動しましたを確認した後)