无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
12
返回列表 发新帖
楼主: 0cat0
打印 上一主题 下一主题

【已解决】grub4dos-0.4.5a-2010-01-02.zip 问题

[复制链接]
31#
发表于 2010-1-7 18:52:20 | 只看该作者

回复 #30 chenall 的帖子

If, e.g., the ntldr file is in an ext2 partition called
                (hd2,8) while you want it to think of the Windows partition
                (hd0,7) as the boot partition, then --edx is required:

                        chainloader --edx=0x0780 (hd2,8)/ntldr

看了老半天,我还是不太明白edx这个东西有什么实际用途

什么情况下才会有个windows分区,需要当作启动分区,却又把ntldr放到另外一个ext2分区去

难道是为了不让别人启动?
回复

使用道具 举报

32#
发表于 2010-1-7 19:07:21 | 只看该作者
设置启动分区。
比如你可以不需要在硬盘上放NTLDR/BOOTMGR

从你的U盘或软盘镜像上的文件来启动系统。
比如启动硬盘上的VISTA/WIN7,
硬盘上不需要有BOOTMGR,只需保留BOOT文件夹,

然后你可以从一个有BOOTMGR的U盘或软盘上启动硬盘上的系统。。

这个功能比较少用到,比如有时你硬盘上的NTLDR或BOOTMGR损坏或丢失时就可以使用这个功能来启动硬盘上的系统。

新的版本为了方便可以这样子用
map --mem /ntldr (rd)
find --set-root --ignore-cd --ignore-floppies /boot.ini
chainloader (rd)+1

新版的如果是从RD加载的ntldr/bootmgr等文件会自动把edx设为当前的root指向的磁盘。

[ 本帖最后由 chenall 于 2010-1-7 19:08 编辑 ]
回复

使用道具 举报

33#
发表于 2010-1-7 19:14:43 | 只看该作者
抱歉那段英文是我写的,没写明白。

当 NTLDR 被引导时,NTLDR 需要知道它自己是在哪个盘上。为什么呢?因为 NTLDR 还要加载别的一些文件,比如 BOOT.INI。用 edx 参数就是告诉(或者欺骗)NTLDR,说“你就在edx所指定的分区上”。于是,NTLDR 启动后就要在 edx 指定的分区上去找其他那些启动文件。
回复

使用道具 举报

34#
发表于 2010-1-7 19:21:11 | 只看该作者

回复 #32 chenall 的帖子

大概明白了,edx可以不管启动盘上有没有启动文件
如果我从usb-hdd启动grub,usb上有ntldr文件,然后要从可能ntldr已经损坏的硬盘上启动,这样就可以了对吧
map --mem /ntldr (rd)
rootnoverify (hd1,0)
chainloader (rd)+1
boot
回复

使用道具 举报

35#
发表于 2010-1-9 03:37:21 | 只看该作者

回复 #33 不点 的帖子

谢谢不点,现在完全明白了,看来chenall把它修改为默认为root所在的盘是非常合理的

ps:貌似这个楼应该是在我上次回帖之后发的,怎么跑到前面去了,奇怪了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-8-27 23:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表