CentOS7 USB 启动/安装出现 dracut-initqueue timeout问题

小主我用ahci port上安装了 CentOS,可是将安装好的CentOS 放到USB上启动,结果老是出现dracut timeout的问题;
网上搜索答案,结果是一片人云亦云,全是同一个声音,一看就是一个人发帖,其他人转发,不但解决不了问题,还在误导人。
( 原创 :转载请注出处,有问题请联系642290071@qq.com )

下面小主给出dracut timeout的正解。

     出现dracut timeout的原因,从我这的问题,是由于从sata port上挪到usb上启动时,os 启动文件initranfs缺少usb device driver,导致在系统启动时需要访问usb hdd而得不到访问,从而是dracut 进程timeout。
解决方法是修复原本的initramfs.img镜像文件,此处假设文件镜像就为initranfs.img,操作如下:
     1. 查看initramfs.img文件类型
     $ file initramfs.img
          此时看到initramfs.img是gzip格式的文件
      2. 解压缩gz文件
     $ mv initramfs.img initramfs.img.gz
     $ gunzip initramfs.img.gz
          此时得到initramfs.img
      3. 查看此时的initramfs.img文件类型
     $ file initramfs.img
          此时看到initramfs.img的类型为 cpio
      4. cpio解压缩
     $ cpio -i < initramfs.img 
      5. 查看解压后目录下面lib/modules/kernel-version/drivers/,发现没有usb/storage/usb-storage.ko 和 usb/storage/uas.ko
          下面就需要从安装kernel的源目录下将这两个modules拷贝到usb/storage下
      6. 拷贝完,需要将这两个module 依赖关系生成,假设在当前目录
     $ depmod -b .
      7. 下面进行逆操作压缩
     $ find . |cpio -c -o < ../initramfs.img
     $ gzip -c initramfs.img > initramfs.img.gz
     $ mv initramfs.img.gz initramfs.img
     8. reboot  此时就可以通过usb启动centos了。
  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值