如何借助USBDRIVE实现ubuntu自动安装?

如何借助USBDRIVE实现ubuntu自动安装?

我想将 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,有什么方法可以纠正这个问题吗?

相关内容