环境: VMware 14.0 Pro版

光盘镜像: CentOS-6.9-x86_64-minimal.iso

ks文件生成器: kickstart

 

偶然接触一个kickstart, 通过马哥的网络直播上学到的自动安装系统, 先看一下原理:

CentOS在VMware安装流程: 新建虚拟机 --> 挂载光盘镜像 --> 开始安装 --> 配置(包括地区, 语言, 时区, 键盘类型, root密码等等) --> 完成安装 --> 重启 --> 进入系统

在如上过程中, 对安装系统的配置是最耗时间的, 假如我们要安装100台主机, 难道要每一台都去配置吗? Come on, geek up and finish it.


  1. 什么是kickstart?

    1. kickstart, 生成自动配置文件, 即应答文件,达到在安装系统时无须人工干预的目的
    2. 需要在图形界面下启动; 当然也可以在命令行下复制编辑 /root/anaconda-ks.cfg 文件, kickstart的最终目的也是生成一个这样的文件
    3. 安装方法:
      yum -y groupinstall Desktop --> 如果你没有图形界面的话
      startx &  --> 启动图形界面, 并且在图形界面启动一个Terminal

      CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

      yum -y install system-config-kickstart   --> 安装kickstart, 是的, kickstart的安装包就叫做这么一长串名字
      
      system-config-kickstart   -->  命令行直接输入启动, 或者在图形界面下的左上角 Applications ->System Tools -> kickstart 启动, 即上图 Terninal 的上一个选项
  2. 配置ks应答文件, 图片太多, 所以做成了gif, 2s/帧, 共12张                                                                                                   CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

  3. 现在有了ks文件, 我们保存为 /root/ks6_mini.cfg 作为安装CentOS 最小系统的应答文件好了, 但是这个文件要放在哪里呢? 

    1. 跟安装镜像一块, 烧录在硬盘里, 更改grub目录菜单(后面会有提到);
    2. 刚好还有一台虚拟机上装了apache, 那么我们就直接甩到网页上好了;
      1. centos 7 上的, 干净httpd服务, 啥也没有
        systemctl start httpd
        sftp 192.168.142.142:/root/ks6_mini.cfg --> 获取ks文件到$pwdcp ks6_mini.cfg /var/www/html/
        centos 7 的 ip 地址为: 192.168.142.128, 那么这个URL为: http://192.168.142.128/ks6_mini.cfg
  4. 设置应答文件位置

    1. 新建虚拟机 -> 挂载正常安装光盘 -> 启动虚拟机, 进入安装界面 -> 按Tab键 -> 在内核设置后, 加上  ks=http://192.168.142.128/ks6_mini.cfg                  CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

       

    2. 回车, ok, 自动安装开始, 需要注意的是, ks使用http方式获取, 需要正确配置网卡以便能到达这个网址, 否则 安装过程中会停下来, 问你要这个地址的   

        CentOS 6.9 CentOS 7.4 自动安装系统 kickstart                  

                             CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

        CentOS 6.9 CentOS 7.4 自动安装系统 kickstart


上面这种安装方式, 只能称作为半自动安装, 因为需要手动干预输入ks位置

我们下面来制作一个, 无需输入ks位置, 可定制的启动引导盘

这是一个CentOS6.9最小安装光盘里的部分内容, 我们需要的就是他的 isolinux/ 下的所有文件

