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

Har*_*K T 5 installation re-installation

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

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

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

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

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

谢谢你 。

Lek*_*eyn 4

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"
    
    Run Code Online (Sandbox Code Playgroud)
  5. 挂载您的旧根分区(/dev/sdb1是您新创建的分区,/dev/sda4是您的旧分区):

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

    sudo cp -prvT /media/old /mnt
    
    Run Code Online (Sandbox Code Playgroud)
  7. /mnt/etc/fstab使用新的 UUID进行更新。选择您喜欢的编辑器:

    sudo nano /mnt/etc/fstab
    gksu gedit /mnt/etc/fstab
    
    Run Code Online (Sandbox Code Playgroud)

    找到如下行并将 的 UUID 替换/dev/sda4为的/dev/sdb1UUID:

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

    sudo grub-install --root-directory=/mnt /dev/sdb
    
    Run Code Online (Sandbox Code Playgroud)
  9. 卸载分区以完成它:

    sudo umount /mnt /media/old
    
    Run Code Online (Sandbox Code Playgroud)
  10. 重新启动以检查结果。