当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 23 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : grub2更新 2008-07-25
帖子发表于 : 2008-07-25 15:43 

注册: 2008-06-03 12:25
帖子: 238
送出感谢: 0 次
接收感谢: 1
最近grub2增加了不少新的东西,我编译了一个新的bootcd,下载地址:

http://nufans.net/grub4dos/grub2/grub2- ... -07-25.iso

一些重要的新功能介绍:

1,cygwin支持

最新的svn代码可以不经修改地在cygwin下编译。bootcd的版本就是使用cygwin编译,并且把一些重要的工具也加上了,比如说grub-mkimage.exe。

2,64-bit EFI支持

新版本grub2支持x86_64的EFI,比较新的Macbook都是使用64位EFI。不过,编译64位EFI只能在linux下,我没有把二进制版本加到bootcd里。

bootcd里包含32位EFI映像,它也是使用cygwin编译的,使用时把它们复制到相应的目录就行了。

3, 保存环境变量

新版本grub2支持保存环境变量的值。首先,你需要创建一个grubenv文件并放到grub目录里,例如/boot/grub。bootcd里就有一个grubenv,你也可以使用grub-editenv来创建。

grub-editenv grubenv create

grub-editenv还有其他的功能,比如说;

a. 显示grubenv里存储的变量:

grub-editenv grubenv ls

b. 设置grubenv里变量的值

grub-editenv grubenv set default=1

然后,在grub的配置文件grub.cfg里,使用以下的命令就可以装载grubenv里的变量了:

load_env

需要保存变量值时,使用save_env,例如:

save_env default

这就把default的值保存到grubenv里,下次启动时用load_env就会读取新的值了。

4. LZMA压缩

新的core.img使用lzma进行压缩,其效果比原来lzo要好得多。

5. ext4支持

新版本的grub2支持ext4文件系统。

6. uuid支持

新版本的grub2支持uuid。使用ls -l可以查看文件系统的uuid。search命令也可以按照uuid来进行搜索。


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-07-25 20:01 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
先顶再看


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-07-25 22:27 
头像

注册: 2006-09-19 18:16
帖子: 3711
送出感谢: 0 次
接收感谢: 3
好强大啊!

看了更要顶


_________________
Ubuntu 系统备份、恢复、克隆、批量部署、制作 live 系统


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-07-25 23:09 

注册: 2008-05-17 4:14
帖子: 153
送出感谢: 0 次
接收感谢: 0 次
bean:
刚去了znpc看了很多,不好意思提问,那里关于grub太专业了。这里想请教几个问题
1.grub2如何加载模块,是在编译时加?还是使用时加?
2.如果是使用是加,是否每次都要重覆动作?
3.grub2是否没法内置菜单?
4.grub2可以自动查找EFI文件夹,启动?
5.grub2对EFI的支持是否也就可以启动mac?

谢谢大使!


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-07-25 23:25 

注册: 2008-06-03 12:25
帖子: 238
送出感谢: 0 次
接收感谢: 1
go2 写道:
bean:
刚去了znpc看了很多,不好意思提问,那里关于grub太专业了。这里想请教几个问题
1.grub2如何加载模块,是在编译时加?还是使用时加?


模块在使用时加载。而且,grub2能自动加载模块。比如说,hexdump命令在hexdump.mod里,你在输入hexdump命令的时候,如果内存里没有hexdump.mod,会自动加载。另外,grub2也会自动处理模块间的依赖关系。

你也可以用insmod来手动加载,lsmod来显示当前加载的模块,rmmod来卸载。用法和linux里差不多的。

引用:
3.grub2是否没法内置菜单?


grub2里支持memdisk。也就是说,你可以把所有需要使用的内容,包括菜单文件,用cpio打包,然后加到内核里。这个有点像initrd,不过文件是包含到内核core.img里,而不是一个分开的文件。grub-mkimage里可以使用-m来指定memdisk文件。

引用:
4.grub2可以自动查找EFI文件夹,启动?

grub2里可以用search命令来寻找文件的。

引用:
5.grub2对EFI的支持是否也就可以启动mac?

可以,grub2 efi可以调用其他efi映像,也可以启动Linux。osx其实就是通过efi映像来启动的。


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-07-25 23:33 

