如何设置多个分区

如何设置多个分区

我有一台 Google Cr-48 笔记本电脑。SSD 只有 6 GB,我愿意将其分配给 Ubuntu。我需要将 /usr 移动到外部 HDD。我还将把我的 /Home 移动到驱动器上的另一个分区。我将指定必须满足的要求。

  1. 不能再次安装 Ubuntu
  2. 不能使用 LiveUSB 或 LiveCD 或 LiveDVD
  3. 不能从 USB 驱动器启动整个操作系统
  4. 不能做任何需要 GRUB 的事情(GRUB 未安装或使用,相信我,我确信)
  5. 不能启动到恢复模式(重新启动恢复或按下按钮,因为两者都需要 GRUB)

我想知道是否可以做到,以及具体如何做到。我尝试过很多次。每次都会出现新的错误。

我正在寻求有关如何做某事的帮助,我不希望有人说“移动 /usr 目录是个坏主意”或任何诸如此类的话。如果我有其他让我感到舒服的选择我就不会问这个问题了。

任何人提供的任何帮助都将不胜感激。如果被要求/需要,我将在未来提供更多详细信息。我很抱歉我的悲观态度,但经过 5 次重新安装后,我的耐心变得有点不足了。

谢谢你!

答案1

请阅读我对您上一个问题的回答 -如何从挂载 /usr/nosuid 中恢复- 移动/usr到已安装的分区不仅是“一个坏主意”,而且还会导致无声故障,除非您还修改了 initrd 映像,因为在安装任何非根分区之前,/usr 预计在早期启动过程中可用。

除此之外,搬家没有什么大问题/usr——你需要做的就是

  • 将文件从 /usr 复制到单独的分区
  • 修改/etc/fstab
  • 问题mount /dev/sdb1 /usr(其中 /dev/sdb 是您的“单独分区”)

就是这样,您现在应该可以使用新的 /usr 了。请注意,根 /usr 分区中的文件不会被删除 - 这可能需要一些技巧,因为 /usr 不可避免地会暂时不可用,但所需的所有命令都位于 /bin 中,因此看起来它可能有效。实际上,我尝试将 /usr 安装到一次性 Virtualbox 实例上的单独分区,并且运行良好:

mkdir /usr.new
mount /dev/sdb1 /usr.new
cp -rp /usr/* /usr.new/
umount /usr.new
nano /etc/fstab # added a line /dev/sdb1 /usr ext3 relatime,errors=remount-ro 0 0
mv /usr /usr.old
mkdir /usr
mount /usr
rm -rf /usr.old
sync # flush disk caches just in case it hangs up during the shutdown
reboot

就这样吧!

在我的测试箱中,我发现 usev 规则没有失败的问题,但话又说回来 - 这是一个 Virtualbox 实例,YMMV。

更新:我发现 sudo 在该框上停止工作,抱怨 suid 位未设置 - 这是由于我使用了cp -r而不是造成的cp -rp,正如评论中所建议的那样

相关内容