记录一次腾讯云云服务器迁移至本地VM虚拟机全流程

笔者云服务器为centos7.2,本地为win11,vmware为pro17

第一步下载镜像导入本地vm

首先在控制台执行镜像制作

接下来将制作好的镜像文件,导出到对象存储的桶中

在腾讯云COS中使用任意方式,下载RAW镜像到本地

使用qemu-img将RAW镜像转成vmdk格式

可参考官方指南:云服务器 转换镜像格式-操作指南-文档中心-腾讯云 (tencent.com)

创建一台centos7.2虚拟机,所有选项默认,将生成的vmdk选择为现有硬盘

启动进入系统

生成新initqueue

此时开机,无法开机,报错warning:dracut-initqueue timeout – starting timeout scripts,并且长时间显示A start job is running for ….(xmin,xs)

造成此原因的问题大概是因为initramfs有问题

此时进入救援模式

重置root密码

注意,此时需要有root账号的密码,如果使用密钥文件登录ssh,需要在腾讯云站内信找到原始密码,如果没有密码,或密码无效,需要手动更改密码

在选择救援模式时,直接按“e”键来编辑系统启动选项

找到linux16或linuxefi 开头的内容,光标移动到该行最后,一般是 UTF-8的后面,输入空格,再输入 init=/bin/sh

接下来按ctrl+x启动

现在进入单目录模式

输入并回车mount -o remount,rw /接下来就可以使用passwd修改密码了

接下来回车touch /.autorelabel

然后回车exec /sbin/init

自动重启,密码生效,继续进入救援模式

记住要引导的系统

在救援模式下输入,并运行类似如下的指令

dracut -f /boot/initramfs-3.10.0-514.26.2.e17.x86_64.img 3.10.0-514.26.2.e17.x86_64

如果提示找不到文件,使用ssh连接救援模式,去提示目录复制文件名3.10.0-514.26.2.e17.x86_64以及initramfs-3.10.0-514.26.2.e17.x86_64.img(笔者这里手动输入必报错,复制则可行)

initramfs生成完成后重启,进入使用的内核引导

如果正常引导,则工作完成

修复grub.cfg

如果继续提示诸如? rest_init +0x80/0x80,并且无限重新启动

或仍然无法正常引导启动

则内核错误,修复grub.cfg文件

进入救援模式,输入并运行grub2-mkconfig -o /boot/grub2/grub.cfg

reboot后大功告成。

主要参考:

Centos7内核错误,修复内核,删除内核 – 简书 (jianshu.com)

记一次从云端迁移至本地,系统无法启动的问题 – 技术经验 – W3xue

centos7 重置密码_centos7修改密码_lichalicha的博客-CSDN博客

云服务器 转换镜像格式-操作指南-文档中心-腾讯云 (tencent.com)