Windows XP 与Linux多系统引导的进一步探讨

以下是Windows XP 启动所需的三个文件: ntldr ntdetect.com boot.ini 有篇文章对此介绍得很详细 ,这里讨论其他的几个问题: 手动复制到根目录下的ntldr是否有效? 有效!与最早的DOS 系统不同,只要保证ntldr 在分区的根目录就行,并不关心这个文件在磁盘的那个扇区。(DOS系统启动所需的IO.SYS与MSDOS.SYS只能使用sys命令在启动分区产生) ntldr是否必须位于启动分区? 启动分区也称为活动分区,每个物理磁盘只能有一个分区被标记为启动分区,标记一般为:活动、*号 Active等。在MSDOS中使用fdisk...

以下是Windows XP 启动所需的三个文件:

  • ntldr
  • ntdetect.com
  • boot.ini

有篇文章对此介绍得很详细 ,这里讨论其他的几个问题:

  1. 手动复制到根目录下的ntldr是否有效?

    有效!与最早的DOS 系统不同,只要保证ntldr 在分区的根目录就行,并不关心这个文件在磁盘的那个扇区。(DOS系统启动所需的IO.SYS与MSDOS.SYS只能使用sys命令在启动分区产生)

  2. ntldr是否必须位于启动分区?

    启动分区也称为活动分区,每个物理磁盘只能有一个分区被标记为启动分区,标记一般为:活动、*号 Active等。在MSDOS中使用fdisk 命令标记,Windows 2000/XP中使用磁盘管理器标记,Linux 下使用fdisk 命令也可以标记。

    启动分区标记对于Windows 的意义要大于Linux,电脑启动时,在MBR 找到Windows 的引导记录之后,会继续寻找启动分区,找到后在根目录下寻找ntldr 文件,否则会引导失败。

    对于Linux 目前常用的引导程序grub,这个标记似乎没什么意义,甚至可以在fdisk中随意设置多个标记。

    回到刚才的问题:ntldr是否必须位于启动分区?

    1. 如果使用Windows 引导方式(MBR),那么ntldr必须位于启动分区。这里或许有个例外,就是可以调整bios的启动分区到ntldr所在分区。
    2. 如果使用grub之类的引导程序引导,则ntldr 可以位于任何分区。还有一个例外,后面说。

  3. ntldr 是否必须与系统(Windows目录)位于相同分区?

    不必!但ntldr 所在分区根目录必须要有boot.ini,并且boot.ini具备引导到系统分区的正确参数。

  4. 如何将grub或者Lilo 的MBR恢复回Windows MBR?

    1. Windows安装盘提供了内置的命令fixmbr来修复 ,可以很容易的恢复引导区记录(不是通常人们所建议的重新安装系统,并在拷贝文件之后退出,再手动清理安装临时文件。未经过测试)。

    2. 另外,这里也有一个第三方的工具mbrfix ,在这里下载 (未经过测试)。

    3. MSDOS 引导后,使用命令行 fdisk /mbr (我习惯使用这个方法)

  5. linux grub 启动管理器通过rootnoverify (hd0,2) chainloader +1 来加载ntldr,是如何做到的?

    上面的命令是告诉引导程序去hd0 设备的3号分区的第一个扇区加载操作系统启动程序。前面说过ntldr 并不位于物理第一扇区,为什么还可以加载呢?硬盘除了具有一个主引导记录(MBR)之外,另外在每个分区的头部还有分区引导记录,我想应该是"chainloader +1" 找到分区引导记录,并由分区引导记录找到并加载了ntldr 文件。

  6. 为什么通过rootnoverify (hd0,2) chainloader /ntldr 或者 chainloader (hd0,2)/ntldr加载会失败?

    chainloader 支持直接指定文件名来加载启动程序。但如果ntldr 位于ntfs 格式分区,上述命令会失败,我猜测原因是grub 在文件系统级别不支持读取ntfs 分区,当然也无法读取ntldr。vfat 分区我没有试验。

  7. 在使用grub 时,windows 系统或者ntldr 被安装在扩展分区的逻辑分区,与在主分区有什么不同?

    似乎没有什么不同,在上述情况下grub 引导成功。与上面第2条第2小点有相同的例外,马上讲到。

    例外情况:无论是ntldr 所在分区,还是linux /boot 所在分区,其起始点如果超过硬盘1024扇区(约8.4G),则MBR有可能无法访问到分区上的引导记录,当然也无法加载ntldr 或者linux 内核。要解决这个问题可以在BIOS 中为硬盘指定LBA 模式,grub 新的版本会自动检测LBA是否可用,并正确引导。

    这个网页包含grub 错误号码的详细解释 ,在引导出错时很有参考价值。比如,对于以上例外情况产生的错误,grup 返回错误码 18:

    	18 : Selected cylinder exceeds maximum supported by BIOS
    	This error is returned when a read is attempted at a linear block address beyond the end of the BIOS translated area. This generally happens if your disk is larger than the BIOS can handle (512MB for (E)IDE disks on older machines or larger than 8GB in general). 
    	

  8. grub是否可以跨物理硬盘引导操作系统?

    可以!对于Windows 及Linux 均引导成功。 

延展阅读

Optimize winxp on my thankpad

Refer to the article at link: http://www.flyiky.com/viewthread.php?tid=11753&extra=page%3D1 The steps that have been taken: 1th: 1,...

Refer to the article at link:
http://www.flyiky.com/viewthread.php?tid=11753&extra=page%3D1

The steps that have been taken:

1th: 1, 2, 3, 4(d:, e:), 6, 7
2th: 2, 3, 5(lpt1, com1, modem, floppy controller)
3th: no taken

