制做OEL/CentOS linux三合一U盘安装盘

简介:

一次出差去客户现场安装新买的IBM服务器,没想到服务器没有配置光驱,现场没有USB光驱,那次安装折腾的够戗,于是下定决心制作U盘安装盘,经过多次安装摸索。成功实现oel5.8,centos5.8,oel6.3U盘安装的制做。记录过程如下。


一、分区准备

1.  安装前准备:

1). 金士顿 16G U盘
2). Windows版的syslinux.exe
3). Centos5.8 X64 系统DVD版ISO文件
4). OEL5.8 X64 系统DVD版ISO文件
5). OEL6.3 X64 系统DVD版ISO文件
6). Linux系统平台(或采用linux虚拟机)


2. U盘安装达到的效果:

1). 自动/手动U盘安装OEL 5.8 X64位版本
2). 自动/手动U盘安装CentOS5.x 64位版本
3). 手动U盘安装OEL 6.3 X64位版本


3. U盘安装命名规则

1) U盘插在服务器上应该被认成时sdb, 在上面准备的linux系统上进行分区,将16G U盘划分为4个分区(/dev/sdb1,/dev/sdb2,/dev/sdb3,/dev/sdb4)

说明: Linux对U盘进行分区后的U盘插在Windows 7系统上无任何问题,相反在Windows上进行分区后,U盘打开后会提示需要修复等问题,且打开U盘慢。

2) U盘分区方案

分区名          分区大小          分区类型
------------------------------------------
sdb1              1.7G              msdos
sdb2              4.2G              ext2
sdb3              3.9G              ext2
sdb4              4.6G              ext2

3) 分区使用情况

sdb1: 用于引导,划分1.7GB还可以存储一些资料当U盘使用。
sdb2: 用于放OEL5.8 X64 ISO文件
sdb3: 用于放OEL6.3 X64 ISO文件
sdb4: 用于放CentOS5.8 X64 ISO文件

说明:由于想sdb1分一些空间当U盘用,造成分区后空间基本用完。


二、开始分区

1.  将U盘插入电脑

1) 本文是采用VMware workstation方式进行的,将U盘插入电脑USB插口。
2) 点击VMware workstation菜单"虚拟机","可移动设备","Kingston U盘->与主机进行连接"。
3) 登录虚拟机中,就出现U盘/dev/sdb磁盘


2.  进行分区

# fdisk /dev/sdb
The number of cylinders for this disk is set to 11114.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs(e.g., DOS FDISK, OS/2 FDISK)

分区过程略
执行 n p 进行分区,分完后w退出fdisk 。

Command (m for help): p

Disk /dev/sda: 15.5 GB, 15510536192 bytes
90 heads, 26 sectors/track, 12946 cylinders
Units = cylinders of 2340 * 512 = 1198080 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        1503     1758497   83  Linux
/dev/sdb2            1504        5260     4395690   83  Linux
/dev/sdb3            5261        8808     4151160   83  Linux
/dev/sdb4            8809       12946     4841460   83  Linux


3.  格式化分区

# mkfs.msdos /dev/sdb1
# mkfs.ext2 /dev/sdb2
# mkfs.ext2 /dev/sdb3
# mkfs.ext2 /dev/sdb4

# partprobe


4.  准备挂载分区目录

# mkdir -p /mnt/usb1 
# mkdir -p /mnt/usb2 
# mkdir -p /mnt/usb3 
# mkdir -p /mnt/usb4 
# mkdir -p /mnt/iso

上面为挂载目录,下面为ISO存储目录
 
# mkdir -p /iso


5.  上传ISO文件到/iso目录下

/iso/OracleLinux-R5-U8-Server-x86_64-dvd.iso
/iso/OracleLinux-R6-U3-Server-x86_64-dvd.iso
/iso/CentOS-5.8-x86_64-bin-DVD-1of2.iso


三、开始制作

1.  挂载目录

# mount /dev/sdb1 /mnt/usb1
# mount /dev/sdb2 /mnt/usb2
# mount /dev/sdb3 /mnt/usb3
# mount /dev/sdb4 /mnt/usb4


2.  复制ISO文件操作

# cp /iso/OracleLinux-R5-U8-Server-x86_64-dvd.iso /mnt/usb2/
# cp /iso/OracleLinux-R6-U3-Server-x86_64-dvd.iso /mnt/usb3/
# cp /iso/CentOS-5.8-x86_64-bin-DVD-1of2.iso /mnt/usb4/


3.  挂载OEL5.8X64 ISO

说明: 准备采用OEL5.8X64的引导文件来实现所有系统的引导安装。

# mount -o loop /iso/OracleLinux-R5-U8-Server-x86_64-dvd.iso /mnt/iso

# cd /mnt/iso
# cp -a isolinux /mnt/usb1/
# mv /mnt/usb1/isolinux /mnt/usb1/syslinux 
# cd /mnt/usb1/syslinux
# mv isolinux.cfg syslinux.cfg


4.  挂载OEL6.3X64 ISO

说明: OEL6.3X64的引导文件来实现所有系统的引导安装。

# umount /mnt/iso
# mount -o loop /iso/OracleLinux-R6-U3-Server-x86_64-dvd.iso /mnt/iso

# cd /mnt/iso

说明1: 拷贝images到/dev/sda3分区,就是放OEL6.3 ISO目录下,这一步必须,否则无法通过本地磁盘加载iso文件进行导入,并会出错退出。
说明2: OEL6.3在普通电脑上进行测试时为将U盘认为/dev/sda,自己可以实现识别。

# cp -a images /mnt/usb3/

# cd /mnt/iso/isolinux
# cp vmlinuz /mnt/usb1/syslinux/oel63vmlinuz
# cp initrd.img /mnt/usb1/syslinux/centosinitrd.img


5.  挂载CentOS5.8 X64 ISO

说明: CentOS5.8 X64的引导文件来实现所有系统的引导安装。

# umount /mnt/iso
# mount -o loop /iso/CentOS-5.8-x86_64-bin-DVD-1of2.iso /mnt/iso

# cd /mnt/iso

说明:

# cd /mnt/iso/isolinux
# cp vmlinuz /mnt/usb1/syslinux/centosvmlinuz
# cp initrd.img /mnt/usb1/syslinux/centosinitrd.img

查看挂载情况

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       38G  2.3G   34G   7% /
/dev/hda1              99M   12M   82M  13% /boot
tmpfs                 345M     0  345M   0% /dev/shm
/dev/sda1             1.7G  155M  1.6G  10% /mnt/usb1
/dev/sda2             4.2G  3.7G  295M  93% /mnt/usb2
/dev/sda3             3.9G  3.7G   75M  99% /mnt/usb3
/dev/sda4             4.6G  4.3G   32M 100% /mnt/usb4
/iso/OracleLinux-R5-U8-Server-x86_64-dvd.iso
                      3.7G  3.7G     0 100% /mnt/iso


6.  修改sysconfig.cfg文件

# vi /mnt/usb1/syslinux/syslinux.cfg

default linux
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
  kernel vmlinuz
  append ks=hd:sdb1:/oel58h.cfg initrd=initrd.img
label auto
  kernel vmlinuz
  append ks=hd:sdb1:/oel58auto.cfg initrd=initrd.img
label oel63
  kernel oel63vmlinuz
  append ks=hd:sda1:/oel63h.cfg initrd=oel63initrd.img
label centos
  kernel centosvmlinuz
  append ks=hd:sdb1:/cent58auto.cfg initrd=centosinitrd.img
label hand
  kernel centosvmlinuz
  append ks=hd:sdb1:/cent58h.cfg initrd=centosinitrd.img
label local
  localboot 1
label memtest86
  kernel memtest
  append -


说明: 
每个系统都是采用自己的内核与启动文件进行启动,这样就可以实现多系统的安装。


7.  创建自动与手动ks配置文件

说明: kickstart文件可以直接采用自己安装成功/root/anaconda-ks.cfg的文件进行修改,
也可以用别人直接修改使用。

(1) OEL5.8手动ks文件

# vi /mnt/usb1/oel58h.cfg 
install
harddrive --partition=sdb2 --dir=/

说明: 
1). 通过ks文件可以直接定位iso文件位置,无需要手动选择local disk,然后选择iso磁盘。
2). 如果ks文件指定目录错误,也可以通过手动选择local disk,然后选择iso磁盘的方式进行安装。


(2) CentOS 5.8手动ks文件

# vi /mnt/usb1/cent58h.cfg 
install
harddrive --partition=sdb4 --dir=/


(3) OEL5.8手动ks文件

