将整个安装的文件移动到另一个分区

我在8GB 5GB分区上安装了ubuntu。 由于我安装了许多软件包,因此空间不足。

问题1:有没有办法可以指定安装软件包的另一部分?

问题2:我可以将整个安装的文件从当前分区移动到另一个地方(分区)并在grub中进行更改吗?

我不想重新安装整个,所以在那之后我就可以进行升级:-)

/和主目录在同一个地方。

谢谢 。

A1:不,这是不可能的。 路径是固定的。

A2:如果要将文件移动到另一个分区,则需要使用Live CD。 请考虑首先调整分区大小,这样更容易,更不容易出错。 只有在一个磁盘上有足够的空间时才可以这样做。 考虑如此处所述移动/home文件夹,在大多数情况下,8GB应足够/ 。 如果要将第二个磁盘用作根分区或希望在当前磁盘上创建新分区,请继续。

  1. 进行备份(最好使用像Clonezilla这样的磁盘克隆软件)。
  2. 启动到Live CD,不要挂载任何东西
  3. 使用“磁盘工具”或“GParted”创建新分区。 此分区必须支持Linux文件权限。 这样的文件系统是ext4。 将其标记为“UbuntuRoot”,这样您就可以更轻松地找到分区,否则您必须记住分区名称(例如/dev/sdb1
  4. 打开终端并运行sudo blkid以获取新创建的分区的UUID。 示例输出,您将需要最后一行:

     /dev/sda1: LABEL="HDD" UUID="AD078BC9C024FCDD" TYPE="ntfs" /dev/sda2: LABEL="DATA" UUID="FDE43758913E70EE" TYPE="ntfs" /dev/sda3: UUID="a88638ae-3cd3-45c0-ad06-2d56d89b19a0" TYPE="swap" /dev/sda4: UUID="e3f848cb-5a05-4d2d-92e0-3eaf7b27338c" TYPE="ext4" /dev/sdb1: LABEL="UbuntuRoot" UUID="1cdfadcf-0969-48ba-96a5-42557c23f8e9" TYPE="ext4" 
  5. 挂载旧的根分区( /dev/sdb1是新创建的分区, /dev/sda4是旧分区):

     sudo mkdir /media/old sudo mount /dev/sda4 /media/old sudo mount /dev/sdb1 /mnt 
  6. 复制文件(这可能需要一段时间):

     sudo cp -prvT /media/old /mnt 
  7. 使用新的UUID更新/mnt/etc/fstab 。 根据您的选择选择一个编辑器:

     sudo nano /mnt/etc/fstab gksu gedit /mnt/etc/fstab 

    找到看起来像这样的行,用/dev/sdb1的UUID替换/dev/sda4的UUID:

     # / was on /dev/sda4 during installation UUID=e3f848cb-5a05-4d2d-92e0-3eaf7b27338c / ext4 errors=remount-ro 0 1 
  8. 保存/mnt/etc/fstab并退出编辑器。 接下来,需要更新GRUB以从新磁盘和分区引导。

     sudo grub-install --root-directory=/mnt /dev/sdb 
  9. 卸载分区以完成它:

     sudo umount /mnt /media/old 
  10. 重新启动以检查结果。