注册: 2008-05-17 4:14
帖子: 153
送出感谢: 0 次
接收感谢: 0 次
bean:谢谢你,我没想到你这么快能回覆,让我对grub2有清楚的了解,也希望你和climbing、不点等各位大侠能让grub2更完善及更强大!


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-07-25 23:56 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
试了一下,
rEFIt 不认光盘上的 efi 部分,只认 bios 部分,这大概是 rEFIt 的问题,可能光盘上存在 bios 引导的部分就会使它忽略 efi 部分,把 efi 文件夹单独刻盘就在 rEFIt 出现从 efi 引导的选项。奇怪的是,如果单刻 efi 文件夹总是刻录出错,难道只刻几百k会出问题吗?后来我又加刻了个 5M 的文件才成功。然后从光盘的 efi 引导就会进入 grub rescue ,而同样的 efi 文件夹如果拷到硬盘引导就正常出来菜单,何解?
接下来,菜单里引导 OS X 的选项无效,不知何故, search 是找到正确位置的。不用search,直接指定是可以启动的。


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-07-26 0:19 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
还有,刻 iso,在 macbook 以 bios 方式引导光盘,ls 看不到移动硬盘。
在一台ibm笔记本上是可以看到移动硬盘的,于是我就想,是不是只有 bios 支持 usb 的,grub2 才看到呢,我又拿到一台奔3的不支持 usb 启动的机器上试,结果 ls 列出内置 (hd0) (hd0,1) 然后就说 "out of disk" 不再列了,上一次跟你讨论也出现过,你大概还记得,那次是 grub efi 启动,ls 到移动硬盘停住了,out of disk, 没有继续列内置硬盘。我想,即使一块硬盘有问题,它应该接着列下一块才对。
另外就是 macbook 以 bios 方式引导,halt 命令会死机。 pc 正常。


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-07-26 0:21 

注册: 2008-06-03 12:25
帖子: 238
送出感谢: 0 次
接收感谢: 1
billbear 写道:
试了一下,
rEFIt 不认光盘上的 efi 部分,只认 bios 部分,这大概是 rEFIt 的问题,可能光盘上存在 bios 引导的部分就会使它忽略 efi 部分,把 efi 文件夹单独刻盘就在 rEFIt 出现从 efi 引导的选项。奇怪的是,如果单刻 efi 文件夹总是刻录出错,难道只刻几百k会出问题吗?后来我又加刻了个 5M 的文件才成功。然后从光盘的 efi 引导就会进入 grub rescue ,而同样的 efi 文件夹如果拷到硬盘引导就正常出来菜单,何解?


哦,犯了一个低级错误,grub.efi里没有带iso9660,你用grub-mkimage生成一个新的grub.efi就行了:

./grub-mkimage -d . -o grub.efi pc gpt fat ext2 hfsplus ntfs iso9660

引用:
接下来,菜单里引导 OS X 的选项无效,不知何故, search 是找到正确位置的。不用search,直接指定是可以启动的。

刚才试了一下,search后的确有些问题,有空时测试一下。

引用:
另外就是 macbook 以 bios 方式引导,halt 命令会死机。 pc 正常。

这个是正常的, macbook的bios没有实现apm,因此用halt关不了机。在一些笔记本上也会有这个问题。


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-07-26 1:20 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
明白。
其实我最关心的是 grub2 能否在 linux 内核之前找到 usb 存储设备。 grub2 efi 看来是可以的,grub2 bios 在 macbook 上好像还不行。我还是希望能以 bios 方式从 usb 启动 macbook,我希望用一个 u 盘量产一部分做 grub2 cd,macbook 是支持从 usb cd 引导的,然后就可以启动 u 盘剩下部分里的 linux。
我这个 u 盘量产出一个 cd 以后,剩下的部分好像不是 usb-hdd 了,不能引导,只有从 cd 部分引导。上次我有提到, grub2 efi 也不能认出这剩下的 u 盘部分。但是 linux 内核是可以认到的。
另外, grub2 bios 不认我的 gpt 内置磁盘,内置磁盘上同时还有一个 MBR 表,也不认?只列出一个 (hd0) ,没有列出分区。我记得 grub legacy 是认 gpt 的, 而 grub4dos 只认 MBR.


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-07-26 1:47 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
保存环境变量是个很酷的功能,假如从 cd 启动 grub2,能否调出硬盘上 /boot/grub 里面的环境变量?


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-07-26 1:50 

注册: 2008-06-03 12:25
帖子: 238
送出感谢: 0 次
接收感谢: 1
我想pc和gpt模块同时使用可能会有些影响。要不试试只用gpt,看有没有改进?


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-07-26 1:51 

注册: 2008-06-03 12:25
帖子: 238
送出感谢: 0 次
接收感谢: 1
billbear 写道:
保存环境变量是个很酷的功能,假如从 cd 启动 grub2,能否调出硬盘上 /boot/grub 里面的环境变量?


可以调出,用-f参数可以指定自己的文件,而不使用缺省的grubenv,例如:

load_env -f (hd0,0)/myenv

save_env -f (hd0,0)/myenv default

另外,其实也可以使用脚本功能,自动搜索配置文件。例如:

if search -s -f /myenv; then
load_env -f /myenv
fi


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2008-07-26 2:20 
头像

注册: 2007-08-30 5:39
帖子: 1670
送出感谢: 0 次
接收感谢: 0 次
等小白都挂了我再试,

现在8.10够我折腾了。


_________________
深度,值得深入!
http://bbs.deepin.org/?u=348684

最新的综艺魔法相册
http://www.77studio.net/?fromuid=344


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2008-07-26 10:13 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
开始折腾 8.10 了?


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 23 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译