以前习惯用UltraISO软件把下载的ISO文件刻录到U盘安装,很简单、方便。但悲剧的是自ubuntu10.04、fedora14、archlinux-2011-08-19以后的版本好像都不支持这种方法了。
这里分享一下我使用的两种从U盘安装系统的新方法,方法一最为简单,但是执行后会破坏U盘中保存的数据,而且一次只能安装一个系统;方法二复杂些,但是不用格式化U盘中已有数据,而且支持安装多个系统。这里假设你的U盘设备是/dev/sdb,它的一个分区为/dev/sdb1.(你需要根据自己的情况修改这两个参数)。方法一:“简单的要死”: 先确保U盘没有被挂载到系统中(可以用不带参数的mount命令查看),然后执行:
1 #dd if=of=/dev/sdb bs=4M
OK,重启,设置BIOS先从USB设备启动即可。
注意: 1.在使用dd前要备份U盘中的数据,否者执行后这些数据会丢失。 2.确保ISO文件小于U盘的容量。 3.of=/dev/sdb 这里是sdb而不是sdb1, sdb2....,使用sdbn是一个常见的错误。 4.bs=4M参数可选,使用它可以加快复制速度。方法二:“复杂的要命”: 方法二需要五步完成: 1.下载各安装文件,包括系统的ISO文件,以及特殊安装所需的vmlinuz和initrd文件(后文解释)。 2.挂载U盘,将以上三个文件拷贝到U盘目录中。 3.安装GRUB到U盘中。 4.重启,设置BIOS先从USB设备启动。 5.不出意外的话,会进入Grub命令行界面(这是因为我们载第三步中没有创建Grub配置文件),这时我们手动指定vmlinuz和initrd文件。然后输入boot回车,启动系统安装过程。
在使用方法二时要区分安装的类型:网络安装和本地安装,前者不需要下载ISO文件,后者需要下载。(这是因为本地安装不需联网环境,安装所需的各软件包都在ISO文件中。)
下面分别以ubutu和fedora为例,介绍方法二的安装步骤。 1.下载各安装文件,并复制到U盘中: 1) ubuntu: + 若网络安装ubuntu,只需下载对应版本的mini.iso文件即可。例如,安装ubuntu12.04时该文件在源服务器的下面路径中: oneiric/main/installer-i386/current/images/netboot/ - 提取mini.iso中的linux和initrd.gz文件,保存到U盘的ubuntu目录中:
1 #mount -o loop/mnt2 #mkdir /mnt/ubuntu-netboot3 #cp /mnt/linux /mnt/ubuntu-netboot/vmlinuz #重命名(可选,为了统一)4 #cp /mnt/initrd.gz /mnt/ubuntu-netboot/initrd.gz
+若本地安装ubuntu,需要下载三个文件,系统ISO文件,支持硬盘安装的vmlinuz和initrd文件,它们载服务器上的路径为:
oneiric/main/installer-i386/current/images/hd-media/ #目录下有vmlinuz和initrd.gz文件 11.10/release/ #目录下有要下载的ISO系统文件(三个文件的版本号一定好相符,这里为11.10与oneiric)。 - 下载上面三个文件,复制到U盘中(下面以ubuntu11.10为例):1 # mkdir /mnt/ubunt-hardisk2 # wget ttp://ubuntu.uestc.edu.cn//ubuntu/dists/oneiric/main/installer-i386/current/images/hd-media/{vmlinuz,initrd.gz} /mnt/ubuntu-hardisk/3 # wget http://cdimage.ubuntu.com/releases/11.10/release/ubuntu-11.10-dvd-i386.iso /mnt/
2) fedora:
fedora的网络安装和本地安装使用的vmlinuz和initrd文件相同,只是后则还需要下载一个ISO系统文件。 + 下载vmlinuz和initrd文件,它们在服务器上的路径为: -下载这两个文件,保存到U盘中:1 #mkdir /mnt/fedora-netboot2 # wget http://mirrors.ustc.edu.cn/fedora/linux/releases/16/Fedora/i386/os/isolinux/{vmlinuz,initrd.img} /mnt/fedora-boot
+ 若本地安装,还需下载对应的ISO文件:
1 #wget http://mirrors.ustc.edu.cn/fedora/linux/releases/16/Fedora/i386/iso/Fedora-16-i386-DVD.iso /mnt/
2.安装GRUB到U盘中:
1 #sysnc2 #grub-install --root-directory=/mnt /dev/sdb
注意:
1.GRUB会将bootloader安装到U盘的MBR中,所以一定要指定的是U盘设备文件而不是它的某个分区设备文件。 2.GRUB会在/mnt下建立boot目录,其中包含引导时需要的stage1、stage等文件。 3.重启,设置BIOS从U盘启动。 4.GRUB启动到stage2时,会查找其配置文件。由于我们在第二步中没有编辑GRUB启动所需的配置文件,所以GRUB会给出命令行界面,等待我们输入参数:1 grub> kernel //vmlinuz2 grub> initrd / /initrd.gz3 grub> boot
注意:
1.由于设置BIOS从U盘启动,所以grub会自动设置root参数。 2./<path to vmlinuz>, /<path to initrd.gz> 中的根“/”是U盘设备,<path to ....>是我们在步骤一中建立的目录,如ubuntu-netboot、ubuntu-hardisk、fedora-boot 5.现在你已经进入到系统安装界面了: + 如果安装的是ubuntu,你不需任何特殊操作(本地安装时ubuntu安装程序会自动搜索到该ISO文件,网络安装时会自动联网)。 + 如果安装的是fedora,你需要在安装过程中选择安装介质为URL(网络安装),或定位到U盘中的ISO文件(本地安装)。