欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

通过U盘安装Ubuntu Linux的方法 U盘装Linux

程序员文章站 2023-11-30 15:32:22
本文介绍了如何用U盘装LINUX系统.以常用的UBUNTU为例.其它的版本的LINUX也是一样的... 12-05-30...
本文将介绍如何在u盘上安装ubuntu linux系统.虽然本文采用的是ubuntu,但实际上依此方法安装其他linux live cd发行版也是可行的.
  从u盘上运行linux,丰富了live cd的体验,使你可以在任意机器上运行linux,比随身携带一张光盘方便多了。
  1. 准备工作
  在开始之前,你至少需要进行如下准备:
  * 一张ubuntu live cd 或者 .iso 镜像文件
  * 容量至少为1g的 u 盘
  * 运行的 linux 操作系统
  2. 设定u盘
  首先,将u盘插上,检查设备是否被认出。为了找到设备,请运行以下命令:
  $ sudo fdisk -l
  在我的系统中,此设备的盘符为 /dev/sdb ,本文以 /dev/sdb 为例讲解,读者请根据自己系统的实际情况更改(可能是sda,sdc...)。
  系统发现 u 盘后,将要创建分区。
  注意:使用错误的盘符可能破坏你的硬盘分区,所以请谨慎输入。
  创建分区
  将已经挂载的 u 盘卸载:
  $sudo umount /dev/sdb1
  然后使用fdisk,一个编辑分区的工具:
  $sudo fdisk /dev/sdb
  我们删除 u 盘的分区后,在上面创建两个新分区:一个容量为750mb的fat文件系统分区,用来保存 live cd 镜像中的文件,其余的另一个分区。
  然后输入的格式为“d x”,x为分区的盘符,以下依次输入:
  *n 创建新的分区
  *p 设为主分区
  *1 设为第一主分区
  *接受默认选项或输入“1”从第一柱面启动
  *+750m 将空间设置为750mb
  *a 将分区设为可以启动的活动分区
  *1 选择这个分区
  *t 改变分区格式
  *6 设置为fat16分区
  第一个分区设置完成了,进行第二个:
  *n to create yet again a new partition
  *n 再次创建一个分区
  *p 设为主分区
  *2 设为第二分区
  *回车接受默认选择
  *接受默认选择,用尽所有容量
  *最后,输入 w 使u盘完成上述更改
  分区完成后,进行格式化。
  格式化分区
  第一个分区将要被格式为fat16文件系统,并将 u 盘设定为自启动。
  $ sudo mkfs.vfat -f 16 -n liveusb /dev/sdb1
  第二个分区将要被格式化为 ext2 文件系统,块长(blocksize)为4096字节,并且将该卷进行casper-rw(否则将不能成功完成目标!)
  $ sudo mkfs.ext2 -b 4096 -l casper-rw /dev/sdb2
  现在,需要将 live cd 镜像复制到 u 盘中。
  3. 从u盘中安装ubuntu
  挂载ubuntu live cd 镜像
  首先需要挂载ubuntu的镜像。有两种方法,通过“.iso”文件或者是光盘。
  从 cd 挂载
  将ubuntu或其他发行版光盘插入电脑,将会被自动挂载。否则,按如下操作便能成功挂载。
  $ sudo mount /media/cdrom
  从 .iso 镜像文件挂载
  需要创建一个临时的文件夹,以 /tmp/ubuntu-livecd 为例,然后将其挂载:
  $ mkdir /tmp/ubuntu-livecd
  $ sudo mount -o loop /path/to/feisty-desktop-i386.iso /tmp/ubuntu-livecd
  挂载 u 盘的分区
  将u盘再次插入,两个分区将显示为/media/liveusb和/media/casper-rw。如果该情况未能出现,你需要手动挂载:
  $ mkdir /tmp/liveusb
  $ sudo mount /dev/sdb1 /tmp/liveusb
  所有需要的分区都已经被挂载,该复制文件了。
  将文件复制到 u 盘中
  找到cd镜像的路径(笔者的情况是/tmp/ubuntu-livecd,当然也可能是/media/cdrom),然后复制到作为根分区的u盘第一分区:
  包括casper,disctree,dists,install,pics,pool,preseed,.disk这些目录,isolinux目录下的所有文件,还有md5sum.txt,readme.diskdefines,ubuntu.ico,casper/vmlinuz, casper/initrd.gz和install/mt86plus。
  $ 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/
  可能出现符号链接不能被创建,你可以忽略过去。
  下面我们将 u 盘第一分区中的isolinux.cfg更名为syslinux.cfg:
  $ cd /tmp/liveusb
  $ sudo mv isolinux.cfg syslinux.cfg
  根据你的设置改变/tmp/liveusb
  按照下面编辑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
  将 u 盘设置为可引导的
  为完成此步骤,需要安装syslinux:
  $ sudo apt-get install syslinux
  最后卸载/dev/sdb1,并使其可引导:
  $ cd
  $ sudo umount /tmp/liveusb
  $ sudo syslinux -f /dev/sdb1
  重启,将bios设为可以从 u 盘引导,就可以享受 u 盘中的ubuntu了!
  4. 疑难排解
  如果不能从 u 盘引导,可能是由于主引导记录(mbr)被破坏。你可以用lilo来修复这个问题:
  $ lilo -m /dev/sdb/dev/sdb上的mbr将会被修复。