镜像服务 IMS
镜像服务 IMS
- 最新动态
- 功能总览
- 产品介绍
- 快速入门
-
用户指南
- 通过IAM授予使用IMS的权限
- 创建私有镜像
- 管理私有镜像
- Windows操作系统相关操作
- Linux操作系统相关操作
- 管理公共镜像
- 标签管理
- 配额管理
- 使用CTS审计IMS操作事件
- 最佳实践
- API参考
- SDK参考
-
常见问题
- 镜像咨询类
- 操作系统停止支持类
- 镜像创建类
- 镜像共享类
- 操作系统类
- 镜像导入类
- 镜像导出类
-
镜像优化类
- 一定要在云服务器中安装Guest OS driver吗?
- Windows操作系统为什么要安装并更新virtio?
- 通过镜像文件注册私有镜像过程中,系统会对镜像做哪些修改?
- 创建私有镜像前云服务器、裸金属服务器或镜像文件需要完成哪些初始化配置?
- Windows外部镜像文件在导出前未完成初始化配置,怎么办?
- Linux外部镜像文件在导出前未完成初始化配置,怎么办?
- 如何优化镜像?
- 如何使用通过I代云服务器创建的私有镜像创建II代云服务器
- 如何设置镜像的网卡多队列属性?
- 如何配置IPv6地址
- 如何优化系统盘镜像使其支持实例快速发放?
- 为什么Windows云服务器安装Guest OS driver会失败?
- 怎样安装原生的XEN和KVM驱动
- 镜像复制类
- 镜像删除类
- 镜像加密类
- 市场镜像类
- 账号与权限类
- Cloud-Init操作类
- 云服务器创建类
- 驱动安装类
- 镜像标签类
- 计费类
- 视频帮助
- 产品术语
-
更多文档
-
用户指南 (阿布扎比区域)
- 产品介绍
- 通过IAM授予使用IMS的权限
- 创建私有镜像
- 管理私有镜像
- Windows操作系统相关操作
- Linux操作系统相关操作
- 标签管理
- 配额管理
- 使用CTS审计IMS操作事件
- 常见问题
- API参考 (阿布扎比区域)
-
用户指南(巴黎区域)
- 产品介绍
- 通过IAM授予使用IMS的权限
- 创建私有镜像
- 管理私有镜像
- Windows操作系统相关操作
- Linux操作系统相关操作
- 标签管理
- 配额管理
- 使用CTS审计IMS操作事件
- 常见问题
- API参考 (巴黎区域)
-
用户指南(吉隆坡区域)
- 产品介绍
- 通过IAM授予使用IMS的权限
- 创建私有镜像
- 管理私有镜像
- Windows操作系统相关操作
- Linux操作系统相关操作
- 标签管理
- 配额管理
- 使用CTS审计IMS操作事件
- 常见问题
- API参考(吉隆坡区域)
-
用户指南(安卡拉区域)
- 产品介绍
- 通过IAM授予使用IMS的权限
- 创建私有镜像
- 管理私有镜像
- Windows操作系统相关操作
- Linux操作系统相关操作
- 标签管理
- 配额管理
- 使用CTS审计IMS操作事件
- 常见问题
- API参考(安卡拉区域)
-
用户指南 (阿布扎比区域)
- 通用参考
链接复制成功!
修改grub文件磁盘标识方式为UUID
操作场景
在优化Linux私有镜像过程中,需要在云服务器上修改grub文件磁盘标识方式为UUID。
修改menu.lst或者grub.cfg配置(“/boot/grub/menu.lst”或“/boot/grub/grub.cfg”或“/boot/grub2/grub.cfg”或“/boot/grub/grub.conf”或“ /boot/efi/EFI/euleros/grub.cfg”,具体路径根据OS不同会有所区别),启动分区使用UUID方式配置。
说明:
根据OS不同,配置文件里标记的root分区会有所不同,可能是“root=/dev/xvda”或“root=/dev/disk”,都需要将grub文件磁盘标识方式修改为UUID的形式。
操作步骤
- 以Ubuntu 14.04为例,执行blkid命令获取root分区对应的UUID并记录下来,编辑“/boot/grub/grub.cfg”文件,使用root分区的UUID来配置boot项。如果root分区已经使用UUID形式则不需要修改。具体操作方法如下:
- 使用root用户登录云服务器。
- 执行以下命令,列出当前系统中所有已挂载文件系统的类型以及对应设备的UUID 。
回显信息如下所示:
/dev/xvda1: UUID="ec51d860-34bf-4374-ad46-a0c3e337fd34" TYPE="ext3" /dev/xvda5: UUID="7a44a9ce-9281-4740-b95f-c8de33ae5c11" TYPE="swap"
- 执行以下命令,查看“grub.cfg”文件:
回显信息如下所示:
……menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 else search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 fi echo 'Loading Linux 3.13.0-24-generic ...' linux /boot/vmlinuz-3.13.0-24-generic root=/dev/xvda1 ro echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.13.0-24-generic }
- 根据“/boot/grub/grub.cfg”配置文件里标记的root分区,查找是否包括“root=/dev/xvda1”或者“root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34”信息。
- 存在“root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34”,即root分区以UUID的表示形式,无需修改。
- 存在“root=/dev/xvda1”,即root分区以设备名称表示的形式,请执行步骤5。
- 根据“root=/dev/xvda1”,即root分区对应的设备名称,以及blkid命令获取的分区信息,找到root分区设备名称对应的UUID。
- 执行以下命令,打开“grub.cfg”文件。
- 按“i”进入编辑模式,将root分区改成UUID形式,本例中将“root=/dev/xvda1”修改为“root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34”。
- 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出vi编辑器。
- 执行以下命令,确认修改结果。
回显信息如下所示表示修改成功,即root分区以UUID的形式表示。
……menuentry 'Ubuntu Linux, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-ec51d860-34bf-4374-ad46-a0c3e337fd34' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio insmod part_msdos insmod ext2 if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 else search --no-floppy --fs-uuid --set=root ec51d860-34bf-4374-ad46-a0c3e337fd34 fi echo 'Loading Linux 3.13.0-24-generic ...' linux /boot/vmlinuz-3.13.0-24-generic root=UUID=ec51d860-34bf-4374-ad46-a0c3e337fd34 ro echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-3.13.0-24-generic }
- 以CentOS 6.5为例,执行blkid命令获取root分区对应的UUID并记录下来,编辑“/boot/grub/grub.conf”文件,使用root分区的UUID来配置boot项。如果root分区已经使用UUID形式则不需要修改。具体操作步骤如下:
- 使用root用户登录云服务器。
- 执行以下命令,列出当前系统中所有已挂载文件系统的类型以及对应设备的UUID 。
回显信息如下所示
/dev/xvda1: UUID="749d6c0c-990a-4661-bed1-46769388365a" TYPE="swap" /dev/xvda2: UUID="f382872b-eda6-43df-9516-5a687fecdce6" TYPE="ext4"
- 执行以下命令查看“grub.conf”文件:
回显信息如下所示。
default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-573.8.1.el6.x86_64) root (hd0,1) kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=/dev/xvda2 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=autoKEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img
- 根据“/boot/grub/grub.conf”配置文件里标记的root分区,查找是否包括“root=/dev/xvda2”或者“root=UUID=f382872b-eda6-43df-9516-5a687fecdce6”信息。
- 若存在“root=UUID=f382872b-eda6-43df-9516-5a687fecdce6”,即root分区以UUID的表示形式,则无需修改。
- 若存在“root=/dev/xvda2”,即root分区以设备名称表示的形式,请执行步骤5。
- 根据“root=/dev/xvda2”,即root分区对应的设备名称,以及blkid命令获取的分区信息,找到root分区设备名称对应的UUID。
- 执行以下命令,打开“grub.conf”文件。
- 按“i”进入编辑模式,将root分区改成UUID形式,本例中将“root=/dev/xvda2”修改为“root=UUID=f382872b-eda6-43df-9516-5a687fecdce6”。
- 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出vi编辑器。
- 修改后,执行以下命令确认修改结果。
回显信息如下所示表示修改成功,即root分区以UUID的形式表示。
default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-573.8.1.el6.x86_64) root (hd0,1) kernel /boot/vmlinuz-2.6.32-573.8.1.el6.x86_64 ro root=UUID=f382872b-eda6-43df-9516-5a687fecdce6 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=autoKEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-573.8.1.el6.x86_64.img
- 以CentOS 7.0为例,执行blkid命令获取root分区对应的UUID并记录下来,编辑“/boot/grub2/grub.cfg”文件,使用root分区的UUID来配置boot项。如果root分区已经使用UUID形式则不需要修改。
- 使用root用户登录云服务器。
- 执行以下命令,列出当前系统中所有已挂载文件系统的类型以及对应设备的UUID 。
回显信息如下所示。
/dev/xvda2: UUID="4eb40294-4c6f-4384-bbb6-b8795bbb1130" TYPE="xfs" /dev/xvda1: UUID="2de37c6b-2648-43b4-a4f5-40162154e135" TYPE="swap"
- 执行以下命令查看“grub.cfg”文件:
回显信息如下所示。
…… menuentry 'CentOS Linux (3.10.0-229.el7.x86_64) 7 (Core)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-4eb40294-4c6f-4384-bbb6-b8795bbb1130' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'4eb40294-4c6f-4384-bbb6-b8795bbb1130 else search --no-floppy --fs-uuid --set=root 4eb40294-4c6f-4384-bbb6-b8795bbb1130 fi linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=/dev/xvda2 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8 initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img }
- 根据“/boot/grub2/grub.cfg”配置文件里标记的root分区,查找是否包括root=/dev/xvda2或者包括root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130信息。
- 存在“root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130”,即root分区以UUID的表示形式,则无需修改。
- 存在“root=/dev/xvda2”,即root分区以设备名称表示的形式,请执行步骤5。
- 根据“root=/dev/xvda2”,即root分区对应的设备名称,以及blkid命令获取的分区信息,找到root分区设备名称对应的UUID。
- 执行以下命令,打开“grub.cfg”文件。
- 按“i”进入编辑模式,将root分区改成UUID形式,本例中将“root=/dev/xvda2”修改为“root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130”。
- 按“Esc”后,输入:wq,按“Enter”。 保存设置并退出vi编辑器。
- 执行以下命令确认修改结果。
回显信息如下所示表示修改成功,即root分区以UUID的形式表示。
…… menuentry 'CentOS Linux (3.10.0-229.el7.x86_64) 7 (Core)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-229.el7.x86_64-advanced-4eb40294-4c6f-4384-bbb6-b8795bbb1130' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'4eb40294-4c6f-4384-bbb6-b8795bbb1130 else search --no-floppy --fs-uuid --set=root 4eb40294-4c6f-4384-bbb6-b8795bbb1130 fi linux16 /boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=4eb40294-4c6f-4384-bbb6-b8795bbb1130 ro crashkernel=auto rhgb quiet LANG=en_US.UTF-8 initrd16 /boot/initramfs-3.10.0-229.el7.x86_64.img }
父主题: 优化私有镜像(Linux)