标 题: 不装NT而使用NT OS Loader的方法
发信站: BBS 水木清华站 (Sat Jun 20 20:02:41 1998)
 
 
  1. 把NT的安装盘中的NTLDR拷贝到C:\下(这假定是原来的Windows 9x, 要求FAT16,
     NT不认FAT32). 然后在Win 9x下进行2(Win 9x的DOS Mode不行, 要不你得Lock
     C:盘,因为要Direct Disk Access)
 
  2. 运行NT安装盘中的winnt:   winnt /b  (floppyless operation, /x大概也差不多)
     它的操作是将C:\的boot record备份成bootsect.dos, 并加了个boot.ini,
     在boot.ini中加了两个entry, 然后把C:\的boot record换成NT的
     (hehe, 要的就是这个了)
 
     要注意的是winnt /b考贝文件时就可以Ctrl+Alt+Del把它干掉了, 不必浪费磁盘
     空间. 而且一定要把NTLDR copy到C:\下, 不然等一下就说NTLDR not found
     启动不了了.
 
  3. 这样就装完NT OS Loader了, 接下来可以然后就可以自己改boot.ini了
     把它attrib -r -h -s 比较方便 :-)
 
      [Boot Loader]
      Timeout=5
      Default=C:\BOOTSECT.DOS
      [Operating Systems]
      C:\BOOTSECT.DOS = "Microsoft Windows 95"
      C:\BOOTSECT.LNX = "Redhat Linux 5.1"
      C:\BOOTSECT.SLK = "Slackware 3.5"
      C:\BOOTSECT.BSD = "FreeBSD 2.2.6"
 
     可以安装自己的需要加入更多 OS的boot record entry
 
   关于怎么把各种OS的分区boot record搞出来前面也提到了, 就是用dd了
   装 OS时把它们的Loader装在分区中(不要装在MBR中)
 
   eg:  dd if=/dev/hda3 of=/mnt/dosc/bootsect.lnx bs=512 count=1
         (假设Linux的 LILO装在/dev/hda3)
 
        dd if=/dev/hda4 of=/mnt/dosc/bootsect.bsd bs=512 count=1
         (FreeBSD在/dev/hda4, 原来有篇mini-HOWTO说NT Os Loader不能直接
          load FreeBSD 2.2.5, 我在FreeBSD 2.2.6下经过验证, 已经可以了,
          不必拿LILO来引导FreeBSD)
 
  多说两句:
 
  1. 关于这种引导方法的好处
 
    NT OS Loader是Microsoft的东西, 在重装Win95/NT等时都会自动识别且不会覆盖,
    不象LILO那样会被误为virus或被无情override.
 
    而且NT OS Loader是装在C:\ 的boot record上的, MBR保持untouched(uninstall
    Linux时不用fdisk /mbr恢复MBR) 当然这种方法需要一个FAT16的分区了, 相信许
    多人的硬盘上还是有个Win9x的吧?  :-))
 
    另外NT Os Loader可以display出 OS Prompt让你用Arrow Keys选择,
    对许多人来说很方便, 加入你的机器上同时还装了NT那这种方法就更适合了
 
  2. 用lilo更新完boot record后要及时dump到bootsect.xxx中去
 
   在Linux下lilo update完boot record后要dd一下, 不然记录的一些sector位置可能
   前后不符, 导致无法启动
 
  hehe, 反正我自己一直都是这样用的, 觉得OS Loader还不错...
 
--
raner
 

本文转自中文Linux论坛