解決策 1:
以下を実行することでこれを解決できました:
- キックスタート ファイルを
isolinux
の先頭に配置しますks.cfg
という名前であることを確認してください -
私の
isolinux.cfg
ファイルは次のようになります:label linux menu label ^Install CentOS 7 kernel vmlinuz append initrd=initrd.img inst.ks=hd:LABEL=CentOS\x207\x20x86_64:/isolinux/ks.cfg inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
ks.cfg
を参照するときにドライブ ラベルを使用する 結果の iso イメージの移植性を高めます。 (起動可能な USB ドライブに変えることができます)
解決策 2:
私はすべてを試しましたが、これだけがうまくいくようです:ks.cfg を initrd の中に入れてください。したがって、以下の手順では initrd を抽出し、そこに ks.cfg を追加して再作成します。 CentOS7 でテスト済み
最初に元の .iso イメージを PC にマウントし、その内容を tmp/ の下にコピーします
次に、
#Keep the original file
cp -ai tmp/isolinux/initrd.img initrd.img.orig
mkdir irmod
cd irmod
#Extract initrd in irmod/
xz -d < ../tmp/isolinux/initrd.img | cpio --extract --make-directories --no-absolute-filenames
#Add the ks.cfg in there
cp ../tmp/ks.cfg .
# Recreate the initrd.img inside isolinux/
find . | cpio -H newc --create | xz --format=lzma --compress --stdout > ../tmp/isolinux/initrd.img
#cleanup
cd ..
rm -r irmod
# Add ks=file:/ks.cfg to the boot parameters in isolinux.cfg. you can do it by hand, this is an example for our own isolinux.cfg
sed -s -i 's|ks=.*ks\.cfg ksdevice=link|ks=file:/k1.cfg|' ../tmp/isolinux/isolinux.cfg ../isolinux.cfg
次に、通常どおりイメージの作成に進みます。
cd tmp/
imgname="inaccess-centos7-ks1-v1.iso"
xorriso -as mkisofs -R -J -V "CentOS 7 x86_64" -o "../${imgname}" \
-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
-boot-info-table -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin .
cd ..
解決策 3:
私のお気に入りの方法は、安定しているため、UUID を使用することです。
最初は CentOS で、2 つ目はキックスタートで、2 つのペンドライブを使用します。 P>
その後、インストールページで使用します:ks=hd:UUID=885E:0BD1:/ks.cfg
本当に効きます!