# vi /mnt/usb1/oel63h.cfg 
install
harddrive --partition=sdb3 --dir=/


(4) OEL5.8自动ks文件

# vi /mnt/usb1/oel58auto.cfg

install
harddrive --partition=sdb2 -dir=/
lang zh_CN.UTF-8
keyboard us
xconfig --startxonboot
network --device eth0 --bootproto static --ip 192.168.14.100 --netmask 255.255.255.0 --gateway 192.168.14.2 --nameserver 202.100.192.68 --hostname oa
rootpw --iscrypted $1$H0bnNoWM$HE1R/mWv6LqbhUGI8Xw/t.
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --linux
part /boot --fstype ext3 --size=100
part pv.3 --size=100 --grow
volgroup vg --pesize=32768 pv.3
logvol swap --fstype swap --name=swap --vgname=vg --size=6112
logvol / --fstype ext3 --name=root --vgname=vg --size=14240

%packages
@admin-tools
@base
@chinese-support
@core
@development-libs
@development-tools
@dialup
@editors
@gnome-desktop
@games
@graphical-internet
@graphics
@java
@legacy-software-development
@legacy-software-support
@office
@printing
@sound-and-video
@text-internet
@base-x
system-config-kickstart
kexec-tools
iscsi-initiator-utils
fipscheck
squashfs-tools
device-mapper-multipath
sgpio
imake
emacs
libsane-hpaio
xorg-x11-utils
xorg-x11-server-Xnest
xorg-x11-server-Xvfb
%post
service sendmail stop


8.  将U盘退出虚拟机

(1) 从虚拟机中退出U盘

1) 点击VMware workstation菜单"虚拟机","可移动设备","Kingston U盘->与主机断开连接"。
2) windows中"我的电脑"就出现U盘图示,认出了1.7GB的磁盘空间,或也可以将U盘插入其它window电脑上。


(2) 写入引导信息

需要下载syslinux工具写入mbr引导信息与ldlinux.sys引导文件(系统隐藏)在msdos分区上。
win7必须管理员权限下执行cmd操作才能成功,64位系统选择win64目录的工具。

syslinux下载地址: http://www.kernel.org/pub/linux/utils/boot/syslinux/4.xx/syslinux-4.04.zip

cmd中
d:
cd \syslinux-4.04\win32
syslinux.exe -a -m i:


四、 安装测试

1.  重启BIOS中设置USB-HDD启动

输入oel即可进行OEL5.8手动安装测试


2.  修改启动菜单进行个性化提示界面

# vi /mnt/usb1/syslinux/boot.msg


3. 其它维护

如果要安装其它版本的linux系统,可以直接替换ISO文件以及启动内容文件即可。

 

本文转自 koumm 51CTO博客,原文链接:http://blog.51cto.com/koumm/1102463,如需转载请自行联系原作者


相关文章
|
2月前
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
962 1
linux centos上安装python3.11.x详细完整教程
|
3月前
|
安全 Linux
Linux Centos通过mail向QQ邮箱发邮件
【8月更文挑战第20天】在 CentOS 上配置使用 `mail` 命令向 QQ 邮箱发送邮件涉及几个步骤。首先确保已安装 `mailx`;接着编辑 `/etc/mail.rc` 文件来配置发件信息,包括设置发件邮箱、SMTP 服务器及授权码。最后,通过 `echo` 命令结合 `mail` 发送邮件。需登录 QQ 邮箱开启 SMTP 服务并获取授权码用于安全验证。
184 3
|
3月前
|
安全 关系型数据库 MySQL
Linux(CentOS6)安装MySQL5.6
Linux(CentOS 6)系统上安装MySQL 5.6版本的详细步骤,包括准备数据存放目录、创建用户、下载安装包、初始化数据库、配置服务脚本、设置环境变量等操作。
363 1
|
26天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
215 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
83 1
Linux系统之Centos7安装cockpit图形管理界面
|
1月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
65 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
1月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
720 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
1月前
|
存储 网络协议 Linux
AWS实操-EC2-创建购买linux(centos)EC2服务器
AWS实操-EC2-创建购买linux(centos)EC2服务器
|
2月前
|
NoSQL Linux Redis
linux之centos安装redis
linux之centos安装redis
|
2月前
|
Linux Python
Linux之centos安装clinkhouse以及python如何连接
Linux之centos安装clinkhouse以及python如何连接
下一篇
无影云桌面