So when you boot from only your hard drive attached, it is the primary and only drive. It loads the master boot record that load the NT Loader boot code that is then configured to load the operating system from the primary partition on the primary drive. When you boot from the USB drive, you make it the Primary drive. You then tell it to load the MBR fromt the secondary drive. The secondary drive then trys to load the NT operating system from the configuration file. That file would probably still say the operating system is on the primary drive's first partition, but this would no longer be true. This is what I understand. On Thu, Apr 4, 2019 at 11:30 AM Lu Wei <luweitest at gmail.com> wrote:> > On 4/4/19, Adan Calderon <adancalderon at gmail.com> wrote: > > Lu Wei, > > > > What Hard drive are you also trying to boot? The first and only fixed > > drive inside a computer? > > If so would the line to boot a local HD not be: > > > > LABEL LOCAL > > MENU LABEL Local operating system in harddrive (if available) > > kernel chain.c32 > > append hd0 > > > > > The hard drive I want to boot is the only fixed drive in the computer, > is NTFS and can boot normally to Windows XP, with native ntldr. Since > the usb-disk is formatted as USB-HDD, when booting from usb, hd0 is > usb-disk itself, and will return to syslinux boot menu; I tried modify > hd0 to hd1 in your line, but same as before. The screen shows: > Booting... > Error loading operating system_ > Then it halts and can only press ctrl-alt-del. > > -- > Regards, > Lu Wei-- http://www.adancalderon.net
On 4/4/19, Adan Calderon <adancalderon at gmail.com> wrote:> So when you boot from only your hard drive attached, it is the primary > and only drive. > It loads the master boot record that load the NT Loader boot code that > is then configured to load the operating system from the primary > partition on the primary drive. > > When you boot from the USB drive, you make it the Primary drive. You > then tell it to load the MBR fromt the secondary drive. The secondary > drive then trys to load the NT operating system from the configuration > file. That file would probably still say the operating system is on > the primary drive's first partition, but this would no longer be true. > > This is what I understand. >I have ntldr on both drive, and ntldr item on the usb-hdd can be loaded by syslinux successfully, showing menu in boot.ini. So I think even if the secondary drive tries to load ntldr on the primary drive, it should success. -- Regards, Lu Wei
On at 2019-04-05 09:06 +0800, Lu Wei via Syslinux wrote:> On 4/4/19, Adan Calderon <adancalderon at gmail.com> wrote: >> So when you boot from only your hard drive attached, it is the primary >> and only drive. >> It loads the master boot record that load the NT Loader boot code that >> is then configured to load the operating system from the primary >> partition on the primary drive. >> >> When you boot from the USB drive, you make it the Primary drive. You >> then tell it to load the MBR fromt the secondary drive. The secondary >> drive then trys to load the NT operating system from the configuration >> file. That file would probably still say the operating system is on >> the primary drive's first partition, but this would no longer be true. >> >> This is what I understand. >> > I have ntldr on both drive, and ntldr item on the usb-hdd can be > loaded by syslinux successfully, showing menu in boot.ini. So I think > even if the secondary drive tries to load ntldr on the primary drive, > it should success.AFAIK, the NTFS and FAT/FAT32 loaders of NTLDR (which reside in the partition boot sectors) hardcode their ROM-BIOS disk unit to 80h (first HDD). And the partitioning and filesystems may differ between unit 80h and unit 81h. Therefore, the unit 81h loader, besides failing to find its own NTLDR (on unit 81h), doesn't find the NTLDR stored on unit 80h either. I also don't know how NTLDR (or BOOTMGR) locate their configuration. It seems that the NTLDR entrypoint does accept a disk unit from the prior loader, but I don't know whether that's actually used to find the boot.ini. Regards, ecm