分类: 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安装,现在还是那样安装,只是安装形式发生了变化而已