我想将我的 centos 6.8 安装从一张 250GB 磁盘迁移到更新的 500GB 磁盘。
由于它使用 LVM,我读到移动数据应该很容易,只需将新磁盘添加到同一卷组,然后在物理删除旧磁盘之前通过 vgreduce 将所有内容从旧磁盘移走。
问题是,除了 LVM 之外,安装程序还提供了一个 /boot 标准分区作为 /dev/sda1,我很难理解如何继续后续的启动。我已经尝试了以下设置的整个过程(通过用作测试驱动的 virtualbox 安装):
/dev/sda1 = 512mb boot ext4 on old 250gb disk
/dev/sda2 = LVM root on old 250gb disk
/dev/sdb1 = 512mb boot ext4 on new 500gb disk
/dev/sdb2 = LVM root on new 500gb disk
然后从实时centos系统我有:
- 准备 /dev/sdb 具有相同的 /dev/sda 结构(512mb 作为 ext4 用于引导,然后剩余空间用于 LVM)
- 完成了有关 LVM 的所有 pvcreate、vgextend、pvmove 和 vgreduce 内容
- 将旧的 /boot 内容复制到新的引导(将其安装为 /tmp/boot 并进行 rsyncing 后)
- 编辑 /etc/fstab 行以指示 /dev/sdb1 的正确 UUID
- 启动“grub-install /dev/sdb”(需要 --recheck 标志才能完成)
- 重新启动
但只得到了悲惨的“硬盘故障”消息而不是启动。有人可以指出这种方法有什么问题和/或如何实现这一点吗?
感谢大家
答案1
执行之前grub-install /dev/sdb
,必须重新挂载/boot
。可能还需要重建您的initrd
映像(我相信其中有需要更新的信息)。
注意:事实上,按照这些建议,OP 报告它有效