Chinaunix首页 | 论坛 | 博客
  • 博客访问: 297663
  • 博文数量: 43
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 790
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-06 15:15
文章分类

全部博文(43)

文章存档

2011年(11)

2010年(14)

2009年(7)

2008年(11)

我的朋友

分类: LINUX

2011-03-18 18:02:43

因为最近U盘空间紧张,考虑到近 1.5G 空间都是 ubuntu 的安装文件(包括ISO,casper目录,.disk目录,vmlinuz 文件,initrd.gz 文件),所以我就想能不能不放这么多目录而仅仅有一个ISO呢,实际上用 grub4dos 是可行的。

从硬盘安装 ubuntu 根本不要这么多文件,我之前放这么多文件在根目录也是按网络上的方法来做的。用 grldr, menu.lst, ISO 文件,vmlinuz 文件,initrd.gz 文件,以及修改 boot.ini 就可以用 grub4dos 来引导安装 ubuntu 了。假设上面这些文件都放在 C 盘根目录,menu.lst 可以这样写:

title Install ubuntu

root (hd0,0)

kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu.iso

initrd /initrd.gz

boot

当然,可以在不解出vmlinuz 文件,initrd.gz 文件的情况下,grub4dos 也能成功从硬盘引导 ubuntu 安装。这里 C 盘根目录有 grldr, menu.lst, ISO 文件,这时的 menu.lst 可以写作:

title Install ubuntu

map (hd0,0)/ubuntu.iso (hd32)

map --hook

root (hd0,0)

kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu/ubuntu.iso

initrd (hd32)/casper/initrd.gz

boot

里用 map 指令将 ISO 文件模拟为硬盘/光盘,在模拟磁盘中读取vmlinuz 文件,initrd.gz 文件。当控制权交给 kernel 后,计算机就从实模式过渡到保护模式。磁盘模拟也就不起作用了。

要注意的是这里 ubuntu.iso 要连续存放,在 grub 模式中可以进行测试,将它放在一个新建的分区可以保证这一点。如果内存够大,可以用 map --mem 指令直接将其映射到内存。ISO 文件不一定要放在 C 盘根目录,只要在上面 iso-scan/filename 中指定路径即可。

上面的测试基于grub4dos-0.4.3,windows XP,Dell Dimension E520, ubuntu 8.04 和 ubuntu 8.10 i386 版均测试成功。

PS: ubnutu 8.10 i386 关机和重启好像有点问题,在这台机器上不能正常运行。

grub4dos下载地址:

阅读(1828) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~