如何在Kubuntu16.04中将/与/home复制到同盘新分区并可引导测试?
分步指南:基于克隆分区测试Kubuntu升级并保留原系统
看起来你已经做了最关键的第一步——用rsync克隆了根分区和家目录,这是保护原系统的绝佳方式。下面我会带你一步步完成测试系统的配置、启动验证和升级,同时确保原系统毫发无损,最后也会给你后续备份的建议。
一、先确认克隆分区的完整性
毕竟升级的基础是克隆准确,别因为复制遗漏导致测试系统出问题:
- 先创建临时挂载点:
sudo mkdir /mnt/root2 /mnt/home2 - 挂载你的克隆分区(替换
/dev/sdaX和/dev/sdaY为实际的root2、home2盘符):sudo mount /dev/sdaX /mnt/root2 sudo mount /dev/sdaY /mnt/home2 - 用
rsync校验复制完整性,避免之前的克隆有遗漏:# 校验根分区 sudo rsync -av --checksum / /mnt/root2 --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/run --exclude=/mnt --exclude=/media # 校验家目录 sudo rsync -av --checksum /home/ /mnt/home2
如果输出里没有报错或差异,说明克隆是完整的。
二、配置测试系统的挂载规则(fstab)
原系统的fstab指向的是sda4和sda5,我们需要修改克隆系统的fstab,让它挂载新的分区:
- 先获取新分区的UUID(比盘符更可靠,避免磁盘顺序变化出问题):
你会得到类似sudo blkid /dev/sdaX # 替换为root2的盘符 sudo blkid /dev/sdaY # 替换为home2的盘符UUID=abc123-xxx...的字符串,记下来。 - 编辑克隆系统的
fstab:sudo nano /mnt/root2/etc/fstab - 找到原根分区(/)和家目录(/home)的条目,把UUID替换成刚才获取的新分区UUID,保存退出。
三、添加GRUB引导项,让系统能启动测试分区
因为你当前是非UEFI启动(MBR引导),我们需要让GRUB识别并添加测试系统的启动选项:
- 先尝试自动扫描:
重启后查看GRUB菜单,大概率会出现新的Kubuntu条目,这是最简单的情况。sudo update-grub - 如果自动扫描没识别到,手动添加引导项:
- 编辑GRUB自定义配置:
sudo nano /etc/grub.d/40_custom - 添加以下内容(替换
(hd0,X)为root2的GRUB分区编号,比如sda6对应(hd0,6);替换UUID和内核版本为实际值):
内核版本可以在menuentry "Kubuntu 16.04 (Test Clone)" { set root=(hd0,X) linux /vmlinuz-4.4.0-xxx-generic root=UUID=你的root2UUID ro quiet splash initrd /initrd.img-4.4.0-xxx-generic }/mnt/root2/boot/目录下查看,比如ls /mnt/root2/boot/会显示可用的vmlinuz和initrd文件。 - 保存后更新GRUB:
sudo update-grub
- 编辑GRUB自定义配置:
四、启动测试系统并执行升级
现在可以放心测试升级了:
- 重启系统,在GRUB菜单里选择你添加的"Kubuntu 16.04 (Test Clone)"条目,进入测试系统。
- 先确认挂载是否正确:
df -h,检查/和/home对应的分区是不是你克隆的root2和home2。 - 开始升级流程:
升级过程中如果遇到任何问题,直接重启回到原系统即可——原sda4和sda5完全不受影响,随时可以切换回来。# 先更新现有包 sudo apt update && sudo apt full-upgrade # 执行版本升级(比如升级到18.04) sudo do-release-upgrade
五、后续备份到预留分区的建议
和之前的克隆逻辑一致,用rsync做增量备份效率最高:
- 挂载预留的备份分区:
sudo mkdir /mnt/backup-root /mnt/backup-home && sudo mount /dev/sdaZ /mnt/backup-root && sudo mount /dev/sdaW /mnt/backup-home(替换为你的备份盘符) - 执行备份:
# 备份根分区 sudo rsync -av --checksum / /mnt/backup-root --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/run --exclude=/mnt --exclude=/media # 备份家目录 sudo rsync -av --checksum /home/ /mnt/backup-home - 如果你想定期自动备份,可以用
crontab设置定时任务,比如每周日凌晨1点执行备份:
添加以下内容(替换路径为你的实际备份路径):sudo crontab -e0 1 * * 0 rsync -av --checksum / /mnt/backup-root --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/run --exclude=/mnt --exclude=/media > /var/log/root-backup.log 2>&1 30 1 * * 0 rsync -av --checksum /home/ /mnt/backup-home > /var/log/home-backup.log 2>&1
内容的提问来源于stack exchange,提问作者Joe
相关产品推荐
相关产品推荐

