无忧启动论坛
标题:
关于示例menu.lst中启动windows的一个问题
[打印本页]
作者:
2010lzu
时间:
2012-10-24 19:53
标题:
关于示例menu.lst中启动windows的一个问题
估计是硬盘MBR有问题了,开机老重启。于是用U盘启动(U盘里就只做成启动盘,放置了grldr,0.4.6a 10月份的某个版本),然后手动输入下列命令:
find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /ntldr
boot
无法启动系统。
显示下列内容:
Invalid BOOT.INI file
Booting from C:\windows\
NTDETECT failed
后面看了sample文件夹中的menu.lst,再次用该U盘启动,手动输入下列命令:
fallback +1
find --set-root --ignore-floppies --ignore-cd /ntldr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /ntldr
boot
就可以启动我硬盘上的WINDOWS系统了。请问这两者有什么区别??
我上面的几条命令为什么无法启动该系统呢?
作者:
2010lzu
时间:
2012-10-24 19:56
后面把grub4dos装到MBR上,WINDOWS根目录下放上grldr,重启,进入硬盘上的grub4dos。手动输入上面的两种命令,都能启动系统。
作者:
hijk1
时间:
2012-10-24 20:21
u盘启动时 u盘就是hd0 应该搜索非hd0吧
作者:
不点
时间:
2012-10-29 14:42
楼主犯了一个常规错误。
传统地说,Windows 的启动通常(必须)从第一硬盘 (hd0) 或第一软盘 (fd0) 启动,而不可以从第二硬盘 (hd1) 或第二软盘 (fd1) 启动。
这本质上也就是继承了 DOS 的启动方法。
当从 USB 设备启动时,BIOS 会把 USB 设备当作第一硬盘 (hd0) 或第一软盘 (fd0),而把真实的硬盘当作第二硬盘(hd1) 或者把真实的软盘当作第二软盘(fd1)。
因此,要想从真实硬盘启动你的 Windows,必须有个交换磁盘的动作,也就是说,把真实硬盘的编号从第二硬盘变为第一硬盘,这才是 Windows 所 “ 满意 ” 的启动环境。
作者:
2010lzu
时间:
2012-10-29 17:42
标题:
回复 #4 不点 的帖子
谢谢不点大师的解答。
我原认为
find --set-root --ignore-floppies --ignore-cd /ntldr
这条命令找到ntldr所在的分区为根分区,既然都设置为根了,再从它启动就是理所当然的了……
既然启动不了,这个--set-root参数又有什么作用呢?
map () (hd0)
map (hd0) ()
这两条可能就是说,无论根目录下有ntldr文件的分区时哪个,都把它映射成(hd0),当然windows只能从hd0启动了?
作者:
不点
时间:
2012-10-29 17:48
--set-root 顾名思义,就是把找到文件的那个分区设置为当前默认分区(即,根分区)。
你理解的两条 map 的作用以及它的目的,大致是正确的。
作者:
2010lzu
时间:
2012-10-30 21:13
标题:
回复 #6 不点 的帖子
谢谢不点大师解答!!
欢迎光临 无忧启动论坛 (http://wuyou.net./)
Powered by Discuz! X3.3