U盘安装Linux系统

以前习惯用UltraISO软件把下载的ISO文件刻录到U盘安装,很简单、方便。但悲剧的是自ubuntu10.04、fedora14、archlinux-2011-08-19以后的版本好像都不支持这种方法了。


这里分享一下我使用的两种从U盘安装系统的新方法,方法一最为简单,但是执行后会破坏U盘中保存的数据,而且一次只能安装一个系统;方法二复杂些,但是不用格式化U盘中已有数据,而且支持安装多个系统。这里假设你的U盘设备是/dev/sdb,它的一个分区为/dev/sdb1.(你需要根据自己的情况修改这两个参数)。


方法一:“简单的要死”:
先确保U盘没有被挂载到系统中(可以用不带参数的mount命令查看),然后执行:

1 #dd if=<path to iso file> 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时该文件在源服务器的下面路径中:
http://ubuntu.uestc.edu.cn/ubuntu/dists/oneiric/main/installer-i386/current/images/netboot/
     - 提取mini.iso中的linux和initrd.gz文件,保存到U盘的ubuntu目录中:

1 #mount -o loop <path to mini.iso> /mnt
2 #mkdir /mnt/ubuntu-netboot
3 #cp /mnt/linux /mnt/ubuntu-netboot/vmlinuz #重命名(可选,为了统一)
4 #cp /mnt/initrd.gz /mnt/ubuntu-netboot/initrd.gz

  +若本地安装ubuntu,需要下载三个文件,系统ISO文件,支持硬盘安装的vmlinuz和initrd文件,它们载服务器上的路径为:
http://ubuntu.uestc.edu.cn/ubuntu/dists/oneiric/main/installer-i386/current/images/hd-media/     #目录下有vmlinuz和initrd.gz文件
http://cdimage.ubuntu.com/releases/11.10/release/  #目录下有要下载的ISO系统文件(三个文件的版本号一定好相符,这里为11.10与oneiric)。
     - 下载上面三个文件,复制到U盘中(下面以ubuntu11.10为例):

1 # mkdir /mnt/ubunt-hardisk
2 # 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文件,它们在服务器上的路径为:
http://mirrors.ustc.edu.cn/fedora/linux/releases/16/Fedora/i386/os/isolinux/
     -下载这两个文件,保存到U盘中:

1 #mkdir /mnt/fedora-netboot
2 # 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 #sysnc
2 #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 /<path to vmlinuz>/vmlinuz
2 grub> initrd  /<path to initrd.gz>/initrd.gz
3 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文件(本地安装)。

posted @ 2012-05-06 19:26  geekard  阅读(3260)  评论(2编辑  收藏  举报