以前習慣用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文件(本地安裝)。