一次出差去客戶現場安裝新買的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文件以及啟動內容文件即可。