文档首页/ 镜像服务 IMS/ 常见问题/ 云服务器创建类/ 注册的镜像操作系统是CentOS类型,使用该镜像创建的云服务器找不到磁盘该如何处理?
更新时间:2022-08-15 GMT+08:00

注册的镜像操作系统是CentOS类型,使用该镜像创建的云服务器找不到磁盘该如何处理?

问题描述

使用CentOS系列私有镜像创建的云服务器找不到磁盘,通常情况下,这是由于启动时没有加载xen-blkfront.ko模块导致的,您需要修改操作系统内核启动参数。登录云服务器后的启动界面如图1所示。

图1 启动界面

处理方法

修改操作系统内核启动参数操作步骤如下:

以下步骤需要在操作系统启动后执行,建议用户在原来创建镜像的源云服务器中进行修改。

  1. 执行以下命令,登录操作系统。
    lsinitrd /boot/initramfs-`uname -r`.img |grep -i xen
    • 如果回显中包含“xen-blkfront.ko”的相关信息,请您与客服沟通。
    • 如果没有回显信息,请执行2
  2. 对下面原有的grub文件进行备份。
    • 对于CentOS 6系列,请执行以下命令进行备份。

      cp /boot/grub/grub.conf /boot/grub/grub.conf.bak

    • 对于CentOS 7系列,请执行以下命令进行备份。

      cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak

  3. 使用vi编辑器打开grub配置文件。以CentOS 7系列为例,执行以下命令。

    vi /boot/grub2/grub.cfg

  4. 在对应默认的启动内核后面增加参数“xen_emul_unplug=all”。

    查找存在“root=UUID=”的配置行,在对应行的末尾都需要补充参数“xen_emul_unplug=all”。

    menuentry 'CentOS Linux (3.10.0-229.el7.x86_64) 7 (Core) with debugging' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-bf3cc825-7638-48d8-8222-cd2f412dd0de' {
            load_video
            set gfxpayload=keep
            insmod gzio
            insmod part_msdos
            insmod ext2
            set root='hd0,msdos1'
            if [ x$feature_platform_search_hint = xy ]; then
              search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1'  bf3cc825-7638-48d8-8222-cd2f412dd0de
            else
              search --no-floppy --fs-uuid --set=root bf3cc825-7638-48d8-8222-cd2f412dd0de
            fi
            linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=bf3cc825-7638-48d8-8222-cd2f412dd0de xen_emul_unplug=all ro crashkernel=auto rhgb quiet  systemd.log_level=debug systemd.log_target=kmsg
            initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img
    }
  5. 按“ESC”,再输入:wq并单击回车,退出vi编辑器。
  6. 将该云服务器制作成为镜像,重新上传并注册到云平台。