一、背景
阿里云ECS,ubuntu系统,昨天下午用xshell远程连接之后,提示有新内核可用,手贱进行了更新,之后可能是引导选错了,导致引导grub严重丢失,重启电脑就进不去系统了,一直停留在grub界面。
二、尝试引导修复
按照传统的修复引导操作,试了没用,后来又试了grub2的修复操作,执行到这两步卡住了
kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.18-128.el5.img,
因为我的/boot/路径下找不到vmlinuz*,下面是我/boot/路径下的文件:
看来丢失严重,可能要在修复模式下重装内核,我没有这个权限,联系阿里售后帮忙,一顿操作之后,售后说 :“/boot目录下缺少了很多文件,livecd下没办法直接重装内核了,查看grub.cfg中也没有相关配置了,这种情况确实不太好修复,建议最好还是重置一下系统,先创建快照,然后重新初始化一下系统盘,再通过快照创建一个云盘,挂载到主机中复制数据出来”。
三、自救
好吧,只能这样了,创建快照——>初始化系统盘——>使用快照创建云盘——>挂载到主机复制数据——>卸载云盘:
快照创建:https://help.aliyun.com/document_detail/25455.html
初始化系统盘:https://help.aliyun.com/document_detail/25449.html?spm=a2c4e.11153987.0.0.26636d624BQspd
使用快照创建云盘:https://help.aliyun.com/document_detail/32317.html
挂载云盘:https://help.aliyun.com/document_detail/25446.html
使用 fdisk -l 命令,检查当前ECS的数据硬盘情况,可以看到创建的云盘为/dev/vdb1
然后使用 mount /dev/vdb1 /mnt/temp 执行挂载操作
之后执行df -h 命令可以查看已经挂载好了。
下面就可以进行数据的拷贝了,/mnt/temp 就是原来的根目录/,从/mnt/temp里将有用的数据拷贝到根目录/ 下对应的文件夹中。
其中mysql数据库有几个重要的文件夹
./var/lib/mysql
./var/lib/mysql/mysql #存放的是mysql数据库表格文件
./var/log/mysql
重要数据全部拷贝完毕之后,云盘就可以卸载了。
阿里云40G的SSD快照云盘一小时0.072RMB,我的数据比较少,一个小时内操作完毕,花费不多。
最后慎重提醒大家遇到这样涉及内核的升级,不是必须的话建议不要操作,即使要操作也要先做个快照备份一下 。
完毕!