Chinaunix首页 | 论坛 | 博客
  • 博客访问: 503587
  • 博文数量: 119
  • 博客积分: 5054
  • 博客等级: 大校
  • 技术积分: 1305
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-03 13:13
文章分类

全部博文(119)

文章存档

2011年(4)

2010年(115)

我的朋友

分类: LINUX

2010-01-03 13:48:52

原作者:dogfox

作为一个linux的老用户如何在不向ubuntu官方申请免费光盘不刻录LiveCD甚至是无光驱或者网速如同龟速般不愿在线升级的情况下快速安装最新的ubuntu8.04.1(现在已经不是最新了)呢?

方法很简单,那就是修改grub,启动硬盘上下载好的LiveCD进行硬盘安装。

一、硬件要求

内存不小于328M

硬盘不小于5G

二、下载光盘文件

使用axel或wget下载ubuntu8.04.1的LiveCD文件

wget -c

验证

md5sum ubuntu-8.04.1-desktop-i386.iso
c69e34e92d5402d1b87e6babc739f774 *ubuntu-8.04.1-desktop-i386.iso

建议下载验证完成后备份该ISO文件到U盘或挂载磁盘上。

三、设置iso文件

说明:以下内容均为假设情况,在实际操作中需要灵活掌握

假如我们把iso文件放在挂载磁盘下进行安装 ,挂载磁盘的位置为/media/disk/,其中/media/disk/的分区格式为vfat,也即FAT32 .其中/media/disk/的具体情况视各自具体情况而定.一个重要的前提是必须保证该挂载磁盘被fstab有效挂载

接下来我们要把该iso和其中的.disk和casper下的vmlinuz和initrd.gz释放出来,保存至/media/disk/

在转移到/media/disk/下前请检查下/media/disk/的剩馀空间,剩馀空间至少要有750M。如果剩馀空间不多可考虑删除多余的文件。

首先将iso文件转移到/media/disk/下,进入存放iso文件的目录下

sudo mv *.iso /media/disk/

然后挂载iso,并拷贝.disk、vmlinuz和initrd.gz 三个文件到 /media/disk/

sudo mkdir /mnt/live ; cd /media/disk ; sudo mount -tiso9660 -o loop,utf8 *.iso /mnt/live/ ; 
sudo cp -r /mnt/live/.disk /media/disk/ ; sudo cp /mnt/live/casper/vmlinuz /media/disk/ ; sudo cp /mnt/live/casper/initrd.gz /media/disk/

如果什么重要的文件请在系统重启前及时备份。

四、设置启动项

修改grub文件,使启动项指向该iso文件

sudo gedit /boot/grub/menu.lst

复制下面的部分到menu.lst文件

title Ubuntu 8.04.1 LiveCD
root (hd0,3)
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-8.04.1-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd /initrd.gz
boot

说明:第二行的root (hd0,3)部分依据你的具体情况而定

如果你的/media/disk/位置是 (hd0,1) ,那么你就应该设置为(hd0,1)

设置好后保存退出

多说一句,理论上来说把iso文件放在磁盘的任意位置(包括U盘)都是可以安装的,但是hd编号你必须要搞清楚,尽量让启动安装一次性成功。

五、如何确定ISO位置

grub和hd0,x是硬盘安装的关键问题,解决了这2个问题,硬盘安装Ubuntu操作系统就成功了一半!

使用fdisk查询本机硬盘分区状态,例如本人的:

sudo fdisk -l

结果如下

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00019d35
Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          12       96358+  82  Linux swap / Solaris
/dev/sda2              13         302     2329425   83  Linux
/dev/sda3   *         303         995     5566522+  83  Linux
/dev/sda4             996        9729    70155855    c  W95 FAT32 (LBA)

第一行显示了硬盘大小为80G,后4行说明了硬盘分区状态,带有*的是grub指定的内核位置,那么/dev/sda3在grub中是如何表示的呢? 在grub中表示为(hd0,2) ,也即分区号减一,我们现在把ubuntu的iso以及引导文件放在/dev/sda4的根目录下,/dev/sda4分区格式为fat32,那么,如果想引导grub启动/dev/sda4下的iso文件那么就要将grub引导到/dev/sda4盘下,也即(hd0,3)

对应关系

/dev/sda1                 hd0,0
/dev/sda2                 hd0,1
/dev/sda3   *             hd0,2
/dev/sda4                 hd0,3

如果我们使用USB来安装ubuntu怎么办呢? 首先挂载usb到系统中使用fdisk查看usb磁盘分区状态,例如:

Disk /dev/sdb: 2118 MB, 2118123520 bytes
127 heads, 32 sectors/track, 1017 cylinders
Units = cylinders of 4064 * 512 = 2080768 bytes
Disk identifier: 0x00000000
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        1018     2068448    b  W95 FAT32
Partition 1 has different physical/logical endings:
phys=(1023, 126, 32) logical=(1017, 119, 32)

然后拷贝ubuntu的iso以及引导文件放在/dev/sdb1的根目录下,在/media下新建usb文件夹然后让系统自动挂载usb ,修改fstab,下面的仅做参考:

sudo nano /etc/fstab

添加:

#/dev/sdb1
/dev/sdb1 /media/usb vfat defaults 0 0

然后修改grub,引导位置即(hdb1,0)

六、安装

重启系统,在启动时选择Ubuntu 8.04.1 LiveCD启动项进入系统。

具体安装方法和以前版本基本一致。

FAQ:

Q:把ISO文件放在根目录下可以吗?安装的时候不会把他覆盖了?

A:至于覆盖的问题,livecd在启动时已经放到你的硬件内存中运行了,并非引用你硬盘信息运行。你原先是如何使用livecd安装,现在还是那样安装,只是安装形式发生了变化而已

阅读(1178) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:一个CET查分的Python脚本

给主人留下些什么吧!~~