通過ks文件 實現 CentOS 6.9 & 7.4 自動安裝系統
環境: 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.
-
什么是kickstart?
- kickstart, 生成自動配置文件, 即應答文件,達到在安裝系統時無須人工干預的目的
- 需要在圖形界面下啟動; 當然也可以在命令行下復制編輯 /root/anaconda-ks.cfg 文件, kickstart的最終目的也是生成一個這樣的文件
- 安裝方法:
yum -y groupinstall Desktop --> 如果你沒有圖形界面的話 startx & --> 啟動圖形界面, 並且在圖形界面啟動一個Terminal
yum -y install system-config-kickstart --> 安裝kickstart, 是的, kickstart的安裝包就叫做這么一長串名字 system-config-kickstart --> 命令行直接輸入啟動, 或者在圖形界面下的左上角 Applications ->System Tools -> kickstart 啟動, 即上圖 Terninal 的上一個選項
-
配置ks應答文件, 圖片太多, 所以做成了gif, 2s/幀, 共12張
-
現在有了ks文件, 我們保存為 /root/ks6_mini.cfg 作為安裝CentOS 最小系統的應答文件好了, 但是這個文件要放在哪里呢?
- 跟安裝鏡像一塊, 燒錄在硬盤里, 更改grub目錄菜單(后面會有提到);
- 剛好還有一台虛擬機上裝了apache, 那么我們就直接甩到網頁上好了;
- centos 7 上的, 干凈httpd服務, 啥也沒有
systemctl start httpd sftp 192.168.142.142:/root/ks6_mini.cfg --> 獲取ks文件到$pwdcp ks6_mini.cfg /var/www/html/
-
設置應答文件位置
- 新建虛擬機 -> 掛載正常安裝光盤 -> 啟動虛擬機, 進入安裝界面 -> 按Tab鍵 -> 在內核設置后, 加上 ks=http://192.168.142.128/ks6_mini.cfg
- 回車, ok, 自動安裝開始, 需要注意的是, ks使用http方式獲取, 需要正確配置網卡以便能到達這個網址, 否則 安裝過程中會停下來, 問你要這個地址的
- 新建虛擬機 -> 掛載正常安裝光盤 -> 啟動虛擬機, 進入安裝界面 -> 按Tab鍵 -> 在內核設置后, 加上 ks=http://192.168.142.128/ks6_mini.cfg
上面這種安裝方式, 只能稱作為半自動安裝, 因為需要手動干預輸入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拷貝出來, 掛載到新建的虛擬機光盤上, 啟動之, 效果如下:
可以看到, 安裝已經開始, 全部要做的工作就是掛載啟動盤, 選擇安裝最小版或圖形版本
--> 注意: 此處需要當前待安裝系統的主機能夠連接到阿里雲鏡像服務器,如果不能連接外網, 自定義一個內網服務器也是可以的
圖形界面安裝完成:
制作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上, 看看效果如何
安裝完成, 成功點亮.
至此, 文章結束, 最終結果還是個半自動安裝:
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上的