有没有办法将分区设置为根目录('/')而无需重新格式化?

有没有办法将分区设置为根目录('/')而无需重新格式化?

长话短说。我意外删除了 GRUB,以及设置了挂载点“/”的分区。我通过从 liveCD(USB)重新安装 Ubuntu 来解决这个问题,并将新分区(使用 Ubuntu 的第二版)的挂载点设置为“/”,Ubuntu 安装程序重新安装了 GRUB。(我曾尝试使用 liveCD 中的启动修复,但没有成功)

我的问题是:我是否可以删除这个旧系统以恢复使用的空间,并将我原来的 Ubuntu 重新分配给挂载点“/”,而不必复制重新格式化等等?

原因:

  • 我没有足够空间的大容量存储设备来保存该分区(当前/第一个 Ubuntu)上的所有内容。

  • 没有光驱。

  • 很多设置和其他东西我想保存

  • 计算机已预装 Ubuntu,因此无需再寻找驱动程序(我宁愿不必费力寻找所有驱动程序,因为我知道有些驱动程序在 liveCD 中无法使用)

LSBLK 如下:


lsblk


df -h --total


自由度


(编辑:欲了解更多信息)我的上网本已预装 Ubuntu,因此它不是以“正常”方式设置的,即我的操作系统没有与 MBR 和 GRUB 设置在同一个分区上。还有一个包含 Ubuntu 恢复的恢复分区。引导信息设置为 / 作为安装点。

sda1——FAT32 分区

sda2——FAT32 分区

sda3——第二个 Ubuntu 安装根目录'/'

sda4——加密交换

sda5——第一个 Ubuntu 安装主目录'/home'

sda7——其他操作系统(Ubuntu 14.04)

sda8——未使用

zram0 和 zram1——Linux 的交换分区


采取的步骤:

  1. 从 liveCD-打开终端克隆/sda5 -sudo dd if /dev/sda5 of=/dev/sda7 conv=notrunc,noerror
  2. 从新终端watch -n5 'sudo kill -USR1 $(pgredp ^dd)查看 dd 的进度(大约需要 24 小时才能完成)
  3. 尝试从硬盘加载。系统加载到 grub 命令行(不是引导加载程序)。
  4. 再次运行 liveCD 安装了启动修复程序,并进行了修复。
  5. 默认操作系统现在在 GRUB 中设置为 sda5,仍然有混乱的分区挂载点。

(到第 5 步为止操作系统都是完整的)

  1. 格式化 sda7。
  2. 调整 sda5 的大小。

  3. 最后两个步骤之一破坏了 GRUB 和分区的可引导性(即 3 个 Ubuntu 都无法加载)

  4. liveCD,尝试了 3 次启动修复,第一次“修复”后无法访问启动修复高级选项中的 GRUB 选项(无法清除/重新安装 GRUB)
  5. 挂载了 sda5,看看能否取出文件,但磁盘无法读取。(猜测是由于步骤 #7 中的调整大小)
  6. 清除所有内容并重新安装 Ubuntu。
  7. 不幸的是,我必须重新进行所有设置,幸运的是,我保留了重要数据的备份,但仍然丢失了一些。
  8. 我自己的一个教训。分区时要小心。

尽管看起来启动可以在 sda3 完整的情况下进行,但似乎某些启动信息可能已跨分区扩展。从 sda5 克隆到 sda7(使用 dd)也不起作用。(克隆 sda5 后 sda7 无法启动,但可能是因为大小不同,而克隆需要完全相同的大小才能复制)。所以我格式化了 sda7,并扩展了 sda5。这导致我的 sda5 信息变得混乱。如果我只有信息(而不是完整的系统调整),下面的答案很可能有效。

我遇到的最大问题是,使用 liveCD 时,我必须手动安装驱动器(使用终端、、mkdir /temporary/folder/mount /dev/sdXY/ /temporary/folder,但并非总是如此。有时系统会自动安装,因此如果我想更改任何内容,我必须卸载。这很不一致。

答案1

最简单的方法可能是将所有内容移动到,/dev/sda3因为移动/分区可能很棘手(特殊文件、grub 等,请参阅这里

您需要从 USB 启动才能用于gparted编辑分区。

  1. 将您需要的所有文件从 移动/dev/sda5/dev/sda7,删除 /dev/sda5
  2. 你应该能够移动/dev/sda4并扩展/dev/sda3到自由空间
  3. 然后您可以将移动的文件复制/dev/sda7/dev/sda3
  4. 然后你可以删除/dev/sda7/dev/sda4再次移动,最后扩展/dev/sda3以填充空间

您还需要编辑以/etc/fstab删除对/home/dev/sda5

由于/保留在同一个分区上,希望 grub 仍能正常启动。如果不行,你应该能够运行引导修复要解决这个问题。

仅供参考:grub 安装在驱动器的 MBR 上(不会显示在lsblk或 上df),有关分区和所有内容的信息都存储在 中/boot,在您的情况下,它将位于/目录中(在 上/dev/sda3

相关内容