免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5403 | 回复: 7
打印 上一主题 下一主题

求助:关于U盘引导安装ubuntu系统 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-06 10:28 |只看该作者 |倒序浏览
我用U盘安装系统时,引导成功了,但是会报错:
               error:invalib file name 'vmlinuz'
               error:you need to load the kernel first
我的iso文件在U盘的iso目录中,grub.cfg的内容如下:
               menuentry 'Ubuntu 10.10' --class ubuntu --class gnu-linux --class gnu --class os {
                    loopback loop (hd0,1)/iso/ubuntu-10.10-dvd-amd64.iso
                    linux vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-10.10-dvd-amd64.iso
                   initrd (loop)/casper/initrd.lz
  }
请各位大虾不吝赐教!

论坛徽章:
0
2 [报告]
发表于 2011-01-06 10:58 |只看该作者
問題已解决,謝謝!

论坛徽章:
0
3 [报告]
发表于 2011-01-06 14:00 |只看该作者
你怎么解决的,跟大家说说!Share一下!

论坛徽章:
0
4 [报告]
发表于 2011-01-06 14:14 |只看该作者
本帖最后由 0602_hua 于 2011-01-06 14:16 编辑

回复 3# taoxie17

囧{:2_163:} ,grub配置错了!修改成这样就可以了
    menuentry 'Ubuntu 10.10' --class ubuntu --class gnu-linux --class gnu --class os {
          loopback loop (hd0,7)/iso/ubuntu-10.10-dvd-amd64.iso
          linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-10.10-dvd-amd64.iso
          initrd (loop)/casper/initrd.lz
  }

论坛徽章:
0
5 [报告]
发表于 2011-01-06 19:11 |只看该作者
以下是鄙人制作U盘引导安装ubuntu10.10的过程,有些粗略,还望老鸟指教。
第一步:将grub2安装到U盘
1.apt-get install grub2   //下载grub2到电脑
2.mount /dev/sdb1 /mnt    //将u盘挂载到电脑
3.grub-install --recheck --root-directory=/mnt /dev/sdb   //将grub2安装到U盘
显示 no error则安装成功

第二步:编辑grub.cfg
1.进入U盘中的/boot/grub/
2.新建一个名为grub.cfg的文件
3.添加以下内容到grub.cfg
    set default="2"
    set timeout=5
    set gfxmode=1024*768
    insmod gfxterm
    insmod vbe
    terminal gfxterm

    menuentry 'Ubuntu 10.10' --class ubuntu --class gnu-linux --class gnu --class os
    {
        loopback loop (hd0,1)/iso/ubuntu-10.10-desktop-i386.iso
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-10.10-desktop-i386.iso
        initrd (loop)/casper/initrd.lz
    }
注:其中linux 后面跟光盘中的kernel路径,initrd后面跟光盘中initrd.gz文件的绝对路劲(一般包含于iso中)

第三步:重启电脑就可以看见grub界面了,选择ubuntu10.10进入ubuntu系统的安

论坛徽章:
0
6 [报告]
发表于 2011-03-08 10:17 |只看该作者
本帖最后由 kunkka_lu 于 2011-03-14 21:59 编辑

$ sudo grub-install --root-directory=/mnt /dev/sdb

这里的 /mnt 指的是将要安装 grub 的 rootfs 的绝对路径, 即是本例 u 盘所 mount 到 pc 的目录; 如果 u 盘有多个分区也不要紧, --root-directory=/要安装的分区目录 就可以了;

/dev/sdb 对应的是 u 盘的设备节点, 而不要写成 /dev/sdb1, 那是 u 盘第一个分区所对应的设备节点;


上面的例子写的 grub.cfg 有点复杂了, 下面这个稍微简单一点:

set timeout=20

menuentry "Ubuntu-10.10-amd64-dvd Install" {
      insmod ext2
      loopback loop (hd0,1)/iso/ubuntu-1010-amd64-dvd.iso
      linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-1010-amd64-dvd.iso ro
      initrd (loop)/casper/initrd.lz
}