[root@centos6 myiso]# tree
.
├── CentOS_BuildTag
├── EFI
│   ├── BOOT
│ ├── BOOTX64.conf
│ ├── BOOTX64.efi
│ ├── splash.xpm.gz
│ └── TRANS.TBL
│   └── TRANS.TBL
├── EULA
├── GPL
├── images
│   ├── efiboot.img
│   ├── efidisk.img
│   ├── install.img
│   ├── pxeboot
│ ├── initrd.img
│ ├── TRANS.TBL
│ └── vmlinuz
│   ├── TRANS.TBL
│   └── updates.img
├── isolinux   --> 启动盘所需要着手的地方   ├── boot.cat             --> 类似MBR的存在   ├── boot.msg        
│   ├── grub.conf
│   ├── initrd.img       --> ramfs, 假根
│   ├── isolinux.bin      -->光盘引导程序, 在mkisofs的选项中需要明确给出文件路径, 这个文件属于SYSLINUX项目
│   ├── isolinux.cfg      -->isolinux.bin的配置文件, 当光盘启动后(即运行isolinux.bin), 会自动去找isolinux.cfg文件
│   ├── memtest
│   ├── splash.jpg       -->光盘启动界面的背景图
│   ├── TRANS.TBL
│   ├── vesamenu.c32      -->是光盘启动后的安装图形界面, 也属于SYLINUX项目, menu.c32版本是纯文本的菜单
│   └── vmlinuz         -->内核映像

  ├── Packages
  │   ├── acl-2.2.49-7.el6.x86_64.rpm

......

  ├── RELEASE-NOTES-en-US.html
  ├── repodata
  │   ├── 1fe6472ba4a4c603142f6c166cf8576540d182b5c23053300bc086a950c39e02-other.sqlite.bz2
  │   ├── 34bae2d3c9c78e04ed2429923bc095005af1b166d1a354422c4c04274bae0f59-c6-minimal-x86_64.xml
  │   ├── 55794efeb017159652008492a09552561cad4be2652478bfa3fc1e8e2ac12940-other.xml.gz
  │   ├── 73c548679e02ace4bb7102d5b92dd97ee224f35de6d198e0f090d409b9731d89-primary.sqlite.bz2
  │   ├── ad712ab1d0018477799baa3f9660935dec74cd227724142a4b2a33b63cafe583-filelists.xml.gz
  │   ├── ce2d698b9fb1413b668443e88835a0642cea8f387c7f25cc946f56dd93f109bb-c6-minimal-x86_64.xml.gz
  │   ├── fc5f6c991238c567b41dd12c19f3e0c1b4a56dce0063020fc7de8339bde0f5f9-filelists.sqlite.bz2
  │   ├── ffaba656c4b1c77c844142b80d383bb38e9335b36a8046f56f53747044010304-primary.xml.gz
  │   ├── repomd.xml
  │   └── TRANS.TBL
  ├── RPM-GPG-KEY-CentOS-6
  ├── RPM-GPG-KEY-CentOS-Debug-6
  ├── RPM-GPG-KEY-CentOS-Security-6
  ├── RPM-GPG-KEY-CentOS-Testing-6
  └── TRANS.TBL

制作Linux自动安装启动盘(非完整安装盘)步骤:

  1. 拷贝上面制作好的ks6_mini.cfg sftp 192.168.142.128:/var/www/html/ks6_mini.cfg , 修改之

  

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use CDROM installation media --> 修改这里的安装源
# cdrom
url --url="https://mirrors.aliyun.com/centos/6.9/os/x86_64/"
# 阿里云的镜像源, 可以改为内网http或ftp服务器, 会更快一些
# Root password rootpw
--iscrypted $1$NYOXLNBQ$e7B2.8hPCvCK75U/Jj8hV/ # System authorization information auth --useshadow --passalgo=sha512 # Use text mode install text # System keyboard keyboard us # System language lang en_US # SELinux configuration selinux --disabled # Do not configure the X Window System skipx # Installation logging level logging --level=info # Reboot after installation reboot # System timezone timezone Asia/Shanghai # Network information network --bootproto=dhcp --device=eth0 --onboot=on # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Disk partitioning information part /boot --fstype="ext4" --size=200 part /home --fstype="ext4" --size=5000 part / --fstype="ext4" --size=10000 part swap --fstype="swap" --size=2048 %post mkdir /etc/yum.repos.d/bak mv /etc/yum.repos.d/* /etc/yum.repos.d/bak/ cat > /etc/yum.repos.d/base.repo <<EOF [base] name=CentOS-$releasever - Base - 163.com baseurl=http://mirrors.163.com/centos/6/os/x86_64/ gpgcheck=0 EOF %end

  2. 为了方便另外做了一份centos6 的桌面版应答文件, ks6_desktop.cfg, 大家可以自行使用kickstart生成之

    这里有一个需要注意的地方, 在CentOS7上, 如果kickstart界面的Package页面没有显示, 请修改yum仓库中的[base] 项为 [development] 就可以了

  3. 拷贝 上面提到的 isolinux/ 到 任意空目录

[root@centos6 myiso]# cp -r isolinux/ ../autoboot/
[root@centos6 myiso]# cd ..
[root@centos6 auto-centos6]# cd autoboot/
[root@centos6 autoboot]# ls
isolinux
[root@centos6 autoboot]# tree isolinux/     --> 我们所需要的全部文件
isolinux/
├── boot.cat
├── boot.msg
├── grub.conf
├── initrd.img
├── isolinux.bin
├── isolinux.cfg
├── ks
│   ├── ks6_mini.cfg
│   └── ks7_desktop.cfg
├── memtest
├── splash.jpg
├── TRANS.TBL
├── vesamenu.c32
└── vmlinuz

  4. 修改 isolinux.cfg

    修改过程中要注意, 既然是自动安装, 那么如果原来磁盘有操作系统怎么办?

    --> 所以, 我们的默认选项应该为从硬盘启动

[root@centos6 isolinux]# cat isolinux.cfg 
default vesamenu.c32
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to GETTOLIVE -CentOS 6.9-AUTO-IN! --> 这里可以自定义修改
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
#==============源文件==================
label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img
label vesa
  menu label Install system with ^basic video driver
  kernel vmlinuz
  append initrd=initrd.img nomodeset
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
label local
  menu label Boot from ^local drive
  localboot 0xffff
label memtest86
  menu label ^Memory test
  kernel memtest
  append -
#============源文件结束================
#============修改的内容================
label local
  menu label Boot from ^local drive
  localboot 0xffff
 menu default
label mini
  menu label Install CentOS 6.9 ^Mini system
  kernel vmlinuz
append initrd=initrd.img ks=cdrom:/isolinux/ks/ks6_mini.cfg
label desktop
  menu label Install CentOS 6.9 ^Desktop system
  kernel vmlinuz
append initrd=initrd.img ks=cdrom:/isolinux/ks/ks6_desktop.cfg

   5. 制作映像

[root@centos6 isolinux]# mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /tmp/auto-centos6/autoboot

  6. 使用xftp将生成的 /root/boot.iso拷贝出来, 挂载到新建的虚拟机光盘上, 启动之, 效果如下:

  CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

  CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

  可以看到, 安装已经开始, 全部要做的工作就是挂载启动盘, 选择安装最小版或图形版本  

    --> 注意: 此处需要当前待安装系统的主机能够连接到阿里云镜像服务器,如果不能连接外网, 自定义一个内网服务器也是可以的

  图形界面安装完成:

      CentOS 6.9 CentOS 7.4 自动安装系统 kickstart


制作Linux自动安装盘(完整安装盘)步骤:

  1. 挂载完整版安装光盘, 这里我们以CentOS 7 为例 (懒得下载CentOS 6的镜像了)

    注意: 既然以CentOS 7 为例, 那么我们的操作也要在CentOS 7 上进行, kickstart也要安装上去

  2.复制光盘完整内容至/root/myiso下

     cp -r /tmp/myiso/ /root/ 

  3.制作ks文件, 复制到 /root/myiso/ks/ 下

    这里有一个需要注意的地方, 在CentOS7上, 如果kickstart界面的Package页面没有显示, 请修改yum仓库中的[base] 项为 [development] 就可以了

  4.修改 /root/myiso/isolinux/isolinux.cfg , 修改请参照上面的方法, 修改默认项, 添加ks路径 ks=cdrom:/ks/ks7_mini.cfg 

    注意: 对于CentOS 7, 它的原生isolinux.cfg中, 其中一段Label如下:

label linux
  menu label ^Install CentOS 7
  kernel vmlinuz
  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
====================
  append initrd=initrd.img ks=cdrom:/ks/ks7_mini.cfg --> 这里, 要去掉inst.stage2选项, 暂时还没有弄明白是干嘛的, 不过有了它还需要少许的人工操作

 

  5.进入yum仓库元数据路径 /root/myiso/repodata 

-16-[root@vm]15:15 ~/myiso # ls
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  ks  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL
-17-[root@vm]15:15 ~/myiso # cd repodata/
-18-[root@vm]15:19 ~/myiso/repodata # ls
0c34273ad0292747ee5e15c047d3e51c67ca59861a446972db45d71abacc7ad7-primary.sqlite.bz2      a0af68e1057f6b03a36894d3a4f267bbe0590327423d0005d95566fb58cd7a29-other.xml.gz      repomd.xml
38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml     b686d3a0f337323e656d9387b9a76ce6808b26255fc3a138b1a87d3b1cb95ed5-primary.xml.gz    repomd.xml.asc
6cd606547d4f569538d4090e9accdc3c69964de1116b9ab1e0a7864bb1f3ec98-filelists.sqlite.bz2    c1561546c684bd06b3a499c2babc35c761b37b2fc331677eca12f0c769b1bb37-filelists.xml.gz  TRANS.TBL
9346184be1deb727caf4b1ecf4a7949155da5da74af9b92c172687b290a773df-c7-x86_64-comps.xml.gz  cf0cc856d46b3095106da78256fb28f9d8defea4118d0e75eab07dc53b7d3f0d-other.sqlite.bz2
-19-[root@vm]15:19 ~/myiso/repodata # ll
total 27236
-rw-r--r-- 1 root root 6023293 May 25 14:18 0c34273ad0292747ee5e15c047d3e51c67ca59861a446972db45d71abacc7ad7-primary.sqlite.bz2
-rw-r--r-- 1 root root  751786 May 25 14:18 38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml
-rw-r--r-- 1 root root 7019993 May 25 14:18 6cd606547d4f569538d4090e9accdc3c69964de1116b9ab1e0a7864bb1f3ec98-filelists.sqlite.bz2
-rw-r--r-- 1 root root  159667 May 25 14:18 9346184be1deb727caf4b1ecf4a7949155da5da74af9b92c172687b290a773df-c7-x86_64-comps.xml.gz
-rw-r--r-- 1 root root 1564207 May 25 14:18 a0af68e1057f6b03a36894d3a4f267bbe0590327423d0005d95566fb58cd7a29-other.xml.gz
-rw-r--r-- 1 root root 2830583 May 25 14:18 b686d3a0f337323e656d9387b9a76ce6808b26255fc3a138b1a87d3b1cb95ed5-primary.xml.gz
-rw-r--r-- 1 root root 6936336 May 25 14:18 c1561546c684bd06b3a499c2babc35c761b37b2fc331677eca12f0c769b1bb37-filelists.xml.gz
-rw-r--r-- 1 root root 2579184 May 25 14:18 cf0cc856d46b3095106da78256fb28f9d8defea4118d0e75eab07dc53b7d3f0d-other.sqlite.bz2
-rw-r--r-- 1 root root    3735 May 25 14:18 repomd.xml
-rw-r--r-- 1 root root     811 May 25 14:18 repomd.xml.asc
-r--r--r-- 1 root root    2801 May 25 14:18 TRANS.TBL
-20-[root@vm]15:19 ~/myiso/repodata # cp 38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml /root/
-21-[root@vm]15:20 ~/myiso/repodata # rm -fr * --> 删除当前目录下除掉*.xml的所有文件
-22-[root@vm]15:20 ~/myiso/repodata # ll
total 0
-24-[root@vm]15:22 ~/myiso/repodata # cp /root/38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml . 

    重建repo元数据

-27-[root@vm]15:27 ~/myiso/repodata # cd ..
-28-[root@vm]15:27 ~/myiso # ls
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  ks  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL
-29-[root@vm]15:27 ~/myiso # createrepo -g repodata/38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml .
Spawning worker 0 with 1599 pkgs
Spawning worker 1 with 1599 pkgs
Spawning worker 2 with 1599 pkgs
Spawning worker 3 with 1598 pkgs
Spawning worker 4 with 1598 pkgs
Spawning worker 5 with 1598 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

  6. 删除不需要的文件

    TRANS.TBL  find -name TRANS.TBL -exec rm {} \; 

  7.制作映像文件

     mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 7 x86_64 Everything" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/CentOS7-Auto-Everything.iso /root/myiso/ 

  8. xftp 导出来, 再挂载到VMware上, 看看效果如何

  CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

 CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

