我正在将我的 Small Business Server 2000 移至较新的硬件。我使用 Acronis TrueImage 创建了当前 250GB IDE 驱动器上的分区映像,并将映像还原到 750GB SATA 驱动器上的分区。新主板是 Intel D915GEV。
当我启动系统时,它进行部分运行,然后出现 BSOD:
停止:0x0000007B 无法访问的启动设备
如果我以安全模式启动,我可以看到它正在加载大量驱动程序,并且当它尝试切换到图形启动时会发生 BSOD。这意味着驱动器并非完全无法访问。
我目前认为这是由于我原来的 Server 2000 没有新主板上的 SATA 控制器驱动程序所致。启动过程的早期部分必须由 BIOS 处理,并且只有当 Windows 尝试接管文件访问时才会失败。
我知道您可以在全新安装期间使用 F6 来添加驱动程序,但这似乎对我没什么帮助,因为我不是全新安装的。即便如此,我还是无法找到此主板的 SATA 驱动程序,尽管我在英特尔网站上找到了所有其他驱动程序。似乎没有针对 SATA 控制器的特定驱动程序。
处理这个问题的最佳方法是什么?
我确信我可以随时回到旧硬件,但我真的很想让它在新硬件上运行。硬件非常相似 - 这并不是说我在进行重大硬件升级,它甚至是相同的处理器,而且这个主板与此安装曾经运行的主板非常相似。(旧硬件出现故障,所以我不得不快速移动到新硬件,现在我正试图将其移回英特尔作为保修更换件发送的替换硬件。)
答案1
如果您进入 BIOS 并将 AHCI 移至 ATA(我通常会四处寻找,直到找到它,因为所有 BIOS 都不同),则有可能允许您安装操作系统。此后,您可以从主板的芯片组制造商处寻找驱动程序,以便在加载操作系统后将其改回。希望这能有所帮助,祝你好运。
答案2
这可能是一个不受欢迎的答案,但是......
你正在做的事情可能似乎微不足道,但事实并非如此。磁盘映像软件可以轻松完成操作系统无法轻松处理的事情。微软官方不“支持”在不同品牌或型号的计算机或主板之间移动 Windows 安装(请参阅http://support.microsoft.com/kb/249694)如果你试图以这种方式做这件事,那你不会有轻松的路要走。
如果您要进行的是一项永久性的举措,我真的建议进行全新安装作为辅助域控制器,并将 SBS 从一台机器迁移到另一台机器(这是 Windows Server 2003 的过程,但它不会通过临时计算机进行“摆动”迁移来保留原始服务器计算机的名称:http://technet.microsoft.com/en-us/library/cc747454(WS.10).aspx)。
对机器进行磁盘映像并将其移动到另一个盒子中很诱人,但您并没有做任何事情来帮助提高最终机器的稳定性。
简单来说,“摇摆迁移”如下:
- 建立一个临时的 W2K DC 加入现有域。
- 在临时 DC 上安装 Exchange 2000 并将其加入到 Exchange 组织。
- 将所有邮箱移至临时服务器。复制公用文件夹层次结构并删除原始 Exchange 2000 服务器上的副本。
- 使用 XCOPY 复制原始服务器计算机上的所有共享文件,保留权限。记录现有共享结构(或仅从 HKLM\System\CurrentControlSet\Services\LanManServer\Shares 导出共享)。
- 将 FSMO 角色从现有服务器计算机转移到临时服务器。如果我没记错的话,SBS 将开始每小时出现一次蓝屏,因为它不再是所有 FSMO 角色的角色持有者。
- 将临时服务器计算机变为全局编录服务器并验证全局编录复制是否完成。
- 将现有的服务器计算机降级为成员服务器并将其从域中删除。
- 将临时服务器设为 DNS 服务器。
- 在新服务器上安装 Windows 2000 SBS,将其命名为与旧服务器计算机相同的名称。在安装过程中,防止自动安装 Active Directory,并手动安装 AD(在将新服务器上的 DNS“指向”临时服务器之后)加入现有域。
- 将 FSMO 角色转移到新的服务器计算机并完成 SBS 安装。
- 将所有 Exchange 邮箱移至新服务器。复制公用文件夹层次结构并删除临时服务器上的副本。
- 在临时服务器上退出 Exchange。
- 将所有共享数据从临时服务器复制到新服务器。在新服务器上重新创建共享并验证是否可以访问它们。
- 将临时服务器降级回成员服务器并将其从域中删除。
我遗漏了很多小步骤,说实话,我不记得整个过程是否适用于 SBS 2000。如果我这样做,我会在虚拟机上的实验室中启动 SBS 2000,在其中填充一些虚假用户、邮箱、公共文件夹和数据,然后从上到下执行整个迁移方案两次(一次做笔记和收集数据,第二次作为“试运行”)。
答案3
我找到了。只需添加一个注册表项即可。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi\Parameters
添加 EnableBigLba 作为 DWORD 值并将其设置为 1
如果您有兴趣,这里有更长的解释:
Windows 2000 Server 是在驱动器容量超过 128 GB 之前制造的。因此,默认情况下,它只能使用 128 GB 的驱动器。如果驱动器大于该值,即使启动分区较小,它似乎也无法正确读取分区表。解决方案是在将其放入新驱动器之前添加该注册表项。有一篇关于它的 MSKB 文章这里。
我通过恢复我闲置的旧 40 GB PATA 驱动器上的启动驱动器映像发现了这一点。我在新硬件上启动它并安装了该主板的所有驱动程序。然后我关闭它并连接 SATA 驱动器。当我重新启动具有多个分区的 750 GB SATA 驱动器时,它似乎有一个未格式化的 128 GB 分区。经过一番研究,我发现了 EnableBigLba 注册表项。我设置了该项并重新启动,SATA 驱动器及其所有分区都出现了。我制作了系统驱动器的更新版本的映像,并将映像应用到 SATA 驱动器的主分区上。然后我移除了 PATA 驱动器,系统现在仅使用 SATA 驱动器启动。
现在,我并不是说这是升级小型企业服务器的最佳方式。我相信 Evan 的说法是正确的,服务器迁移是“最佳”方式,但我已经在这方面投入了足够多的时间,而我进行服务器更改的机会窗口即将关闭。
我现在想,既然我有一个驱动器的工作映像,我将尝试就地升级到 SBS 2003。如果出现问题,只需 30 分钟即可回滚到现在的状态。
答案4
如何利用新硬件上的免费 Hyper-V 服务器并将您的 SBS 服务器转换为 VM?您需要一台装有 Vista 和 Hyper-V 管理工具的 PC 来管理 Hyper-V 服务器。
JR