使用kickstart方式安裝RHEL7,例如使用test-ks.cfg.img。在如下頁面按下Tab鍵,
例如屏幕顯示 vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=RHEL-7.6\x20Server.x86_64 rd.live.check quite
假設目前服務器只有一塊邏輯硬盤sda,這裏在最後加上kickstart參數 inst.ks=hd:sdb:/test-ks.cfg
=> 安裝會遇到找不着ks文件的報錯
排查: 查看ks-img掛載情況
在上述頁面按下Tab後,修改系統引導命令語句爲
vmlinuz initrd=initrd.img dd linux quiet
可以看到最後一行(TYPE列爲vfat,對應ks-img)不一定在sdb,每次不固定
說明:這可能和機型等因素有關,有的時候是固定的,例如已有sda和sdb,ks-img掛載後是sdc
解決方法:
從test-ks.cfg生成test-ks.cfg.img時,指定一個標籤,例如 labeltest
dd bs=512 count=2880 if=/dev/zero of=test-ks.cfg.img
mkfs.msdos -n labeltest test-ks.cfg.img
mount -o loop test-ks.cfg.img /mnt/
cp test-ks.cfg /mnt/
umount /mnt/
對應地,系統引導命令語句使用標籤指定kickstart文件 inst.ks=hd:LABEL=labeltest:/test-ks.cfg
說明:
1. 此處執行vmlinuz initrd=initrd.img dd linux quiet 可以在LABEL列可以查看標籤(但有時候有標籤也看不到。。)
2. 如果標籤不匹配會報錯dracut-initqueue timeout
3. 如果ks文件中想忽略ks-img掛載的盤可以使用語句 ignoredisk --drives=disk/by-label/labeltest
如果能夠明確使用哪些硬盤,當然也可以使用語句 ignoredisk --only-use=sda
參考資料:
dracut-initqueue timeout https://www.cnblogs.com/dennysong/p/10872575.html