CentOS 6.9 CentOS 7.4 自动安装系统 kickstart

安装完成, 成功点亮.


至此, 文章结束, 最终结果还是个半自动安装:

  1.把这个镜像使用软碟通或者别的软件或者dd 放进U盘

  2.设置bios启动顺序为U盘

  3.点击方向键下-->回车-->大佬请喝茶-->茶喝好了就装好了

 

其实这个东东一点也不难, 前提是你得拥有丰富的windows安装经验....


 

添加一些笔记类的文本:

制作Linux自动安装iso包-CentOS6


制作引导光盘和U盘
    创建引导光盘:
        mkdir -pv /app/myiso
        cp -r /misc/cd/isolinux/ /app/myiso/
        vim /app/myiso/isolinux/isolinux.cfg
            initrd=initrd.img text ks=cdrom:/myks.cfg
        cp /root/myks.cfg /app/myiso/
        mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /app/myiso/
        注意: 以上相对路径都是相对于光盘的根, 和工作目录无关
    创建U盘启动盘
        dd if=/dev/sr0 of=/dev/sdb
应答文件的建立:
    安装kickstart
    在图形界面下使用 system-config-kickstart 编辑安装选项
        语言-键盘-root密码-系统架构-自动Reboot-不启动图形界面
        安装方法
        分区: 清除MBR, 删除所有分区, 删除所有卷标, 设置文件系统分区等
        网络设置: DHCP等设置
        验证方法: 本地验证, 一般不动
        防火墙: 禁用
        显示: 是否安装图形界面
        rpm包的选择--> 基于repo
        安装前脚本 --> 一般不用
        安装后脚本:
            #直接配置yum
            mkdir /etc/yum.repos.d/bak
            mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
            cat > /etc/yum.repos.d/base.repo << EOF
            [base]
            name=CentOS- Base - 163.com
            baseurl=http://mirrors.163.com/centos/7/os/x86_64/
            gpgcheck=0
            EOF
            #添加用户等等操作
        保存为ks6_mini.cfg等

    使用ksvalidator ks6_mini.cfg 检查语法问题
    
    注意: 此处 CentOS 7 使用kickstart, 需要先配置 repo中的 [base] 为 [development], 否则无法使用Packages选项卡
    
    此处基于httpd服务, 将文件放置于某服务器上, 而后, 由安装光盘启动到安装页面, 在grub页面, 按ESC, 输入; linux ks=http://host:port/ks_file; 回车即可自动启动安装

        指明ks文件的位置: ks=
            DVD drive: ks=cdrom:/PATH/TO/ks_file
            HARD drive: ks=hd:device:/PATH/TO/ks_file
            HTTP server: ks=http://host:port/PATH/TO/ks_file
            FTP server: ks=ftp://host:port/PATH/TO/ks_file
            HTTPS server: ks=https://host:port/PATH/TO/ks_file
            NFS server : ks=nfs:host:/PATH/TO/ks_file
        kickstart文件的格式:
            命令段:
                指明各种安装前配置, 如键盘类型等
                必备命令:
                    authconfig: 认证方式配置
                        authconfig --useshadow --passalgo=sha512
                    bootloader: bootloader的安装位置及相关位置
                        bootloader --location=mbr --dirveorder=sda -append="crashkernel=auto rhgb quiet"
                        keyboard: 设定键盘类型
                        lang: 语言类型
                        part: 创建分区
                        rootpw: 指明root的密码
                        timezone: 时区
            程序包段: 指明要安装的程序包组或程序包, 不安装的程序包等
                %package
                @group_name
                package
                -package  --> 不想装的包
                %end
            脚本段:
                %pre: 安装前脚本
                    运行环境: 运行于安装介质上的微型Linux环境
                %post: 安装后脚本
                    运行环境: 安装完成的系统
