zoukankan      html  css  js  c++  java
  • 解决因U盘标签问题导致的U盘安装Linux系统失败

    前言

    我在使用U盘制作、安装Centos系统时遇到了一个问题,现象是进不了安装界面,在等待超时后提示以下信息,然后就进入了临时的linux shell。

    dracut-initqueue : Warning: dracut-initqueue timeout - starting timeout scripts

    然而同样的镜像文件如果刻录成光盘安装就没有问题,甚至可能换个U盘安装也没有问题。上网搜索有各种解决方法,总体说的是对的,但在细节上说得不够准确。个人推测发帖者根据原文分析并找到了原因,事后想要记录一下就直接Copy原文,并没有做更细的总结,这也是促使我发表本文的原因。以下记录我已在Centos7.3 + 工控机环境下实验过。

    问题分析

    导致该问题的原因,是因为不同格式的U盘对标签支持的长度不一样。很可能使用fat32或exfat格式,无法支持镜像里超长的标签。我们将U盘插在windows下,看到U盘的标签名为

    CentOS 7 x8

    而打开/isolinux/syslinux.cfg搜索“LABEL=”,看到的都是

    CentOSx207x20x86_64

    其中x20代表空格,这两处不一致导致无法正确引导进入安装界面。而如果是DVD刻录的,可以看到光盘的标签就是“CentOS 7 x86_64”,而U盘则可能是被截短后的标签。

    解决办法

    问题分析完了,解决办法有三种
    1.使用DVD刻录安装
    这种做法什么都不需要修改,前提是你安装系统的设备有光驱

    2.修改修改syslinux.cfg
    该配置文件在U盘里/isolinux/目录下,把"hd:LABEL=CentOSx207x20x86_64"这里修改为正确的U盘标签名。例如这里修改为:

    hd:LABEL=CentOSx207x20x8

    配置里有多处hd:LABEL=,我都进行了修改,保存后按照正常流程安装即可。这种改法有几个坑需要注意: - 空格问题,x20 为空格 - 不修改syslinux.cfg里的配置,而是在windows下修改U盘标签
    这么做思路没问题,但是有个坑是windows如果修改了标签名,会自动转成大写,造成的结果和原先一样,依旧是两边不匹配。而且一旦修改了U盘标签,就改不回小写了,这时候最好的做法就是两边同时修改为CENTOS7这样全大写、没有空格这样简单的标签名。

    这种做法一劳永逸,之后使用该U盘安装不必再做修改和配置注:U盘系统里,还有一个/isolinux/isolinux.cfg,这个在刻录前有用,刻录后修改也不生效。注意别修改错了。 2)大小写问题,在windows下如果修改lable后有可能会被强制转为大写(有时重启系统才能发现) 所以保险起见,将标签,和该cfg都修改为CENTOS7这样没有歧义的名称。

    3.在安装时修改
    这么做的好处是不会修改原本U盘里的任何内容。在安装系统步骤走到安装选择菜单时,通过键盘上下键,选择 Install CentOS 7(但是不回车) ,然后修改 按 e 键(或者tab键,可以看提示,不同版本不一样),进入修改状态,将 hd:LABEL=后面的内容修改为U盘实际的标签名例如标签名是别截断后的CentOS 7 x8,那么这里修改为

    vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOSx207x20x86_64.check quiet为 vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOSx207x20x8 quiet

    最后,通过按e键进入修改的,按Ctrl+x开始安装。如果通过tab键进入修改的,直接回车开始安装。

  • 相关阅读:
    Linux新手随手笔记2.4-使用DHCP动态管理主机地址
    在word中输入任意角度旋转图片
    VBA注释临时
    VBA改写VBA代码
    【转载】robocopy的用法
    Excel数组排序+图片统一大小
    一键调节音量
    合并文档时让第一页为奇数
    智能跳转---TC资源管理器
    win7一键拖动生成快速启动栏
  • 原文地址:https://www.cnblogs.com/realjimmy/p/13060172.html
Copyright © 2011-2022 走看看