You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

三启动系统(Windows 11+双Ubuntu 22.04)克隆Ubuntu分区后的GRUB配置处理方案咨询

三启动系统(Windows 11+双Ubuntu 22.04)克隆Ubuntu分区后的GRUB配置处理方案咨询

嗨,我完全get到你的需求——用克隆分区做测试环境,不用虚拟机就能在真实硬件上折腾各种设置、扩展和应用,折腾完再同步回主系统,还能随时重置测试环境,这个思路超实用!下面我一步步给你讲清楚克隆后怎么处理GRUB的问题,还有关键的注意事项:

  • 第一步:先做好分区克隆的基础准备
    首先得把你的主Ubuntu分区克隆到那个空的测试分区,推荐两种方式:

    • 图形化工具选GParted(直观不容易出错,适合新手);命令行可以用dd(注意一定要选对设备名,比如sudo dd if=/dev/sda2 of=/dev/sda3 bs=4M status=progress,if是源分区,of是目标测试分区,别搞反了!)。
      不管用哪种方式,一定要在Ubuntu安装U盘的live环境下操作,避免主分区挂载时克隆导致文件损坏。
  • 第二步:修改测试分区的UUID(核心!)
    克隆后的测试分区和主Ubuntu的UUID完全一样,这会让GRUB和系统混淆,所以必须修改:

    1. 在live环境里用blkid或lsblk命令找到测试分区的设备名(比如/dev/sda3)
    2. 执行命令生成新UUID:sudo tune2fs -U random /dev/sdX(把sdX换成你的测试分区设备名)
    3. 再用blkid记下这个新的UUID,后面要用到。
  • 第三步:更新测试分区的fstab文件
    测试系统启动时会依赖fstab里的UUID找根分区,必须把旧的UUID换成新的:

    1. 创建挂载点并挂载测试分区:sudo mkdir /mnt/test_ubuntu && sudo mount /dev/sdX /mnt/test_ubuntu
    2. 编辑fstab:sudo nano /mnt/test_ubuntu/etc/fstab,把里面所有原主Ubuntu的UUID替换成刚生成的新UUID,保存退出(按Ctrl+O回车,再Ctrl+X)。
  • 第四步:修复GRUB,让系统识别两个Ubuntu
    现在可以更新GRUB来扫描新的测试系统了,有两种方法:

    • 方法一(简单优先):直接从你的主Ubuntu系统启动,执行sudo update-grub。GRUB会自动扫描所有磁盘上的操作系统,包括刚克隆好的测试Ubuntu,扫描完成后启动菜单里就会多出测试系统的选项。
    • 方法二(主系统无法启动时用):回到live环境,挂载主Ubuntu根分区到/mnt/main_ubuntu,然后绑定必要的系统目录:
      sudo mount --bind /dev /mnt/main_ubuntu/dev
      sudo mount --bind /proc /mnt/main_ubuntu/proc
      sudo mount --bind /sys /mnt/main_ubuntu/sys
      
      切换到主系统根环境:sudo chroot /mnt/main_ubuntu,执行update-grub,完成后输入exit退出chroot,重启系统即可。
  • 可选但推荐:区分两个Ubuntu启动项
    默认情况下两个Ubuntu的启动菜单名称会一样,容易搞混,你可以修改测试系统的标识:
    挂载测试分区后,编辑sudo nano /mnt/test_ubuntu/etc/os-release,把PRETTY_NAME改成类似Ubuntu 22.04 LTS (Test Environment),保存后再执行一次sudo update-grub,下次启动菜单里就会显示这个自定义名称了。

备注:内容来源于stack exchange,提问作者Daniel Moore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 12:28:23