分页: 1 / 1

[原创]如何用USB闪存安装Ubuntu

发表于 : 2007-06-17 14:53
猛将兄
如何用USB闪存安装Ubuntu

相信大多数Ubuntu用户都是用LiveCD进行安装。不过也有特殊的情况没有办法使用CDRom(比如我新买的IBM X60)或者你很爱惜自己的CDRom,恰好你又有一块容量1G或者以上的USB闪存,同时你的机器支持USB启动,那么我们可以将我们的1G或者以上的 USB闪存变成一个Ubuntu的LiveUSB。
首先我假定大家是用Ubuntu来完成一下的工作。我自己是用Feisty 7.04完成下面的工作的。Windows用户可以用Ubuntu LiveCD来做,其他Linux发行版的用户可以参考我最后给出的链接的英文地址来做。
然后,我们要准备以下必备品:
1. Ubuntu Feisty 7.04 镜像文件,可以在这里下载, 选择离你最近的镜像。
2. 容量1G或者以上的USB闪存。

第一步 给闪存分区
将闪存连接上你的电脑。Ubuntu将自动对他进行mount。不过我们还是要看一下它对应的设备是哪个。

sudo fdisk -l

找到你的闪存所对应的设备。在我的电脑上,他是/dev/sdb1,如果你插有多个设备,可能会不同。请找到正确的设备文件名。
注意:如果使用了错误的文件名,你的系统可能会因此被摧毁!
假设我们找到的/dev/sdb1,我们先要对他进行umount

sudo umount /dev/sdb1

开始对闪存分区

sudo fdisk /dev/sdb

按接下来的步骤选择

*


* n ,创建一个新分区
* p ,新分区设置为主分区
* 1 ,是第一个分区
* 按回车,选择分区开始的簇
* +750M ,分区分配750M的空间
* a 标示为分区位可启动
* 1 选择第一个分区
* t 改变分区的类型
* 6 选6设置位fat16

*



我们接下来设置第二个分区

*


* n ,创建另外一个分区
* p ,设置位主分区
* 2 ,新分区作为第二个分区
* 按回车接受默认值
* 按回车,选择最大
* w 最后,按w把分区内容写入你的

*




第二步 格式化闪存

首先,我们对第一个分区按照fat16进行格式化,并设置卷标位liveusb

sudo mkfs.vfat -F 16 -n liveusb /dev/sdb1

然后对第二个分区用ext2格式化,卷标位casper-rw

sudo mkfs.ext2 -b 4096 -L casper-rw /dev/sdb2

这样我们就可以将LiveCD的内容拷贝到闪存里面了

第三步 制作有启动数据的USB闪存
首先我们mount ubuntu feisty 7.04的iso文件到一个临时目录。我们假定这个临时目录位/tmp/ubuntu-livecd


mkdir /tmp/ubuntu-livecd
sudo mount -o loop /path/to/feisty-desktop-i386.iso /tmp/ubuntu-livecd


接下来我们要mount我们的usb闪存。实际上Ubuntu一直都会自动帮你mount。一般都似乎在/media目录下面。比如我的闪存,就是mount在/media/CORSAIR上。
一切就绪之后,我们要把数据拷贝到闪存上。

cd /tmp/ubutu-livecd
sudo cp -rf casper disctree dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines ubuntu.ico casper/vmlinuz casper/initrd.gz install/mt86plus /media/liveusb/

大家可以休息休息,拷贝需要花一段时间。其中会说几个符号链接无法创建,不用管它,继续。
接下来,要把livecd中拷贝过来的isolinux.cfg 改名为 syslinux.cfg:

cd /tmp/liveusb
sudo mv isolinux.cfg syslinux.cfg

编辑syslinux.cfg为下面这个样子

DEFAULT persistent
GFXBOOT bootlogo
GFXBOOT-BACKGROUND 0xB6875A
APPEND file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL persistent
menu label ^Start Ubuntu in persistent mode
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper persistent initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL live
menu label ^Start or install Ubuntu
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL xforcevesa
menu label Start Ubuntu in safe ^graphics mode
kernel vmlinuz
append file=preseed/ubuntu.seed boot=casper xforcevesa initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL check
menu label ^Check CD for defects
kernel vmlinuz
append boot=casper integrity-check initrd=initrd.gz ramdisk_size=1048576 root=/dev/ram rw quiet splash --
LABEL memtest
menu label ^Memory test
kernel mt86plus
append -
LABEL hd
menu label ^Boot from first hard disk
localboot 0x80
append -
DISPLAY isolinux.txt
TIMEOUT 300
PROMPT 1
F1 f1.txt
F2 f2.txt
F3 f3.txt
F4 f4.txt
F5 f5.txt
F6 f6.txt
F7 f7.txt
F8 f8.txt
F9 f9.txt
F0 f10.txt


这样我们拷贝数据的工作就完成了。

第四步 让你的USB闪存可启动

我们使用syslinux让你的闪存可以启动
首先要安装syslinux

sudo apt-get install syslinux mtools


然后,umount你的闪存,并且制定你的可启动闪盘

cd
sudo umount /tmp/liveusb
sudo syslinux -f /dev/sdb1



这样,我们就可以用闪盘启动电脑了。

注意:假如你在启动的时候,发现系统提示“No operating system”,那么这是因为你的闪盘的MBR坏掉了。用lilo工具来修复他即可正常启动。大多数市面上的闪盘的MBR都是坏的,所以最好修复一下。


sudo apt-get install lilo
sudo lilo -M /dev/sdb


我这次操作完全是按照
http://www.debuntu.org/how-to-install-u ... on-usb-bar
来的。这篇文章主要是把用Ubuntu制作启动USB抽了出来,如果不是用UBuntu的用户可以参考原文。

实物照片在
http://www.inblogs.net/popeyelin/2007/06/usbubuntu.html

其实是blogspot的一个镜像。刚写完发现blogspot又被GFW了

发表于 : 2007-06-17 15:23
leeaman
我的电脑不支持大于256mb的u盘启动,郁闷

发表于 : 2007-06-17 17:01
猛将兄
256M应该可以用debian的net-install或者ubuntu的server-install,alternative应该可以的

发表于 : 2007-06-17 18:53
leeaman
不是这个问题,我的u盘不能做启动盘,启动不了没有办法

发表于 : 2007-06-18 8:53
猛将兄
惨。我买了个X60,没有光驱的,所以用U盘是唯一的办法了