文章目录
- 业务场景
- 操作步骤
- U盘装CentOS7系统
- 确定U盘盘符
- 修改启动命令
- 系统配置
- 总结
业务场景
- 我们在某市实施交通信控平台项目,我们申请了一台服务器,用于平台安装
- 由于机房机器只有内网,不连互联网,我们无法安装所需要的软件,我们把需要的软件整理成
rpm
包(有兴趣的可以看下:CentOS7.9离线安装docker ce和docker-compose) - 但是
rpm
包与操作系统有关,所以我们需要将操作系统重装,装成CentOS7.9
- 我们使用的是
CentOS7.9
,使用的镜像是CentOS-7-x86_64-Everything-2009.iso
- 安装过程还比较顺利,只是中间有个报错
dracut-initqueue[1066]: Warning:dracut-initqueue timeout- starting timeout scripts
与/dev/root does not exit
,卡住了下 - 下面具体讲一下问题和处理方式
操作步骤
U盘装CentOS7系统
-
首先将
iso
文件,整理成装机U盘,网上方法很多(例如软碟通或老毛桃),我就不赘述了 -
将U盘插上服务器,重启服务器,启动时,进入
bios
, 不同品牌的电脑启动快捷键(百度自行查找),进入安装页面 -
安装时,一般会遇到一个报错,
dracut-initqueue[1066]: Warning:dracut-initqueue timeout- starting timeout scripts
-
一直报错,然后终止,安装失败,找不到root目录,
Warning: /dev/root does not exit
-
原因其实很简单,就是直接从报错信息中得到:系统目录/dev/root 找不到,从U盘里找不到
-
其实就是在进入U盘启动项重装系统过程中,失败不到U盘导致的,需要修改启动脚本,指定U盘盘符即可
确定U盘盘符
- 在处理问题时,搜索到一堆文章,都没说到点子上,而是盲目的认为U盘盘符是
/dev/sdb4
之类的,或者挨个尝试 - 有建议查看所有系统目录,使用命令
ls /dev
去找,会得到如下界面,一堆盘符,不好确定是哪一个
- 而且我们这台服务器还有磁盘阵列,更不好去推测。例如我一开始推测,sda与sdb是系统磁盘,sdc是U盘,不对
- 其实直接通过
blkid
就可以找到U盘的盘符了,因为U盘的文件格式是vfat
,而系统磁盘都不是这个
- 一下子就可以区分出来,U盘是
/dev/sda2
- 除非你插入了多个U盘,有多个
vfat
,你可以把装机盘以外的U盘拔掉,再去试一下
修改启动命令
- 找到U盘的盘符,后面修改就比较简单了,从U盘启动时,按e进入启动修改配置界面
- 将
CentOS\x207\x20x86_64.check
改为U盘盘符,如下 - 将
vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64.check quiet
改为vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sda2 quiet
- 然后按
Ctrl+X
就出现了centOS的安装界面了 - 如果
Ctrl+X
失效,没反应,可以试试F10
系统配置
- 后面的启动过程中,可以把已有的磁盘格式化掉(确保需要的数据已经提前备份)
- 建议选择桌面模式,方便操作和查看
总结
- U盘装机的核心是服务器能识别到U盘,进入U盘装机过程中,能读取到U盘里的系统镜像
- 处理问题,要实事求是,有理有据。例如此次确定哪个盘是U盘,使用
blkid
明确确定是U盘的盘符,而不是猜测