系统光盘中isolinux目录列表--> 位于cdrom中的isolinux/下
    solinux.bin: 光盘引导程序, 在mkisofs的选项中需要明确给出文件路径, 这个文件属于SYSLINUX项目
    isolinux.cfg: isolinux.bin的配置文件, 当官潘启动后(即运行isolinux.bin), 会自动去找isolinux.cfg文件
    vesamenu.c32: 是光盘启动后的安装图形界面, 也属于SYLINUX项目, menu.c32版本是纯文本的菜单
    Memtest: 内存检测, 是一个独立程序
    splash.jpg: 光盘启动界面的背景图
    vmlinuz是内核映像
    initrd.img是ramfs(先cpio,再gzip压缩)




创建全自动光盘映像

    挂载安装光盘
    完全复制安装光盘下的所有文件到某个目录
        例如 cp -r /dev/cdrom/ /tmp/myiso/
    拷贝应答文件ks_file到/tmp/myiso/ksdir
        cp ks_file /tmp/myiso/ksdir
    编辑菜单文件

    
        vim /tmp/myiso/isolinux/isolinux.cfg
            default vesamenu.c32
            #prompt 1
            timeout 600

            display boot.msg

            menu background splash.jpg
            menu title Welcome to CentOS 6.9! --> 修改标题
            menu color border 0 #ffffffff #00000000
            menu color sel 7 #ffffffff #ff000000
            menu color title 0 #ffffffff #00000000
            menu color tabmsg 0 #ffffffff #00000000
            menu color unsel 0 #ffffffff #00000000
            menu color hotsel 0 #ff000000 #ffffffff
            menu color hotkey 7 #ffffffff #ff000000
            menu color scrollbar 0 #ffffffff #00000000

            label linux
                menu label ^Install or upgrade an existing system
                menu default
                kernel vmlinuz
                append initrd=initrd.img
            label vesa
                menu label Install system with ^basic video driver
                kernel vmlinuz
                append initrd=initrd.img nomodeset
            label rescue --> 救援模式, 删除
                menu label ^Rescue installed system
                kernel vmlinuz
                append initrd=initrd.img rescue
            label local --> 设为默认选项
                menu label Boot from ^local drive
                localboot 0xffff
            label memtest86 --> 删除
                menu label ^Memory test
                kernel memtest
                append -

        修改label
            label local --> 设置默认启动为本地磁盘系统(如果有的话)
                menudefault
                menu label Boot From ^local drive
                localboot 0xffff
            label desktop
                menu label Install an ^desktop system
                kernel vmlinuz
                append initrd=initrd.img ks=cdrom:/PATH/TO/ks_file --> 加上ks 应答
             label mini
                menu label Install ^mini system
                kernel vmlinuz
                append initrd=initrd.img ks=cdrom:/PATH/TO/ks_file --> 加上ks应答

    mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 6.9 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/boot.iso /app/myiso/
        mkisofs选项:
            -o 指定映像文件的名称
            -b 指定在制作可开机光盘时所需的开机映像文件
            -c 制作可开机光盘时, 会将开机映像文件中的no-eltorito-catalog全部内容做成一个文件
            -no-emul-boot 非模拟模式启动
            -boot-load-size 4 设置载入部分的数量
            -boot-info-table 在启动的图像中显示信息
            -R 或 -rock 使用Rock RidgeExtensions
            -J 或 -joliet 使用Joliet格式的目录与文件名称
            -v 或 -verbose 执行时显示详细信息
            -T 或 -translation-table 建立文件名的转换表, 适用于不支持Rock Ridge Extension 的系统上
    经过这条命令, 一个启动盘就已经做好了, 当然在ks中要设置安装源, 本地的或者是cdrom的或者是Internet上的

 

相关文章:

  • 2021-06-27
  • 2021-11-18
  • 2018-05-17
  • 2021-12-28
  • 2021-09-22
  • 2021-08-30
  • 2021-11-28
  • 2021-09-24
猜你喜欢
  • 2021-07-11
  • 2020-10-01
  • 2021-09-27
  • 2021-04-25
  • 2021-11-14
  • 2021-11-06
  • 2021-12-04
相关资源
相似解决方案