"set timeout=20"的意思是设置 grub 在启动的时候所显示的时间为 20 秒;

"insmod ext2" 意思是加载 ext2 模块, 在后面挂载 ramfs 时需要到这个模块;

"loopback loop (hd0,1)/iso/ubuntu-1010-amd64-dvd.iso" 意思是通过 loopback 方式, 相当于设置一个虚拟光驱, 读取第一块硬盘(此时的 u 盘就相当于第一块硬盘)的第一个分区( index 是从1开始的)的根目录下的iso/ubuntu-1010-amd64-dvd.iso,  并把这个 iso 的路径赋给 loop 变量;

"linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-1010-amd64-dvd.iso ro" 中的 "linux (loop)/capser/vmlinuz" 的中 (loop) 相当于 iso 文件里面的 rootfs , 意思是设置加载 kernel images 的路径为 iso 文件内部的根目录中的 casper/vmlinuz,   "boot=casper" 意思是设置 boot 启动方式为 casper, ro 的意思是设置打开这个 iso 文件的方式为 Read Only;

"initrd (loop)/casper/initrd.lz" 和上面的vmlinuz一样,  指明 initrd 的路径.

论坛徽章:
0
7 [报告]
发表于 2011-03-08 19:04 |只看该作者
本帖最后由 kunkka_lu 于 2011-03-08 21:08 编辑

如果把 vmlinuz 和 initrd.lz 从 iso 文件里提取出来的话, grub.cfg 可以写成这样子:

set timeout=20

menuentry "Ubuntu-10.10-amd64-dvd Install" {
     insmod ext2
     root (hd0,1)
     linux /iso/ubuntu-1010-amd64-dvd/vmlinuz boot=casper iso-scan/filename=/iso/ubuntu-1010-amd64-dvd/ubuntu-1010-amd64-dvd.iso ro
     initrd /iso/ubuntu-1010-amd64-dvd/initrd.lz
}

论坛徽章:
0
8 [报告]
发表于 2011-03-08 21:00 |只看该作者
本帖最后由 kunkka_lu 于 2011-03-08 21:14 编辑

如果想用 u 盘作 Fedora 启动盘, 那必须把 u 盘格式化为 ext4 格式. 我之前把 u 盘格式化成 ntfs 格式, 老是启动失败, 后面把 u 盘的格式改成 ext4, 就可以了.

首先, mount Fedora 的 iso 文件到一个目录:

$ sudo mount /xxx/fedora-14-i386-dvd.iso /mnt -o loop

然后从挂载 iso 文件的根目录的 isolinux 目录下提取 vmlinuz 和 initrd.img 文件拷贝到 u 盘;

制作 Fedora 启动盘要比制作 ubuntu 启动盘的区别在于, 这里要多出一个步骤, 就是把 Fedora iso 根目录下的 images/install.img 也复制到 u 盘里(当然, iso 文件别忘了拷贝到 u 盘里- -).

u 盘启动 Fedora 的 grub.cfg 如下:

set timeout=20

menuentry "Fedora-14-i386-dvd Install" {
    insmod ext2
    root (hd0,1)
    linux  /iso/fedora-14-i386-dvd/vmlinuz
    initrd /iso/fedora-14-i386-dvd/initrd.img
}

Fedora 启动的时候会自动搜索 iso 文件, 所以不用在 grub.cfg 里写 iso 的路径.

以上的准备工作都作完之后, 重启机器, 选择 Fedora 对应的启动项, 等待一会儿之后会出现一个菜单让你选择要安装哪个语言版本的 Fedora;

选择完语言之后, 继续弹出一个菜单, 让你选择 u 盘所对应的设备节点;

选完节点后别急着敲回车键, 下面还有一个输入框, 提示输入"Directory holding image", 在这个框里输入刚才我们提取的 install.img 放在 u 盘的路径就可以了;

敲下回车键, Fedora 华丽的安装界面就出来了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP