LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 849|回复: 10

关于用 NTLDR 启动 Linux ?

[复制链接]
发表于 2006-10-25 19:55:07 | 显示全部楼层 |阅读模式
具体情况是:
SCSI 0 Windows2000;
SCSI 1 Linux;
我在双硬盘下总是无法用NTLDR启动Linux,当然方法是正确的,因为单硬盘安装双系统NTLDR可以启动Linux;)
发表于 2006-10-25 21:07:55 | 显示全部楼层
我觉得基本思路应该是让NTLDR访问到一个文件,这个文件能导向linux的引导部分。现在你用了两个硬盘,所以在Windows硬盘下的文件是不是不能导到 另一个 硬盘的inux了?
回复 支持 反对

使用道具 举报

发表于 2006-10-25 21:11:55 | 显示全部楼层
dd if=/dev/“linux所在盘” of=/mnt/winc/linux bs=512 count=1  (winc是你WIN200的C盘)
然后回2000
然后修改boot.ini加入
c:\linux="我的LINUX"
以上方法只能用在GRUB安装在第二个硬盘第一个分区上。
回复 支持 反对

使用道具 举报

发表于 2006-10-25 21:18:04 | 显示全部楼层
还有一个办法,不过因为我没有两硬盘没试过,在一个盘上试过了!
首先下载一个grub (for dos)放在C盘根目录,网上下载一个vfloppy,给2000安装一个DOS(很有用的!)
修改AUTOEXEC.BAT,加个“grub”
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-25 21:22:42 | 显示全部楼层
Post by lingbos
dd if=/dev/“linux所在盘” of=/mnt/winc/linux bs=512 count=1  (winc是你WIN200的C盘)
然后回2000
然后修改boot.ini加入
c:\linux="我的LINUX"
以上方法只能用在GRUB安装在第二个硬盘第一个分区上。



呵呵,这种方法对双硬盘是无效的。
难道是 NTLDR 只可以启动在同一个硬盘内的 Linux?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-25 21:25:59 | 显示全部楼层
Post by hy48
我觉得基本思路应该是让NTLDR访问到一个文件,这个文件能导向linux的引导部分。现在你用了两个硬盘,所以在Windows硬盘下的文件是不是不能导到 另一个 硬盘的inux了?


NTLDR在单硬盘引导与双硬盘引导的区别就是单硬盘不需要添加一个 menu.lst 的配置文件,因为单硬盘内 NTLDR 可以自动找到 Linux 的引导分区下的 menu.lst 。
但据我试验,在双硬盘内的 Windows 分区添加 menu.lst 也是徒劳的
回复 支持 反对

使用道具 举报

发表于 2006-10-25 21:32:02 | 显示全部楼层
Post by qucklay
具体情况是:
SCSI 0 Windows2000;
SCSI 1 Linux;
我在双硬盘下总是无法用NTLDR启动Linux,当然方法是正确的,因为单硬盘安装双系统NTLDR可以启动Linux;)


没有双硬盘,不能试验,不好意思!

我有一个法子,不知道行不行?

在第一个盘里划一个小小的分区,装/boot

然后再用上面的第一个方法!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-25 21:40:01 | 显示全部楼层
你是说在 SCSI 1 的 Linux 分区吗?
事实上我的 LInux 系统就是把启动分区单独划分的;/boot->sdb1; /->sdb2;
所以实践证明:
NTLDR除了在单硬盘内是无法启动2个或2个以上硬盘内的 Linux !
希望有人可以把我的证明推翻了,哈哈。
回复 支持 反对

使用道具 举报

发表于 2006-10-26 00:01:46 | 显示全部楼层
Post by qucklay
你是说在 SCSI 1 的 Linux 分区吗?
事实上我的 LInux 系统就是把启动分区单独划分的;/boot->sdb1; /->sdb2;
所以实践证明:
NTLDR除了在单硬盘内是无法启动2个或2个以上硬盘内的 Linux !
希望有人可以把我的证明推翻了,哈哈。


理论上应该是可行的,NTLDR不能直接启动linux,
但是如果把/boot分区dd后,NTLDR应该可以能启动grub!有了grub就能启动linux
假如说:你的./boot在第一个硬盘的第二主分区,那么应该这样:
dd if=/dev/sda2 of=/mnt/winc/linux bs=512 count=1 (winc是你WIN200的C盘)
如果能看到grub,应该能启动!前提是grub安装在了/boot分区上
:p
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-26 01:31:50 | 显示全部楼层
确实是理论上的可行性。
NTLDR在一个硬盘内可以启动Linux是因为512KB引导扇区文件可以找到Linux的启动文件,即Linux的menu.lst。
但是,关键在这里:
如果Linux与Windows不在同一个硬盘,512KB引导文件就无法找到/boot目录中的menu.lst,原因是第二块硬盘处于关闭状态。(与之相比,可以在同一硬盘引导Linux的menu.lst是因为第一块硬盘是开启状态)
如果非要在不同硬盘用Windows启动,可以用grldr,它可以自动搜索所有硬盘的menu.lst目录。
回复 支持 反对

使用道具 举报

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

本版积分规则

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