Below article talks about winxp system services: (I'd like to review this later)
http://www.flyiky.com/viewthread.php?tid=11755&extra=page%3D2

Created a visual disk by RAM as G: R:, size is 256M 128M, for creating it, download the tool RamDisk at:
http://www.greendown.cn/Software.asp?id=530

I attend that my hdd works on UDMA 0 mode, that makes much slow. it's a problem. I'm applying this document on my thinkpad.

http://www.flyiky.com/viewthread.php?tid=3526&fpage=1&highlight=udma  

在Windows XP 中使用Active Directory(活动目录)

Windows XP 默认安装不支持Active Directory(活动目录)管理,需要安装额外的管理工具包adminpak.msi ,有两个版本的可供选择: Windows .NET Server 版 Windows Server 2003 若安装Windows 2003 版本的adminpak.msi ,需要XP...

Windows XP 默认安装不支持Active Directory(活动目录)管理,需要安装额外的管理工具包adminpak.msi ,有两个版本的可供选择:

  • Windows .NET Server 版
  • Windows Server 2003

若安装Windows 2003 版本的adminpak.msi ,需要XP 具有sp1 ,原因在此,或者单独下载这个补丁解决问题。

adminpak.msi 可以在Windows .NET Server 或 Windows Server 2003 安装光盘的 /I386 目录找到,也可以在这里下载Window Server 2003 版本的adminpak.msi ,有关这个版本安装包的详细信息

安装请参考安装指南

注意:以上版本的adminpak.msi 并不适用于Windows 2000

Windows XP 上USB 2.0 不工作故障解决

故障描述电脑为IBM R51 笔记本,安装Windows XP Professional 操作系统,Windows Updates 到SP1 。笔记本电脑本身支持USB 2.0 (High-Speed) 接口,不过插入USB 2.0 (High-Speed) 的移动硬盘,屏幕右下角提示:a high...

故障描述

电脑为IBM R51 笔记本,安装Windows XP Professional 操作系统,Windows Updates 到SP1 。

笔记本电脑本身支持USB 2.0 (High-Speed) 接口,不过插入USB 2.0 (High-Speed) 的移动硬盘,屏幕右下角提示:

a high speed device plugged into a non-high speed Usb hub

故障原因

USB 2.0 (High-Speed) 驱动程序仅包含在XP SP1 更新中,在安装操作系统时并未安装,Windows Updates 虽然升级到了SP1 ,但没有自动更新USB 控制器的驱动程序,因此这个硬件没有得到真正利用。

解决方案

手动更新USB 控制器的驱动程序。进入控制面板,打开设备管理器,选择Universal Serial Bus Controllers 分支,找到如下设备:

Intel(r) 82801DB/DBM USB2 Enhanced Host Controller - 24CD

显示其属性,发现这个设备没有安装任何驱动程序,但没有标记黄色警告,手动为其安装驱动程序,通过如下路径(英文系统):

Driver tab -> Update Driver -> next

Windows 自己会找到驱动程序,并自动安装,安装后设备名称变为:

Intel(r) 82801DB/DBM USB 2.0 Enhanced Host Controller - 24CD

再次插入移动硬盘,一切正常,实测了一下速率,从移动硬盘向笔记本硬盘copy 一个697Mb 的文件,用时35秒,19Mbps,虽然与USB 2.0 的最高速率480Mbps 差得很远,但以前USB 1.1 的实测速率也远远达不到标称的12Mbps,只有2Mbps 左右。相对以前快了近10倍。

参考信息

一些解决问题过程中找到的资源,对于解决由其它原因导致的此类问题会有帮助。

一个同类问题的讨论:Windows USB 2.0 drivers w/out SP2,讨论中有些观点是错误的,不过包含了一些有益链接。

一篇非常有用的文章:How to check USB version

Comment from StealthMullet 
Date: 03/08/2004 09:46AM PST
Comment

Access Device Manager, click the + next to Uinversal Serial Bus 
controllers, if there is USB 2.0 Enhanced Open Host Controller
there then you have USB 2.0.

一条来自微软的支持信息:Universal Serial Bus 2.0 Support in Windows XP,由此可以确认:在XP 中,USB 2.0 (High-Speed) 驱动程序被包含在SP1 更新中,不需要安装SP2 。

一个第三方的USB 2.0 驱动程序,可以用于Win 98 系统和Win 2000 系统:http://www.perfectdrivers.com/howto/usb20drivers.html

这个驱动程序也提供了针对VIA 芯片的XP 版本,不过作者说明,对于XP 用户最好的方法是升级到SP1 ,那里包含了USB 2.0 驱动程序。

The third folder is the USB 2.0 drivers for Windows XP. A better way
to get these drivers for XP is to do the Windows updates. Service Pack
1 (sp1) contains the USB 2.0 drivers for XP.

一则有关USB 2.0 的详细介绍(来自微软):

USB 2.0 Support in Windows XP: High Speed at Last

mail.png


标签订阅|Tag Subscription

If you use an RSS reader, you can subscribe to a feed of all future entries tagged 'winxp'. [What is this?]

Subscribe to feed Subscribe to feed

最近更新|Recent Entries

不定期更新|Handy Entries

其它标签|Other Tags

分类栏目|Categories

按月归档|By Month

2008
11
10
07
05
04
03
02
01
2007
12
10
07
06
05
04
03
02
01
2006
12
11
10
09
08
07
06
05
04
03
02
01
2005
11
10
09
08
07
04
03
2004
12
11
10
09
08
07
06
05
04
03
02
01
2003
12
10
09
08
06
2002
09
08
04
03
02
2001
12
09
07
06
05

站内链接|Site Links

Powered by
Movable Type 3.34