定制CentOS 7.1系统使用U盘安装

2016年10月21日14:12:28 评论 7,824

一、初衷和目标

之前有分享过如果定制CentOS 7.1系统,传送门->制作CentOS 7一键自安装ISO镜像光盘,但是格式是ISO的;然而公司在实际运用的时候很多驻点并没有配备光驱光盘,这就导致了拿到了ISO还得去刻盘,浪费了很多不必要的时间。于是就萌生了通过U盘安装的方法,驻点只需要通过软件就可以把ISO转换到U盘中,通过U盘进行安装。废话不多说下面开始操作:

二、操作说明

1、在本地电脑下载安装Live USB Creator

URL:https://fedorahosted.org/releases/l/i/liveusb-creator/ 挑选最新的exe文件下载;按照提示默认安装完成。

2、制作U盘启动

2.1、U盘插入电脑并格式化成FAT32格式;

2.2、打开Live USB Creator软件;

2.3、查看U盘是否有在Target Device中识别出,如果没有识别出点击右边的刷新按钮试试;

2.4、设置Persistent Storage,预留个100-200M就可以了;

2.5、最后点击Create Live USB按钮开始创建,创建完成后如下图:

定制CentOS 7.1系统使用U盘安装

三、U盘目录树

创建好的U盘目录树如下:

定制CentOS 7.1系统使用U盘安装

从上图可以看出U盘目录和ISO的目录区别:

1、多了个boot文件夹,用于U盘引导;

2、ISO中的isolinux文件夹重命名成了syslinux,其里面的isolinux.cfg文件也重命名成了syslinux.cfg

3、其中的ISO文件夹需要手动创建,把ISO文件再拷贝一份放在里面,用于放置完整安装的ISO 映像文件;

4、如果U盘容量不大的话可以吧Packages文件夹删除

四、修改配置文件

这边主要需要修改的是ks.cfg和syslinux.cfg两个文件。

ks.cfg:

1、替换cdrom

把引导装载程序由cdrom改为harddrive --partition=sdb1 --dir=/ISO;其中partition=sdb1为U盘被识别成sdb1(建议安装时机器只保留一个系统盘,这样U盘就会默认被识别成sdb1);dir=/ISO为完整安装的ISO 映像文件目录

2、修改bootloader配置

由bootloader --location=mbr改为bootloader --location=mbr --driveorder=sda --boot-drive=sda
其中boot-drive为指定引导装载程序要写入的驱动器;driveorder为指定在 BIOS引导顺序中的首选驱动器

3、挂载U盘(如果你的ks.cfg脚本不需要额外安装一些自定义脚本,这边可以忽略)

把之前挂载ISO的命令改成挂载U盘命令

mkdir -p /mnt/usb

mount -t vfat  /dev/sdb1 /mnt/usb

cp /mnt/usb/scripts/* /mnt/sysimage/tmp/

cp /mnt/usb/base/* /mnt/sysimage/tmp/

umount /mnt/usb

4、硬盘分区,把>>修改为>,如下图红框(如果你的硬盘分区跟我的不一样这里也可以忽略)

定制CentOS 7.1系统使用U盘安装

syslinux.cfg

修改ks.cfg引导方式

由光驱引导append ks=cdrom:/ks.cfg initrd=initrd.img改为硬盘引导append ks=hd:sdb1:/ks.cfg initrd=initrd.img

FAQ:

1、当系统盘是ssd时,把U盘识别成sda

在测试环境测试的时候遇到当系统盘为ssd时,系统会把U盘识别成sda,而系统盘识别成sdb,这样就导致系统找不到ks安装路径,如下图:

定制CentOS 7.1系统使用U盘安装

解决办法:

1、修改ks.cfg和syslinux.cfg文件,把有写sdb和sda的对换,如:

harddrive --partition=sdb1 --dir=/iso修改为harddrive --partition=sda1 --dir=/iso

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: