我想将 Ubuntu 13.04 Server 版本 ISO 映像放入 USB 驱动器,然后借助该 USB 驱动器自动安装。
我执行以下步骤:
(1)格式化 pendrive,假设我的 pendrive 在系统中识别为 /dev/sdb,我写了这个命令
sudo mkfs.ext3 /dev/sdb
(2)然后我在 pendrive 上安装 grub2 (我使用 grub2 是因为它可以直接读取 ISO 映像文件而无需将其内容提取到 usbdrive)
sudo mount /dev/sdb /mnt/USB
sudo grub-install --force --no-floppy --boot-directory=/mnt/USB/boot /dev/sdb
(3)现在我想执行自动安装,我创建了一个预配置文件并将其命名为 preseed.cfg,我有两个选项,第一,将此文件放入 initrd.lz 中,然后安装程序将自动加载此文件,我尝试了这个但没有成功,所以我尝试了第二种方法,将 preseed.cfg 文件放到 usbdrive 的根目录下。
sudo cp preseed.cfg /mnt/USB
(4)现在我将 ubuntu iso 映像复制到 usbdrive。
cp ubuntu.iso /mnt/USB
(5)我修改了 grub2,以便它能够读取 ubuntu iso 映像,我做了以下更改
cd /mnt/USB/grub
sudo nano grub.cfg
(6)grub.cfg的格式
set timeout=10
set default=0
menuentry "Run Ubuntu Live ISO" {
loopback loop /ubuntu.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso splash --
initrd (loop)/casper/initrd.lz
}
(7)我已经修改了 isolinux 文件夹下的 txt.cfg 并重新制作了 ISO 映像,txt.cfg 的格式
default autoinstall
label autoinstall
menu label ^Install Ubuntu
kernel /casper/vmlinuz.efi
append file=/cdrom/preseed/preseed.cfg boot=casper initrd=/casper/initrd.lz quiet splash --
preseed/file=/hd-media/preseed.cfg
(8)preseed.cfg的格式
#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T
#System language
lang en_US
#Language modules to install
langsupport en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone America/Los_Angeles
#Root password
rootpw --iscrypted somethingsomething
#Initial user
user ubuntu --fullname "ubuntu" --iscrypted --password somethingsomething.
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use CDROM installation media
cdrom
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --size 128 --fstype=ext3 --asprimary
part / --size 512 --fstype=ext3 --asprimary
part swap --size 512
part /tmp --size 512 --fstype=ext3
part /var --size 512 --fstype=ext3
part /usr --size 4096 --fstype=ext3
part /home --size 2048 --fstype=ext3
#System authorization infomation
auth --useshadow --enablemd5
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --disabled --http --ftp --ssh
#X Window System configuration information
xconfig --depth=32 --resolution=1024x768 --defaultdesktop=GNOME
%post
apt-get update
apt-get upgrade
apt-get install apache2
mkdir /home/user
但是当我将 U 盘插入新电脑并在 grub 加载时选择安装 ubuntu 时,安装加载时不会读取 preseed.cfg,有什么方法可以纠正这个问题吗?