无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2766|回复: 5
打印 上一主题 下一主题

[已解决] 大家帮忙看看这段代码菜鸟求助

[复制链接]
跳转到指定楼层
1#
发表于 2011-4-20 09:55:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
title Boot First Partition on Second Disk
map (hd0) (hd1)
map (hd1) (hd0)
chainloader (hd1,0)+1
boot
有两点疑问:
1、在上面这段代码里,map命令使用了两次,是否等于未执行map命令?map (hd0) (hd1)是把第二硬盘当做第一硬盘,这样理解对吧?
2、chainloader (hd1,0)+1这句代码制定从第二硬盘的第一主分区读取第一扇区,那前面的map命令有什么用呢?
刚开始学,不懂,请老鸟指教。

[ 本帖最后由 2011flybat008 于 2011-4-20 13:17 编辑 ]
2#
 楼主| 发表于 2011-4-20 10:08:18 | 只看该作者
关于上面map命令连续使用两次的问题搞清楚了,实际上是对两块物理硬盘进行了交换。
现在不明白的地方是chainloader (hd1,0)+1这个命令。如果在chainloader (hd1,0)+1前面加上一句map --hook,那么chainloader (hd1,0)+1这句命令是读第一硬盘hd1,还是读第二硬盘hd0?
回复

使用道具 举报

3#
发表于 2011-4-20 10:08:59 | 只看该作者
这段命令有点问题吧  

title Boot First Partition on Second Disk
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
chainloader ()+1
boot

逐行解释:
1,将第一磁盘仿真为第二磁盘

2,将第二磁盘仿真为第一磁盘

3,以上两次仿真仅仅是"打算",还没有真正仿真磁盘,通过map --hook使仿真生效,交换了两块磁盘的顺序

4,将第一磁盘设置为root设备(此时的第一磁盘是交换磁盘前的第二磁盘)

5,链式加载启动第一磁盘第一扇区

6,确定进行启动(在菜单里这句可以不写)
回复

使用道具 举报

4#
 楼主| 发表于 2011-4-20 12:44:26 | 只看该作者
又是你啊夜天版主,感谢感谢!
你写的代码我看的很清楚了。
如果把你写的rootnoverify(hd0)和chainloader()+1这两句去掉。换成chainloader (hd1,0)+1这句的话,那是不是就去读原本的第一硬盘第一扇区去了?
回复

使用道具 举报

5#
发表于 2011-4-20 12:51:11 | 只看该作者

回复 #4 2011flybat008 的帖子

是的。。。
回复

使用道具 举报

6#
 楼主| 发表于 2011-4-20 13:09:26 | 只看该作者
多谢,学到不少东西啊。哈哈
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-2 17:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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