Booting Linux from W2k without LILO or GRUB

Posted on 2003-10-22
Last Modified: 2013-12-15
In the good old days, loadlin used to be a solution on W9x, but W2k does not support neither real-mode apps, nor VCPI, so the I found out loadlin is of no use.

My (extended) problem:
I have several W2k workstations, networked. Ideally, I'd like to start Linux using the ramdisk scheme then mount the needed filesystem pieces via NFS from a server machine. This way I get to run Linux when required without the need to maintain two OS'es on those workstations (the W2k management is in place and works good enough - I do not need another hassle).
If loadlin would have worked, then my plan would have been to start a kernel using loadlin and a ramdisk image for the root FS, then bring up the network and mount the bulk of the FS via NFS. Even swap is not required, since the memory is relatively high and the usage pattern slim (no X, just command line, yes I'm setting up an academic CS lab :) ). In this utopia I would have gotten away with a couple of files deployed to the W2k system (loadlin, kernel, initrd).

Further restrictions, generated by the usage pattern of the machines:
I do not want to use the floppy (actually it's physically disabled). CR-ROM's are out of the question for the same reason.
I would rather not go all the way and install LILO or GRUB (with a full-blown partition resetup), since this would mean I'd have to do it manually on all those workstations. I know that's a working solution but that's exactly what I want to avoid.

I hope something along the following lines is possible:
1. Start the kernel-loading process in a loadlin way, but directly from ntloader, as a new line in boot.ini.
2. Convince W2k to start loadlin such that loadlin is happy (unlikely)
3. Boot some "stub DOS" from boot.ini and use it to immediately run loadlin

Do you have any idea?

Question by:fva
  • 3
  • 3
LVL 12

Expert Comment

ID: 9605004
Will you thinking of the VMWARE? it's not free but you can have the linux with the win2k.
LVL 12

Expert Comment

ID: 9605028
I found this in the internet talking abt loadlin with Win NT and Win2K have a check

Author Comment

ID: 9605169
Thanks for the comments.

1. VMWARE: Well, as you said, it's not free. Next, I'm not looking for a means to run them OS'es concurrently, but merely for a method to clean start Linux on a (already working) W2k box. Once the process of starting Linux is initiated, be it at boot time or after W2k is up, I do not want W2k any more (until next session, of course :) ).

2. URL: The page is merely enumerating some issues on booting. I already found the "bootsect.lnx" method on the Net and I even tried it. It works, but it's not what I want, since it requires a Linux loader to be installed in a separate partition (e.g. LILO, GRUB or equivalent). The bootsector it talks about it's the bootsector placed in the Linux partition by the specific loader, stripped off and copied into the "bootsect.lnx" file with dd. The idea is exactly to avoid the burden of shrinking the W2k partition to install Linux root and swap partitions with the appropriate loader. As I said, I want a minimal Linux to boot, then NFS mount "the bigger guns".

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

LVL 12

Accepted Solution

paullamhkg earned 300 total points
ID: 9605239
Not sure abt this have a check

SYSLINUX is an MS-DOS program very similar to LOADLIN. It is also available from 

Author Comment

ID: 9605726
My workstations do not have PXE ROM's so I would have to hack a little but booting completely off the network might be an idea. I'll look into this and I'll post here the results. Please allow me to check on this before I give more feedback.

Author Comment

ID: 9670522
Hi paullamhkg!

Your idea was valuable, even if in an indirect way.
Based on your link I got to Etherboot and that will be my solution.
Here is the thing I am going to use:
Since I cannot mess neither with the netcard ROM nor with the HDD partitioning scheme, I will do a LILO-like trick within Windows. I wrote a small loader (fits in 512 bytes) that uses an embedded table of offsets and sizes to load an Etherboot ROM image then launch it. This "boot" sector is put in c:\ and referenced from boot.ini. NT will load the "sector" and run it. From there on I have the control and the rest are details.
The ROM image is copied also in C:\ (for manageability issues) and the map of its sectors is extracted by a small C utility I wrote and fed into the "sector" file.
At installation time the utility copies a virgin "sector" image in c:\, then copies a pre-supplied ZDSK file (except the original boot sector) in c:\, then computes the layout of the newly-created ROM file and writes the (offset/size) pairs in the "sector" image. Currently I have to adjust the boot.ini file by hand, but that's easy to solve.
At runtime, NT/W2K starts booting and offers me the new "Linux Etherboot" option. If selected, it loads the "boot sector" I prepared and launches it. This code uses the (offset,size) table to load the Etherboot code, via Extended INT 13. Then it launches it and from there on it's like I had a ROM on the netcard.

It's tested and the scheme works. After I select the proper entry at boot time, the Etherboot code kicks in and it starts doing its DHCP/TFTP magic.
Now all I have to complete is the setup of a root ramdisk image and the associated NFS mounts, but that's already pretty well covered and I hope it won't be that hard.

Thanks for the good idea.


Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Network Interface Card (NIC) bonding, also known as link aggregation, NIC teaming and trunking, is an important concept to understand and implement in any environment where high availability is of concern. Using this feature, a server administrator …
Linux users are sometimes dumbfounded by the severe lack of documentation on a topic. Sometimes, the documentation is copious, but other times, you end up with some obscure "it varies depending on your distribution" over and over when searching for …
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

713 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question