将 / 移动到新分区

Tyl*_*ler 5 partition debian

我的笔记本电脑上有 Windows 7 和 Debian 双启动。我在 Debian 端的空间很紧张,所以我想删除 Windows 分区并将整个计算机用于 Debian。我目前正在为 Debian 使用一个分区(加上一个交换分区),但想在新的安排中将 /home 拆分为自己的分区。

由于 Windows 分区比所有 Debian 分区都大,因此当前 Windows 分区中有足够的空间用于整个 linux 安装。所以我在想我会做的是:

  1. 将 60GB windows 7 分区 /sda2 重新格式化为具有两个 ext4 分区的扩展分区,一个 15 GB 用于 /,另一个 45 GB 用于 /home
  2. 将我当前的 / 和 /home 目录移动/克隆到新分区
  3. 重新格式化 debian 安装所在的分区,释放 50GB 空间
  4. 调整新扩展分区及其中的 /home 分区的大小,以合并步骤 3 中释放的 50GB
  5. 最后留下 2 GB 用于交换

我已经在fdisk -l下面发布了我的。

我的问题:

  1. 这是一种明智的做法吗?
  2. 如何进行第 2 步?我可以移动 / 目录而不必重新安装它吗?
  3. 我假设 4 会很简单,因为我将通过移动分区的末尾而不是开头来调整大小 - 对吗?
 
fdisk -l

磁盘 /dev/sda:120.0 GB,120034123776 字节
255 个磁头,63 个扇区/磁道,14593 个柱面,总共 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

der*_*ert 7

我建议使用 LVM。要切换,像这样:

  1. 在现有的 /dev/sda2(Windows 分区)上创建一个物理卷 (pvcreate)
  2. 创建一个仅包含 /dev/sda2 (vgcreate) 的卷组
  3. 创建一个逻辑卷来保存您的//home(您拆分它们的任何原因?您不需要。)(lvcreate)
  4. mkfs 两个新的逻辑卷(设备:/dev/mapper/vgname-lvname)
  5. 如果您还没有从救援光盘启动,请从一个启动(您可以使用 Debian 安装光盘,只需在适当的点切换到终端,或者 Ubuntu 光盘)
  6. 安装新的逻辑卷(或者只是一个,如果您决定不拆分)。如果两者都挂载,请确保将 home 挂载到新根目录内(例如,作为 /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. 更新 grub
    5. 如果您有疑虑,请查看生成的 /boot/grub/grub.cfg 以检查它是否选择了新的 rootfs。
    6. 退出chroot
  9. 最后,卸载您挂载的文件系统(以 开头/new-root/{proc,sys,boot}),然后重新启动。
  10. 确认您已启动到新的根文件系统。例如,检查/proc/mounts。确认您的数据存在。(你也有备份,对吧?)非常重要。
  11. 这是不归路。接下来的步骤会破坏您的旧分区。
  12. 您现在可以 pvcreate 旧分区,然后将它们添加到您的卷组 (vgextend)
  13. 您现在可以使用 lvextend 和 resize2fs (或适用于您的文件系统的任何工具)来调整您的//home逻辑卷的大小。这可以在线完成,您的系统正在运行。

使用 LVM 后,以后的任何磁盘更改都容易得多。您可以使用 LVM 命令执行几乎任何磁盘更改,甚至系统运行。

(注意:我已经有一段时间没有这样做了,我可能错过了一两步,但我很确定我没有错过任何灾难性的事情。当然,您的原始安装和数据仍然存在,直到之后您已确认已启动到新的 rootfs)